@thinkingai/ae-cli 6.0.18 → 6.0.22
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 +8 -10
- package/README.zh.md +9 -11
- package/dist/{auth-DYC2BGLM.js → auth-I2G7OAU2.js} +2 -4
- package/dist/{auth-GHBMJ5ZR.js → auth-RDN6D5HU.js} +32 -104
- package/dist/{chunk-5OC7CYCG.js → chunk-2W7HULUD.js} +14 -14
- package/dist/chunk-4EUZRJPO.js +163 -0
- package/dist/{chunk-DMMEPCST.js → chunk-5FBLRSMU.js} +25 -115
- package/dist/{chunk-BJX3GXWC.js → chunk-E34XH4GW.js} +2 -2
- package/dist/chunk-FPE5LGVU.js +105 -0
- package/dist/{chunk-I5CRVM2S.js → chunk-H52CSLJW.js} +44 -17
- package/dist/{chunk-RSHMZ3LG.js → chunk-U6QPKCN3.js} +6 -20
- package/dist/{chunk-6W4QOZAL.js → chunk-WPXHCP4A.js} +23 -13
- package/dist/{chunk-PN3OS34E.js → chunk-XE2PI5DS.js} +1 -1
- package/dist/{chunk-2DUEAXV3.js → chunk-YACCPUNQ.js} +1 -1
- package/dist/cli-token-6AGEDJF4.js +14 -0
- package/dist/{client-2UJ63MVQ.js → client-VTJMUZ4O.js} +3 -3
- package/dist/{config-NCUGK6NS.js → config-2SDTLGOC.js} +3 -3
- package/dist/index.js +314 -197
- package/dist/metadata-JZ2OTWBK.js +420 -0
- package/dist/{model-SJSOZTRS.js → model-ZYMRN4VS.js} +2 -2
- package/dist/{raw-7NVWSVJP.js → raw-NGYHAL3F.js} +4 -4
- package/dist/{sync-GRVO4K3U.js → sync-JVLX6TGW.js} +3 -3
- package/dist/{te-agent-KZRIEN4N.js → te-agent-QPZTLHPH.js} +545 -21
- package/dist/{te-analysis-VAR4KUOK.js → te-analysis-WWX3Z6RP.js} +352 -52
- package/dist/te-audience-UXGHUVBB.js +599 -0
- package/dist/{te-common-WNCZB7R7.js → te-common-7XXH73MF.js} +5 -4
- package/dist/{te-community-JEEFXPB3.js → te-community-QKE67HR2.js} +5 -4
- package/dist/te-dataops-6W7NNYST.js +1841 -0
- package/dist/{te-engage-4XHCTS6I.js → te-engage-NCFAQFX3.js} +5 -4
- package/dist/{te-kb-B62KFP2A.js → te-kb-K5BQYUCM.js} +50 -26
- package/dist/{te-meta-EPZGQN56.js → te-meta-LJZBOSMO.js} +48 -24
- package/dist/{te-team-YY24VORI.js → te-team-DHK5R7MV.js} +5 -6
- package/package.json +3 -2
- package/skills/ae-agent/SKILL.md +103 -4
- package/skills/ae-analysis/SKILL.md +75 -21
- package/skills/ae-analysis/references/build_attribution_analysis_qp.md +62 -0
- package/skills/ae-analysis/references/build_cluster_definition.md +62 -0
- package/skills/ae-analysis/references/build_distribution_analysis_qp.md +67 -0
- package/skills/ae-analysis/references/build_event_analysis_qp.md +2 -0
- package/skills/ae-analysis/references/build_funnel_analysis_qp.md +2 -0
- package/skills/ae-analysis/references/build_heat_map_analysis_qp.md +54 -0
- package/skills/ae-analysis/references/build_interval_analysis_qp.md +60 -0
- package/skills/ae-analysis/references/build_path_analysis_qp.md +53 -0
- package/skills/ae-analysis/references/build_prop_analysis_qp.md +2 -0
- package/skills/ae-analysis/references/build_rank_list_analysis_qp.md +63 -0
- package/skills/ae-analysis/references/build_retention_analysis_qp.md +2 -0
- package/skills/ae-analysis/references/build_tag_definition.md +65 -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 +5 -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 +7 -4
- package/skills/ae-analysis/references/list_metrics.md +5 -3
- package/skills/ae-analysis/references/list_properties.md +6 -4
- 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 +4 -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/skills/ae-generate-tracking-code/SKILL.md +68 -31
- package/skills/ae-generate-tracking-code/references/snippet-delivery.md +26 -1
- package/skills/ae-generate-tracking-code/references/te-api.md +47 -164
- package/skills/ae-generate-tracking-plan/SKILL.md +109 -32
- package/skills/ae-generate-tracking-plan/references/te-api.md +57 -27
- package/skills/ae-metadata/SKILL.md +90 -0
- package/skills/ae-metadata/references/metadata_data_table_csv_delete.md +15 -0
- package/skills/ae-metadata/references/metadata_data_table_csv_write.md +29 -0
- package/skills/ae-metadata/references/metadata_data_table_download.md +17 -0
- package/skills/ae-metadata/references/metadata_data_table_get.md +24 -0
- package/skills/ae-metadata/references/metadata_data_table_list.md +27 -0
- package/skills/ae-metadata/references/metadata_data_table_property_bindings_update.md +17 -0
- package/skills/ae-metadata/references/metadata_data_table_sql_delete.md +15 -0
- package/skills/ae-metadata/references/metadata_data_table_sql_write.md +31 -0
- package/skills/ae-metadata/references/metadata_event_get.md +52 -0
- package/skills/ae-metadata/references/metadata_input_file_upload.md +29 -0
- package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +27 -0
- package/skills/ae-metadata/references/metadata_property_dimension_table_create_and_bind_csv.md +30 -0
- package/skills/ae-metadata/references/metadata_property_get.md +54 -0
- package/dist/te-audience-KMKYI2YJ.js +0 -400
- package/dist/te-dataops-GD3XBYCS.js +0 -1830
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# metadata data-table sql-write
|
|
2
|
+
|
|
3
|
+
> Capability id: `metadata.data_table.sql_write` · Domain: `metadata`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli metadata data-table sql-write --project-id <project_id> --operation create --table-name <name> --columns '<columns_json>' --qp '<qp_json>' --strategy overwrite --yes
|
|
9
|
+
ae-cli metadata data-table sql-write --project-id <project_id> --operation update --data-table-id <id> --columns '<columns_json>' --qp '<qp_json>' --yes
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| Parameter | Required | Description |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
17
|
+
| `--operation` | Yes | `create` or `update`. |
|
|
18
|
+
| `--columns` | Yes | Column definitions JSON array. |
|
|
19
|
+
| `--qp` | Yes | SQL data table query plan JSON. |
|
|
20
|
+
| `--data-table-id` | For update | Existing data table ID. |
|
|
21
|
+
| `--table-name` | For create | Technical table name. |
|
|
22
|
+
| `--display-name` | No | Human-readable name. |
|
|
23
|
+
| `--remarks` | No | Table remarks. |
|
|
24
|
+
| `--zone-offset` | No | Time zone offset such as `+08:00`. |
|
|
25
|
+
| `--strategy` | No | `overwrite` or `insert`. |
|
|
26
|
+
| `--update-cron` | No | Scheduled update cron. |
|
|
27
|
+
|
|
28
|
+
## Decision Rules
|
|
29
|
+
|
|
30
|
+
- This is a write command; use `--dry-run` before non-dry-run and pass `--yes` when executing.
|
|
31
|
+
- Keep `columns` and `qp` as valid JSON; do not pass raw SQL unless the server schema requires it inside `qp`.
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# metadata event get (Super-Event Detail)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md) (`ae-metadata` skill).
|
|
4
|
+
>
|
|
5
|
+
> Capability id: `metadata.event.get` · Domain: `metadata` (capability gateway REST, not MCP `analysis_meta`).
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
|
|
9
|
+
- Fetch **one** super-event metadata record by technical name (full detail, not a paginated list).
|
|
10
|
+
- Inspect virtual event definition (`definition.sources`, filters, relation) when `event_kind=virtual_event`.
|
|
11
|
+
- Read-only; requires metadata **view** permission (`VIEW_META`) in the target project.
|
|
12
|
+
|
|
13
|
+
## Commands
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
ae-cli metadata event get --project-id <project_id> --event-name <event_name>
|
|
17
|
+
ae-cli metadata event get -p <project_id> --event-name <event_name> --dry-run
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Parameters
|
|
21
|
+
|
|
22
|
+
| Parameter | Required | Description |
|
|
23
|
+
|-----------|----------|-------------|
|
|
24
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
25
|
+
| `--event-name` | Yes | Super-event technical name. Virtual events use the same field. |
|
|
26
|
+
|
|
27
|
+
Gateway request body uses snake_case `input`:
|
|
28
|
+
|
|
29
|
+
```json
|
|
30
|
+
{
|
|
31
|
+
"project_id": 1,
|
|
32
|
+
"event_name": "purchase"
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Decision Rules
|
|
37
|
+
|
|
38
|
+
- Prefer **`metadata event get`** over `analysis_meta +list_events` when you need **full detail + virtual definition**, not browsing or fuzzy search.
|
|
39
|
+
- Use `ae-analysis` → `analysis_meta +list_events` first when the event name is unknown or you need keyword search / pagination.
|
|
40
|
+
- If the gateway returns `EVENT_NOT_FOUND`, verify `event_name` spelling and `project_id`; do not invent names.
|
|
41
|
+
- Auth: `cli-token` header (ae-cli injects automatically in sandbox; local CLI uses `getCliToken()`).
|
|
42
|
+
|
|
43
|
+
## Recommended Chaining
|
|
44
|
+
|
|
45
|
+
- `ae-analysis`: `analysis_meta +list_events` (discover name) → `metadata event get` (detail)
|
|
46
|
+
- `metadata event get` → `metadata property get` (inspect properties listed in response)
|
|
47
|
+
|
|
48
|
+
## Next Steps After Failure
|
|
49
|
+
|
|
50
|
+
- Empty or not found: confirm project id and exact `event_name` from `+list_events`.
|
|
51
|
+
- Permission error: confirm metadata view permission in the project.
|
|
52
|
+
- Gateway unavailable: confirm nginx routes `/api/cli/metadata/` and backend capability catalog is deployed.
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
# metadata input-file upload
|
|
2
|
+
|
|
3
|
+
> Capability endpoint: `POST /api/cli/metadata/v1/input-files` · Domain: `metadata`.
|
|
4
|
+
|
|
5
|
+
## Use Cases
|
|
6
|
+
|
|
7
|
+
- Upload a local CSV file before `metadata data-table csv-write`.
|
|
8
|
+
- Get an `input_file_id` such as `ifile_<32 lowercase hex>`.
|
|
9
|
+
|
|
10
|
+
## Command
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
ae-cli metadata input-file upload --project-id <project_id> --purpose data_table.csv --file <local_file> --yes
|
|
14
|
+
ae-cli metadata input-file upload --project-id <project_id> --purpose data_table.csv --file <local_file> --dry-run
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
## Parameters
|
|
18
|
+
|
|
19
|
+
| Parameter | Required | Description |
|
|
20
|
+
|---|---|---|
|
|
21
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
22
|
+
| `--purpose` | Yes | Input-file purpose. Use `data_table.csv` for data table CSV imports. |
|
|
23
|
+
| `--file` | Yes | Local file path to upload. |
|
|
24
|
+
|
|
25
|
+
## Decision Rules
|
|
26
|
+
|
|
27
|
+
- Run `--dry-run` first to verify the gateway URL and multipart fields.
|
|
28
|
+
- Use the returned `input_file_id` in CSV data-table write or create-and-bind commands.
|
|
29
|
+
- This is a write command; non-dry-run execution requires `--yes`.
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
# metadata property bind-existing-dimension-table
|
|
2
|
+
|
|
3
|
+
> Capability id: `metadata.property.bind_existing_dimension_table` · Domain: `metadata`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli metadata property bind-existing-dimension-table --project-id <project_id> --property-name <name> --property-scope user --data-table-id <id> --yes
|
|
9
|
+
ae-cli metadata property bind-existing-dimension-table --project-id <project_id> --property-name <name> --property-scope event --data-table-id <id> --dict-columns '["display_name"]' --yes
|
|
10
|
+
```
|
|
11
|
+
|
|
12
|
+
## Parameters
|
|
13
|
+
|
|
14
|
+
| Parameter | Required | Description |
|
|
15
|
+
|---|---|---|
|
|
16
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
17
|
+
| `--property-name` | Yes | Property technical name. |
|
|
18
|
+
| `--property-scope` | Yes | Property owner table, for example `event` or `user`. |
|
|
19
|
+
| `--data-table-id` | Yes | Existing dimension data table ID. |
|
|
20
|
+
| `--timestamp-join-format` | No | Timestamp join format. |
|
|
21
|
+
| `--dict-columns` | No | Dictionary column names JSON array. |
|
|
22
|
+
|
|
23
|
+
## Decision Rules
|
|
24
|
+
|
|
25
|
+
- Confirm the property with `metadata property get` or `analysis_meta +list_properties`.
|
|
26
|
+
- Confirm the data table with `metadata data-table get`.
|
|
27
|
+
- This is a write command; use `--dry-run` before non-dry-run and pass `--yes` when executing.
|
package/skills/ae-metadata/references/metadata_property_dimension_table_create_and_bind_csv.md
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
# metadata property create-and-bind-csv-dimension-table
|
|
2
|
+
|
|
3
|
+
> Capability id: `metadata.property.create_and_bind_csv_dimension_table` · Domain: `metadata`.
|
|
4
|
+
|
|
5
|
+
## Command
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
ae-cli metadata property create-and-bind-csv-dimension-table --project-id <project_id> --property-name <name> --property-scope user --input-file-id <input_file_id> --data-table-name <table_name> --columns '<columns_json>' --yes
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Parameters
|
|
12
|
+
|
|
13
|
+
| Parameter | Required | Description |
|
|
14
|
+
|---|---|---|
|
|
15
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
16
|
+
| `--property-name` | Yes | Property technical name. |
|
|
17
|
+
| `--property-scope` | Yes | Property owner table, for example `event` or `user`. |
|
|
18
|
+
| `--input-file-id` | Yes | ID returned by `metadata input-file upload`. |
|
|
19
|
+
| `--data-table-name` | No | Technical data table name. |
|
|
20
|
+
| `--display-name` | No | Human-readable table name. |
|
|
21
|
+
| `--description` | No | Table description. |
|
|
22
|
+
| `--columns` | No | Column definitions JSON array. |
|
|
23
|
+
| `--timestamp-join-format` | No | Timestamp join format. |
|
|
24
|
+
| `--dict-columns` | No | Dictionary column names JSON array. |
|
|
25
|
+
|
|
26
|
+
## Decision Rules
|
|
27
|
+
|
|
28
|
+
- Upload the CSV first with `metadata input-file upload --purpose data_table.csv`.
|
|
29
|
+
- Use this one-step command when the user wants a new CSV dimension table bound to a property.
|
|
30
|
+
- This is a write command; use `--dry-run` before non-dry-run and pass `--yes` when executing.
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# metadata property get (Super-Property Detail)
|
|
2
|
+
|
|
3
|
+
> **Prerequisite:** Follow the Global AE CLI Rules in [`../SKILL.md`](../SKILL.md) (`ae-metadata` skill).
|
|
4
|
+
>
|
|
5
|
+
> Capability id: `metadata.property.get` · Domain: `metadata` (capability gateway REST, not MCP `analysis_meta`).
|
|
6
|
+
|
|
7
|
+
## Use Cases
|
|
8
|
+
|
|
9
|
+
- Fetch **one** super-property metadata record (event scope or user scope).
|
|
10
|
+
- Inspect virtual property definition (`definition.expression`, `dependencies`).
|
|
11
|
+
- Read-only; requires metadata **view** permission in the target project.
|
|
12
|
+
|
|
13
|
+
## Commands
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
ae-cli metadata property get --project-id <project_id> --property-name <name> --property-scope event
|
|
17
|
+
ae-cli metadata property get --project-id <project_id> --property-name <name> --property-scope user --dry-run
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Parameters
|
|
21
|
+
|
|
22
|
+
| Parameter | Required | Description |
|
|
23
|
+
|-----------|----------|-------------|
|
|
24
|
+
| `--project-id` / `-p` | Yes | Numeric project ID. |
|
|
25
|
+
| `--property-name` | Yes | Super-property technical name. |
|
|
26
|
+
| `--property-scope` | Yes | `event` (super event properties) or `user` (super user properties). |
|
|
27
|
+
|
|
28
|
+
Gateway request body uses snake_case `input`:
|
|
29
|
+
|
|
30
|
+
```json
|
|
31
|
+
{
|
|
32
|
+
"project_id": 1,
|
|
33
|
+
"property_name": "price",
|
|
34
|
+
"property_scope": "event"
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Decision Rules
|
|
39
|
+
|
|
40
|
+
- Prefer **`metadata property get`** over `analysis_meta +list_properties` when you need **full detail + virtual definition**, not browsing or fuzzy search.
|
|
41
|
+
- Use `ae-analysis` → `analysis_meta +list_properties` first when the property name is unknown or you need keyword search / pagination.
|
|
42
|
+
- `property_scope` must be exactly `event` or `user` (backend accepts case-insensitive).
|
|
43
|
+
- Virtual / dict / exchange-rate properties are addressed by `property-name` only; do not pass legacy `prop_name`.
|
|
44
|
+
- Event-scoped names like `#account_id` must be passed literally (quote in shell when `#` is present).
|
|
45
|
+
|
|
46
|
+
## Recommended Chaining
|
|
47
|
+
|
|
48
|
+
- `ae-analysis`: `analysis_meta +list_properties` (discover name + scope) → `metadata property get` (detail)
|
|
49
|
+
- `metadata event get` → `metadata property get` (follow properties from event detail)
|
|
50
|
+
|
|
51
|
+
## Next Steps After Failure
|
|
52
|
+
|
|
53
|
+
- Not found: confirm scope (`event` vs `user`) and exact name from `+list_properties`.
|
|
54
|
+
- Permission error: confirm metadata view permission in the project.
|
|
@@ -1,400 +0,0 @@
|
|
|
1
|
-
import {
|
|
2
|
-
callMcpTool,
|
|
3
|
-
parseMcpResult,
|
|
4
|
-
resolveMcpUrl
|
|
5
|
-
} from "./chunk-DMMEPCST.js";
|
|
6
|
-
import "./chunk-PN3OS34E.js";
|
|
7
|
-
import "./chunk-NOO24N7W.js";
|
|
8
|
-
import "./chunk-RSHMZ3LG.js";
|
|
9
|
-
import "./chunk-6W4QOZAL.js";
|
|
10
|
-
|
|
11
|
-
// src/commands/te-audience/shared.ts
|
|
12
|
-
function createMcpCommand(config) {
|
|
13
|
-
const toolName = config.command.slice(1);
|
|
14
|
-
const mcpService = config.mcpService || "analysis";
|
|
15
|
-
return {
|
|
16
|
-
service: "analysis_audience",
|
|
17
|
-
command: config.command,
|
|
18
|
-
description: config.description,
|
|
19
|
-
flags: config.flags,
|
|
20
|
-
risk: config.risk,
|
|
21
|
-
dryRun: (ctx) => ({
|
|
22
|
-
method: "tools/call",
|
|
23
|
-
url: resolveMcpUrl(ctx.mcpUrl(), ctx.host(), mcpService),
|
|
24
|
-
body: {
|
|
25
|
-
name: toolName,
|
|
26
|
-
arguments: config.buildArgs(ctx)
|
|
27
|
-
}
|
|
28
|
-
}),
|
|
29
|
-
execute: async (ctx) => {
|
|
30
|
-
const url = resolveMcpUrl(ctx.mcpUrl(), ctx.host(), mcpService);
|
|
31
|
-
const result = await callMcpTool(url, toolName, config.buildArgs(ctx), ctx.host());
|
|
32
|
-
return parseMcpResult(result);
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
function optionalString(ctx, name) {
|
|
37
|
-
const value = ctx.str(name);
|
|
38
|
-
return value === "" ? void 0 : value;
|
|
39
|
-
}
|
|
40
|
-
function optionalNumber(ctx, name) {
|
|
41
|
-
const value = ctx.str(name);
|
|
42
|
-
return value === "" ? void 0 : Number(value);
|
|
43
|
-
}
|
|
44
|
-
function optionalBoolean(ctx, name) {
|
|
45
|
-
const value = ctx.str(name);
|
|
46
|
-
return value === "" ? void 0 : ctx.bool(name);
|
|
47
|
-
}
|
|
48
|
-
function optionalJson(ctx, name) {
|
|
49
|
-
const value = ctx.str(name);
|
|
50
|
-
return value === "" ? void 0 : ctx.json(name);
|
|
51
|
-
}
|
|
52
|
-
function optionalJsonString(ctx, name) {
|
|
53
|
-
const value = optionalJson(ctx, name);
|
|
54
|
-
return value === void 0 ? void 0 : JSON.stringify(value);
|
|
55
|
-
}
|
|
56
|
-
function requiredJsonString(ctx, name) {
|
|
57
|
-
return JSON.stringify(ctx.json(name));
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// src/commands/te-audience/cluster/list-clusters.ts
|
|
61
|
-
var listClusters = createMcpCommand({
|
|
62
|
-
command: "+list_clusters",
|
|
63
|
-
description: "List user cohort/segment cluster metadata with optional query/fields/limit/offset.",
|
|
64
|
-
flags: [
|
|
65
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
66
|
-
{ name: "query", type: "string", required: false, desc: "Keyword filter", alias: "q" },
|
|
67
|
-
{ name: "fields", type: "json", required: false, desc: "Optional return field list JSON array" },
|
|
68
|
-
{ name: "limit", type: "number", required: false, desc: "Optional page size, default 20, max 10000" },
|
|
69
|
-
{ name: "offset", type: "number", required: false, desc: "Optional page offset, default 0" }
|
|
70
|
-
],
|
|
71
|
-
risk: "read",
|
|
72
|
-
buildArgs: (ctx) => ({
|
|
73
|
-
projectId: ctx.num("project_id"),
|
|
74
|
-
query: optionalString(ctx, "query"),
|
|
75
|
-
fields: optionalJson(ctx, "fields"),
|
|
76
|
-
limit: optionalNumber(ctx, "limit"),
|
|
77
|
-
offset: optionalNumber(ctx, "offset")
|
|
78
|
-
})
|
|
79
|
-
});
|
|
80
|
-
|
|
81
|
-
// src/commands/te-audience/cluster/get-clusters-by-name.ts
|
|
82
|
-
var getClustersByName = createMcpCommand({
|
|
83
|
-
command: "+get_clusters_by_name",
|
|
84
|
-
description: "Get cluster definition details in batch by cluster names",
|
|
85
|
-
flags: [
|
|
86
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
87
|
-
{ name: "names", type: "json", required: true, desc: 'Cluster name list JSON array, e.g. ["cluster_a","cluster_b"]' }
|
|
88
|
-
],
|
|
89
|
-
risk: "read",
|
|
90
|
-
buildArgs: (ctx) => ({
|
|
91
|
-
projectId: ctx.num("project_id"),
|
|
92
|
-
names: ctx.json("names")
|
|
93
|
-
})
|
|
94
|
-
});
|
|
95
|
-
|
|
96
|
-
// src/commands/te-audience/cluster/list-cluster-members.ts
|
|
97
|
-
var listClusterMembers = createMcpCommand({
|
|
98
|
-
command: "+list_cluster_members",
|
|
99
|
-
description: "List members in the specified cluster with optional query/fields/limit/offset. For long-running or cancelable queries, provide requestId before starting. For any query that may exceed the CLI or MCP HTTP timeout, preset requestId so you can call +cancel_query --request_id <same value> if you stop waiting or the request returns fetch failed. If fetch failed, HTTP timeout, or caller timeout happens, the backend query may still be running. If provided, requestId must use mcp_<32 lowercase hex UUID>, for example mcp_0123456789abcdef0123456789abcdef. Submitted queries return metadata.requestId; pass that value to cancel_query(requestId) when the query is no longer needed. The auto-generated requestId is not available when the HTTP request fails before a response, so preset requestId is required for proactive cleanup.",
|
|
100
|
-
flags: [
|
|
101
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
102
|
-
{ name: "cluster_name", type: "string", required: true, desc: "Cluster name" },
|
|
103
|
-
{ name: "property_names", type: "json", required: false, desc: "Optional user property name list JSON array" },
|
|
104
|
-
{ name: "use_cache", type: "boolean", required: false, desc: "Whether to use cache, default true" },
|
|
105
|
-
{ name: "query", type: "string", required: false, desc: "Optional keyword filter on #user_id and selected properties" },
|
|
106
|
-
{ name: "fields", type: "json", required: false, desc: "Optional return field list JSON array" },
|
|
107
|
-
{ name: "limit", type: "number", required: false, desc: "Optional page size, default 20, max 10000" },
|
|
108
|
-
{ name: "offset", type: "number", required: false, desc: "Optional page offset, default 0" },
|
|
109
|
-
{ name: "request_id", type: "string", required: false, desc: "Optional unique request ID used for tracking and cancellation. If provided, it must use mcp_<32 lowercase hex UUID>, for example mcp_0123456789abcdef0123456789abcdef. For long-running or cancelable queries, provide this before starting the query so it can be cancelled later with +cancel_query --request_id <same value>, even if the caller stops waiting before the tool returns. If fetch failed, HTTP timeout, or caller timeout happens, the backend query may still be running. The auto-generated requestId is not available when the HTTP request fails before a response, so preset requestId is required for proactive cleanup. Generated automatically if omitted. The response metadata.requestId can also be passed to cancel_query when the query is no longer needed." },
|
|
110
|
-
{ name: "timeout_minutes", type: "number", required: false, desc: "Query timeout in minutes. If omitted, 30 minutes is used." }
|
|
111
|
-
],
|
|
112
|
-
risk: "read",
|
|
113
|
-
buildArgs: (ctx) => ({
|
|
114
|
-
projectId: ctx.num("project_id"),
|
|
115
|
-
clusterName: ctx.str("cluster_name"),
|
|
116
|
-
propertyNames: optionalJson(ctx, "property_names"),
|
|
117
|
-
useCache: optionalBoolean(ctx, "use_cache"),
|
|
118
|
-
query: optionalString(ctx, "query"),
|
|
119
|
-
fields: optionalJson(ctx, "fields"),
|
|
120
|
-
limit: optionalNumber(ctx, "limit"),
|
|
121
|
-
offset: optionalNumber(ctx, "offset"),
|
|
122
|
-
requestId: optionalString(ctx, "request_id"),
|
|
123
|
-
timeoutMinutes: optionalNumber(ctx, "timeout_minutes")
|
|
124
|
-
})
|
|
125
|
-
});
|
|
126
|
-
|
|
127
|
-
// src/commands/te-audience/cluster/create-cluster.ts
|
|
128
|
-
var createCluster = createMcpCommand({
|
|
129
|
-
command: "+create_cluster",
|
|
130
|
-
description: "Create a user cluster definition",
|
|
131
|
-
flags: [
|
|
132
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
133
|
-
{ name: "cluster_name", type: "string", required: true, desc: "Cluster name. Must start with a letter and contain only letters, digits, and underscores. Length: 1-80" },
|
|
134
|
-
{ name: "display_name", type: "string", required: true, desc: "Cluster display name. Length: 1-80" },
|
|
135
|
-
{ name: "type", type: "string", required: false, desc: "Cluster type: condition/sql. Default: condition" },
|
|
136
|
-
{ name: "definition", type: "json", required: true, desc: "Cluster definition JSON. See +get_cluster_definition_schema" },
|
|
137
|
-
{ name: "zone_offset", type: "number", required: false, desc: "Optional time zone offset, valid range: -12 to 14" },
|
|
138
|
-
{ name: "entity_id", type: "number", required: false, desc: "Optional entity ID. Use analysis_meta +list_entities to query" }
|
|
139
|
-
],
|
|
140
|
-
risk: "write",
|
|
141
|
-
buildArgs: (ctx) => ({
|
|
142
|
-
projectId: ctx.num("project_id"),
|
|
143
|
-
clusterName: ctx.str("cluster_name"),
|
|
144
|
-
displayName: ctx.str("display_name"),
|
|
145
|
-
type: optionalString(ctx, "type"),
|
|
146
|
-
definition: requiredJsonString(ctx, "definition"),
|
|
147
|
-
zoneOffset: optionalNumber(ctx, "zone_offset"),
|
|
148
|
-
entityId: optionalNumber(ctx, "entity_id")
|
|
149
|
-
})
|
|
150
|
-
});
|
|
151
|
-
|
|
152
|
-
// src/commands/te-audience/cluster/update-cluster.ts
|
|
153
|
-
var updateCluster = createMcpCommand({
|
|
154
|
-
command: "+update_cluster",
|
|
155
|
-
description: "Update a user cluster definition",
|
|
156
|
-
flags: [
|
|
157
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
158
|
-
{ name: "cluster_name", type: "string", required: true, desc: "Cluster name" },
|
|
159
|
-
{ name: "display_name", type: "string", required: false, desc: "New cluster display name. Length: 1-80" },
|
|
160
|
-
{ name: "remark", type: "string", required: false, desc: "New cluster remark" },
|
|
161
|
-
{ name: "type", type: "string", required: false, desc: "New cluster type: condition/sql. Recommended when updating definition" },
|
|
162
|
-
{ name: "definition", type: "json", required: false, desc: "New cluster definition JSON. See +get_cluster_definition_schema" },
|
|
163
|
-
{ name: "zone_offset", type: "number", required: false, desc: "Optional time zone offset, valid range: -12 to 14" }
|
|
164
|
-
],
|
|
165
|
-
risk: "write",
|
|
166
|
-
buildArgs: (ctx) => ({
|
|
167
|
-
projectId: ctx.num("project_id"),
|
|
168
|
-
clusterName: ctx.str("cluster_name"),
|
|
169
|
-
displayName: optionalString(ctx, "display_name"),
|
|
170
|
-
remark: optionalString(ctx, "remark"),
|
|
171
|
-
type: optionalString(ctx, "type"),
|
|
172
|
-
definition: optionalJsonString(ctx, "definition"),
|
|
173
|
-
zoneOffset: optionalNumber(ctx, "zone_offset")
|
|
174
|
-
})
|
|
175
|
-
});
|
|
176
|
-
|
|
177
|
-
// src/commands/te-audience/cluster/refresh-cluster.ts
|
|
178
|
-
var refreshCluster = createMcpCommand({
|
|
179
|
-
command: "+refresh_cluster",
|
|
180
|
-
description: "Trigger cluster recomputation asynchronously",
|
|
181
|
-
flags: [
|
|
182
|
-
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
183
|
-
{ name: "cluster_name", type: "string", required: true, desc: "Cluster name" }
|
|
184
|
-
],
|
|
185
|
-
risk: "write",
|
|
186
|
-
mcpService: "te_analysis_extend",
|
|
187
|
-
buildArgs: (ctx) => ({
|
|
188
|
-
projectId: ctx.num("project_id"),
|
|
189
|
-
clusterName: ctx.str("cluster_name")
|
|
190
|
-
})
|
|
191
|
-
});
|
|
192
|
-
|
|
193
|
-
// src/commands/te-audience/cluster/index.ts
|
|
194
|
-
var commands = [
|
|
195
|
-
listClusters,
|
|
196
|
-
getClustersByName,
|
|
197
|
-
listClusterMembers,
|
|
198
|
-
createCluster,
|
|
199
|
-
updateCluster,
|
|
200
|
-
refreshCluster
|
|
201
|
-
];
|
|
202
|
-
var cluster_default = commands;
|
|
203
|
-
|
|
204
|
-
// src/commands/te-audience/tag/list-tags.ts
|
|
205
|
-
var listTags = createMcpCommand({
|
|
206
|
-
command: "+list_tags",
|
|
207
|
-
description: "List tag metadata with optional query/fields/limit/offset",
|
|
208
|
-
flags: [
|
|
209
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
210
|
-
{ name: "query", type: "string", required: false, desc: "Keyword filter", alias: "q" },
|
|
211
|
-
{ name: "fields", type: "json", required: false, desc: "Optional return field list JSON array" },
|
|
212
|
-
{ name: "limit", type: "number", required: false, desc: "Optional page size, default 20, max 10000" },
|
|
213
|
-
{ name: "offset", type: "number", required: false, desc: "Optional page offset, default 0" }
|
|
214
|
-
],
|
|
215
|
-
risk: "read",
|
|
216
|
-
buildArgs: (ctx) => ({
|
|
217
|
-
projectId: ctx.num("project_id"),
|
|
218
|
-
query: optionalString(ctx, "query"),
|
|
219
|
-
fields: optionalJson(ctx, "fields"),
|
|
220
|
-
limit: optionalNumber(ctx, "limit"),
|
|
221
|
-
offset: optionalNumber(ctx, "offset")
|
|
222
|
-
})
|
|
223
|
-
});
|
|
224
|
-
|
|
225
|
-
// src/commands/te-audience/tag/get-tags-by-name.ts
|
|
226
|
-
var getTagsByName = createMcpCommand({
|
|
227
|
-
command: "+get_tags_by_name",
|
|
228
|
-
description: "Get tag definition details in batch by tag names",
|
|
229
|
-
flags: [
|
|
230
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
231
|
-
{ name: "names", type: "json", required: true, desc: 'Tag name list JSON array, e.g. ["tag_a","tag_b"]' }
|
|
232
|
-
],
|
|
233
|
-
risk: "read",
|
|
234
|
-
buildArgs: (ctx) => ({
|
|
235
|
-
projectId: ctx.num("project_id"),
|
|
236
|
-
names: ctx.json("names")
|
|
237
|
-
})
|
|
238
|
-
});
|
|
239
|
-
|
|
240
|
-
// src/commands/te-audience/tag/list-tag-members.ts
|
|
241
|
-
var listTagMembers = createMcpCommand({
|
|
242
|
-
command: "+list_tag_members",
|
|
243
|
-
description: "List members in the specified tag with optional query/fields/limit/offset. For long-running or cancelable queries, provide requestId before starting. For any query that may exceed the CLI or MCP HTTP timeout, preset requestId so you can call +cancel_query --request_id <same value> if you stop waiting or the request returns fetch failed. If fetch failed, HTTP timeout, or caller timeout happens, the backend query may still be running. If provided, requestId must use mcp_<32 lowercase hex UUID>, for example mcp_0123456789abcdef0123456789abcdef. Submitted queries return metadata.requestId; pass that value to cancel_query(requestId) when the query is no longer needed. The auto-generated requestId is not available when the HTTP request fails before a response, so preset requestId is required for proactive cleanup.",
|
|
244
|
-
flags: [
|
|
245
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
246
|
-
{ name: "tag_name", type: "string", required: true, desc: "Tag name" },
|
|
247
|
-
{ name: "snapshot_date", type: "string", required: false, desc: "Optional tag snapshot date, format YYYY-MM-DD" },
|
|
248
|
-
{ name: "property_names", type: "json", required: false, desc: "Optional user property name list JSON array" },
|
|
249
|
-
{ name: "use_cache", type: "boolean", required: false, desc: "Whether to use cache, default true" },
|
|
250
|
-
{ name: "query", type: "string", required: false, desc: "Optional keyword filter on #user_id and selected properties" },
|
|
251
|
-
{ name: "fields", type: "json", required: false, desc: "Optional return field list JSON array" },
|
|
252
|
-
{ name: "limit", type: "number", required: false, desc: "Optional page size, default 20, max 10000" },
|
|
253
|
-
{ name: "offset", type: "number", required: false, desc: "Optional page offset, default 0" },
|
|
254
|
-
{ name: "request_id", type: "string", required: false, desc: "Optional unique request ID used for tracking and cancellation. If provided, it must use mcp_<32 lowercase hex UUID>, for example mcp_0123456789abcdef0123456789abcdef. For long-running or cancelable queries, provide this before starting the query so it can be cancelled later with +cancel_query --request_id <same value>, even if the caller stops waiting before the tool returns. If fetch failed, HTTP timeout, or caller timeout happens, the backend query may still be running. The auto-generated requestId is not available when the HTTP request fails before a response, so preset requestId is required for proactive cleanup. Generated automatically if omitted. The response metadata.requestId can also be passed to cancel_query when the query is no longer needed." },
|
|
255
|
-
{ name: "timeout_minutes", type: "number", required: false, desc: "Query timeout in minutes. If omitted, 30 minutes is used." }
|
|
256
|
-
],
|
|
257
|
-
risk: "read",
|
|
258
|
-
buildArgs: (ctx) => ({
|
|
259
|
-
projectId: ctx.num("project_id"),
|
|
260
|
-
tagName: ctx.str("tag_name"),
|
|
261
|
-
snapshotDate: optionalString(ctx, "snapshot_date"),
|
|
262
|
-
propertyNames: optionalJson(ctx, "property_names"),
|
|
263
|
-
useCache: optionalBoolean(ctx, "use_cache"),
|
|
264
|
-
query: optionalString(ctx, "query"),
|
|
265
|
-
fields: optionalJson(ctx, "fields"),
|
|
266
|
-
limit: optionalNumber(ctx, "limit"),
|
|
267
|
-
offset: optionalNumber(ctx, "offset"),
|
|
268
|
-
requestId: optionalString(ctx, "request_id"),
|
|
269
|
-
timeoutMinutes: optionalNumber(ctx, "timeout_minutes")
|
|
270
|
-
})
|
|
271
|
-
});
|
|
272
|
-
|
|
273
|
-
// src/commands/te-audience/tag/create-tag.ts
|
|
274
|
-
var createTag = createMcpCommand({
|
|
275
|
-
command: "+create_tag",
|
|
276
|
-
description: "Create a user tag definition",
|
|
277
|
-
flags: [
|
|
278
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
279
|
-
{ name: "tag_name", type: "string", required: true, desc: "Tag name. Must start with a letter and contain only letters, digits, and underscores. Length: 1-80" },
|
|
280
|
-
{ name: "display_name", type: "string", required: true, desc: "Tag display name. Length: 1-80" },
|
|
281
|
-
{ name: "type", type: "string", required: false, desc: "Tag type: condition/metric/first_last/sql. Default: condition" },
|
|
282
|
-
{ name: "definition", type: "json", required: true, desc: "Tag definition JSON. See +get_tag_definition_schema" },
|
|
283
|
-
{ name: "zone_offset", type: "number", required: false, desc: "Optional time zone offset, valid range: -12 to 14" },
|
|
284
|
-
{ name: "entity_id", type: "number", required: false, desc: "Optional entity ID. Use analysis_meta +list_entities to query" }
|
|
285
|
-
],
|
|
286
|
-
risk: "write",
|
|
287
|
-
buildArgs: (ctx) => ({
|
|
288
|
-
projectId: ctx.num("project_id"),
|
|
289
|
-
tagName: ctx.str("tag_name"),
|
|
290
|
-
displayName: ctx.str("display_name"),
|
|
291
|
-
type: optionalString(ctx, "type"),
|
|
292
|
-
definition: requiredJsonString(ctx, "definition"),
|
|
293
|
-
zoneOffset: optionalNumber(ctx, "zone_offset"),
|
|
294
|
-
entityId: optionalNumber(ctx, "entity_id")
|
|
295
|
-
})
|
|
296
|
-
});
|
|
297
|
-
|
|
298
|
-
// src/commands/te-audience/tag/update-tag.ts
|
|
299
|
-
var updateTag = createMcpCommand({
|
|
300
|
-
command: "+update_tag",
|
|
301
|
-
description: "Update a user tag definition",
|
|
302
|
-
flags: [
|
|
303
|
-
{ name: "project_id", type: "number", required: true, desc: "Project ID", alias: "p" },
|
|
304
|
-
{ name: "tag_name", type: "string", required: true, desc: "Tag name" },
|
|
305
|
-
{ name: "display_name", type: "string", required: false, desc: "New tag display name. Length: 1-80" },
|
|
306
|
-
{ name: "remark", type: "string", required: false, desc: "New tag remark" },
|
|
307
|
-
{ name: "type", type: "string", required: false, desc: "New tag type: condition/metric/first_last/sql" },
|
|
308
|
-
{ name: "definition", type: "json", required: false, desc: "New tag definition JSON. See +get_tag_definition_schema" },
|
|
309
|
-
{ name: "zone_offset", type: "number", required: false, desc: "Optional time zone offset, valid range: -12 to 14" }
|
|
310
|
-
],
|
|
311
|
-
risk: "write",
|
|
312
|
-
buildArgs: (ctx) => ({
|
|
313
|
-
projectId: ctx.num("project_id"),
|
|
314
|
-
tagName: ctx.str("tag_name"),
|
|
315
|
-
displayName: optionalString(ctx, "display_name"),
|
|
316
|
-
remark: optionalString(ctx, "remark"),
|
|
317
|
-
type: optionalString(ctx, "type"),
|
|
318
|
-
definition: optionalJsonString(ctx, "definition"),
|
|
319
|
-
zoneOffset: optionalNumber(ctx, "zone_offset")
|
|
320
|
-
})
|
|
321
|
-
});
|
|
322
|
-
|
|
323
|
-
// src/commands/te-audience/tag/refresh-tag.ts
|
|
324
|
-
var refreshTag = createMcpCommand({
|
|
325
|
-
command: "+refresh_tag",
|
|
326
|
-
description: "Trigger tag recomputation asynchronously",
|
|
327
|
-
flags: [
|
|
328
|
-
{ name: "project_id", type: "number", required: true, alias: "p", desc: "Project ID" },
|
|
329
|
-
{ name: "tag_name", type: "string", required: true, desc: "Tag name" }
|
|
330
|
-
],
|
|
331
|
-
risk: "write",
|
|
332
|
-
mcpService: "te_analysis_extend",
|
|
333
|
-
buildArgs: (ctx) => ({
|
|
334
|
-
projectId: ctx.num("project_id"),
|
|
335
|
-
tagName: ctx.str("tag_name")
|
|
336
|
-
})
|
|
337
|
-
});
|
|
338
|
-
|
|
339
|
-
// src/commands/te-audience/tag/index.ts
|
|
340
|
-
var commands2 = [
|
|
341
|
-
listTags,
|
|
342
|
-
getTagsByName,
|
|
343
|
-
listTagMembers,
|
|
344
|
-
createTag,
|
|
345
|
-
updateTag,
|
|
346
|
-
refreshTag
|
|
347
|
-
];
|
|
348
|
-
var tag_default = commands2;
|
|
349
|
-
|
|
350
|
-
// src/commands/te-audience/schema/get-cluster-definition-schema.ts
|
|
351
|
-
var getClusterDefinitionSchema = createMcpCommand({
|
|
352
|
-
command: "+get_cluster_definition_schema",
|
|
353
|
-
description: "Get the cluster definition schema by type and optional response mode",
|
|
354
|
-
flags: [
|
|
355
|
-
{ name: "cluster_type", type: "string", required: true, desc: "Cluster type: condition/sql" },
|
|
356
|
-
{ name: "response_mode", type: "string", required: false, desc: "Optional response mode: base/examples/full" },
|
|
357
|
-
{ name: "condition_subtype", type: "string", required: false, desc: "Optional subtype when cluster_type=condition: core/behavior_seq/all" }
|
|
358
|
-
],
|
|
359
|
-
risk: "read",
|
|
360
|
-
buildArgs: (ctx) => ({
|
|
361
|
-
clusterType: ctx.str("cluster_type"),
|
|
362
|
-
responseMode: optionalString(ctx, "response_mode"),
|
|
363
|
-
conditionSubtype: optionalString(ctx, "condition_subtype")
|
|
364
|
-
})
|
|
365
|
-
});
|
|
366
|
-
|
|
367
|
-
// src/commands/te-audience/schema/get-tag-definition-schema.ts
|
|
368
|
-
var getTagDefinitionSchema = createMcpCommand({
|
|
369
|
-
command: "+get_tag_definition_schema",
|
|
370
|
-
description: "Get the tag definition schema by type and optional response mode",
|
|
371
|
-
flags: [
|
|
372
|
-
{ name: "type", type: "string", required: true, desc: "Tag type: condition/metric/first_last/sql" },
|
|
373
|
-
{ name: "response_mode", type: "string", required: false, desc: "Optional response mode: base/examples/full" },
|
|
374
|
-
{ name: "condition_subtype", type: "string", required: false, desc: "Optional subtype when type=condition: core/behavior_seq/all" }
|
|
375
|
-
],
|
|
376
|
-
risk: "read",
|
|
377
|
-
buildArgs: (ctx) => ({
|
|
378
|
-
type: ctx.str("type"),
|
|
379
|
-
responseMode: optionalString(ctx, "response_mode"),
|
|
380
|
-
conditionSubtype: optionalString(ctx, "condition_subtype")
|
|
381
|
-
})
|
|
382
|
-
});
|
|
383
|
-
|
|
384
|
-
// src/commands/te-audience/schema/index.ts
|
|
385
|
-
var commands3 = [
|
|
386
|
-
getClusterDefinitionSchema,
|
|
387
|
-
getTagDefinitionSchema
|
|
388
|
-
];
|
|
389
|
-
var schema_default = commands3;
|
|
390
|
-
|
|
391
|
-
// src/commands/te-audience/index.ts
|
|
392
|
-
var commands4 = [
|
|
393
|
-
...cluster_default,
|
|
394
|
-
...tag_default,
|
|
395
|
-
...schema_default
|
|
396
|
-
];
|
|
397
|
-
var te_audience_default = commands4;
|
|
398
|
-
export {
|
|
399
|
-
te_audience_default as default
|
|
400
|
-
};
|