@thinkingai/ae-cli 6.0.28 → 6.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (100) hide show
  1. package/dist/capability-KVA55RMK.js +227 -0
  2. package/dist/capability-LKHLZQPD.js +227 -0
  3. package/dist/chunk-CWZUGF2J.js +26 -0
  4. package/dist/{chunk-YNQFYBDB.js → chunk-OJR23CIK.js} +12 -0
  5. package/dist/chunk-OO6XR6LK.js +26 -0
  6. package/dist/{chunk-C4DH76LX.js → chunk-P2JRP6HJ.js} +4 -21
  7. package/dist/{chunk-LG5YT7P7.js → chunk-S5XN6KEX.js} +4 -21
  8. package/dist/{chunk-BXMXMUD7.js → chunk-THBBNYXI.js} +12 -0
  9. package/dist/index.js +22 -11
  10. package/dist/{metadata-IPSPQBX3.js → metadata-6CCFV4K5.js} +11 -8
  11. package/dist/{metadata-N5REJ7R7.js → metadata-PDOIWH5O.js} +11 -8
  12. package/dist/{te-agent-QLIVKRUN.js → te-agent-FAIBM3SA.js} +5 -5
  13. package/dist/{te-analysis-5WZKVFHI.js → te-analysis-DDXGM7WM.js} +173 -260
  14. package/dist/{te-analysis-KAEZXLNS.js → te-analysis-HCDNYI7E.js} +173 -260
  15. package/dist/{te-audience-XMRMVD2V.js → te-audience-ECFS4GF4.js} +11 -10
  16. package/dist/{te-audience-PVMKQAFH.js → te-audience-WO377T2J.js} +11 -10
  17. package/dist/{te-engage-AGREUOW7.js → te-engage-545HJL6J.js} +4 -4
  18. package/dist/{te-engage-MIIUKY6M.js → te-engage-M7JQSJDP.js} +4 -4
  19. package/dist/{te-kb-KQJ53M3A.js → te-kb-NT33UHAE.js} +1 -1
  20. package/dist/{te-meta-QLANJ4B4.js → te-meta-FADFLTDM.js} +3 -3
  21. package/dist/{te-meta-TOA6FWDE.js → te-meta-PKT27OTN.js} +3 -3
  22. package/dist/{te-team-TQGMNHQQ.js → te-team-RG75PR5D.js} +1 -1
  23. package/package.json +2 -1
  24. package/skills/ae-agent/SKILL.md +4 -3
  25. package/skills/ae-analysis/SKILL.md +35 -16
  26. package/skills/ae-analysis/references/analysis_gateway_assets.md +42 -9
  27. package/skills/ae-analysis/references/asset_abnormal_get.md +3 -3
  28. package/skills/ae-analysis/references/asset_abnormal_list.md +3 -3
  29. package/skills/ae-analysis/references/asset_authentication_list.md +3 -3
  30. package/skills/ae-analysis/references/asset_authentication_update.md +3 -3
  31. package/skills/ae-analysis/references/asset_recent_list.md +3 -3
  32. package/skills/ae-analysis/references/asset_search.md +3 -3
  33. package/skills/ae-analysis/references/build_event_analysis_qp.md +1 -1
  34. package/skills/ae-analysis/references/build_funnel_analysis_qp.md +1 -1
  35. package/skills/ae-analysis/references/build_prop_analysis_qp.md +1 -1
  36. package/skills/ae-analysis/references/build_retention_analysis_qp.md +1 -1
  37. package/skills/ae-analysis/references/cancel_query.md +1 -1
  38. package/skills/ae-analysis/references/datatable_columns_get.md +3 -3
  39. package/skills/ae-analysis/references/datatable_influence_list.md +3 -3
  40. package/skills/ae-analysis/references/datatable_version_get.md +3 -3
  41. package/skills/ae-analysis/references/datatable_version_list.md +3 -3
  42. package/skills/ae-analysis/references/drilldown_user_events.md +4 -4
  43. package/skills/ae-analysis/references/event_changelog_list.md +3 -3
  44. package/skills/ae-analysis/references/event_create.md +3 -3
  45. package/skills/ae-analysis/references/event_delete.md +3 -3
  46. package/skills/ae-analysis/references/event_get.md +3 -3
  47. package/skills/ae-analysis/references/event_hide_update.md +3 -3
  48. package/skills/ae-analysis/references/event_influence_list.md +3 -3
  49. package/skills/ae-analysis/references/event_list.md +3 -3
  50. package/skills/ae-analysis/references/event_relation_update.md +3 -3
  51. package/skills/ae-analysis/references/event_update.md +3 -3
  52. package/skills/ae-analysis/references/exchange_config_update.md +3 -3
  53. package/skills/ae-analysis/references/exchange_rate_refresh.md +3 -3
  54. package/skills/ae-analysis/references/exchange_rule_list.md +3 -3
  55. package/skills/ae-analysis/references/exchange_rule_update.md +3 -3
  56. package/skills/ae-analysis/references/exchange_rule_validate.md +3 -3
  57. package/skills/ae-analysis/references/folder_create.md +18 -6
  58. package/skills/ae-analysis/references/folder_delete.md +21 -6
  59. package/skills/ae-analysis/references/folder_share.md +16 -6
  60. package/skills/ae-analysis/references/get_analysis_query_schema.md +17 -18
  61. package/skills/ae-analysis/references/get_report_definition.md +1 -1
  62. package/skills/ae-analysis/references/list_events.md +1 -1
  63. package/skills/ae-analysis/references/list_metrics.md +1 -1
  64. package/skills/ae-analysis/references/list_properties.md +1 -1
  65. package/skills/ae-analysis/references/metric_create.md +3 -3
  66. package/skills/ae-analysis/references/metric_delete.md +3 -3
  67. package/skills/ae-analysis/references/metric_get.md +3 -3
  68. package/skills/ae-analysis/references/metric_list.md +3 -3
  69. package/skills/ae-analysis/references/metric_update.md +3 -3
  70. package/skills/ae-analysis/references/project_space_create.md +19 -5
  71. package/skills/ae-analysis/references/project_space_delete.md +23 -6
  72. package/skills/ae-analysis/references/project_space_share.md +16 -6
  73. package/skills/ae-analysis/references/property_changelog_list.md +3 -3
  74. package/skills/ae-analysis/references/property_create.md +3 -3
  75. package/skills/ae-analysis/references/property_delete.md +3 -3
  76. package/skills/ae-analysis/references/property_get.md +3 -3
  77. package/skills/ae-analysis/references/property_hide_update.md +3 -3
  78. package/skills/ae-analysis/references/property_influence_list.md +3 -3
  79. package/skills/ae-analysis/references/property_list.md +3 -3
  80. package/skills/ae-analysis/references/property_related_events.md +3 -3
  81. package/skills/ae-analysis/references/property_relation_update.md +3 -3
  82. package/skills/ae-analysis/references/property_update.md +3 -3
  83. package/skills/ae-analysis/references/query_adhoc.md +34 -21
  84. package/skills/ae-analysis/references/super_metadata_export.md +4 -4
  85. package/skills/ae-analysis/references/super_metadata_import.md +3 -3
  86. package/skills/ae-analysis/references/update_report.md +3 -3
  87. package/skills/ae-analysis/references/virtual_event_create.md +3 -3
  88. package/skills/ae-analysis/references/virtual_event_delete.md +3 -3
  89. package/skills/ae-analysis/references/virtual_event_get.md +3 -3
  90. package/skills/ae-analysis/references/virtual_property_create.md +3 -3
  91. package/skills/ae-analysis/references/virtual_property_sql_rule_delete.md +3 -3
  92. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +3 -3
  93. package/skills/ae-capability/SKILL.md +103 -0
  94. package/skills/ae-community/SKILL.md +1 -1
  95. package/skills/ae-dataops/references/dataops-integration.md +3 -3
  96. package/skills/ae-engage/SKILL.md +5 -5
  97. package/skills/ae-metadata/references/metadata_data_table_sql_write.md +60 -8
  98. package/skills/ae-team/SKILL.md +1 -1
  99. package/skills/ae-analysis/references/folder_members.md +0 -15
  100. package/skills/ae-analysis/references/project_space_members.md +0 -15
@@ -1,4 +1,4 @@
1
- # analysis virtual-event delete
1
+ # analysis-meta virtual-event delete
2
2
 
3
3
  Use when the user needs to delete a virtual event rule.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis virtual-event delete --project-id <project_id> --v-event-id <v_event_id>
11
- ae-cli analysis virtual-event delete --dry-run
10
+ ae-cli analysis-meta virtual-event delete --project-id <project_id> --v-event-id <v_event_id>
11
+ ae-cli analysis-meta virtual-event delete --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.virtual_event.delete`.
@@ -1,4 +1,4 @@
1
- # analysis virtual-event get
1
+ # analysis-meta virtual-event get
2
2
 
3
3
  Use when the user needs to get virtual event rule.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis virtual-event get --project-id <project_id> --v-event-id <v_event_id>
11
- ae-cli analysis virtual-event get --dry-run
10
+ ae-cli analysis-meta virtual-event get --project-id <project_id> --v-event-id <v_event_id>
11
+ ae-cli analysis-meta virtual-event get --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.virtual_event.get`.
@@ -1,4 +1,4 @@
1
- # analysis virtual-property create
1
+ # analysis-meta virtual-property create
2
2
 
3
3
  Use when the user needs to create a SQL virtual event or user property.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis virtual-property create --project-id <project_id> --payload '{}'
11
- ae-cli analysis virtual-property create --dry-run
10
+ ae-cli analysis-meta virtual-property create --project-id <project_id> --payload '{}'
11
+ ae-cli analysis-meta virtual-property create --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.virtual_property.create`.
@@ -1,4 +1,4 @@
1
- # analysis virtual-property sql-rule-delete
1
+ # analysis-meta virtual-property sql-rule-delete
2
2
 
3
3
  Use when the user needs to delete or revoke SQL virtual property rule.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis virtual-property sql-rule-delete --project-id <project_id> --v-prop-id <v_prop_id> --operation <operation>
11
- ae-cli analysis virtual-property sql-rule-delete --dry-run
10
+ ae-cli analysis-meta virtual-property sql-rule-delete --project-id <project_id> --v-prop-id <v_prop_id> --operation <operation>
11
+ ae-cli analysis-meta virtual-property sql-rule-delete --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.virtual_property.sql_rule_delete`.
@@ -1,4 +1,4 @@
1
- # analysis virtual-property sql-rule-update
1
+ # analysis-meta virtual-property sql-rule-update
2
2
 
3
3
  Use when the user needs to update SQL virtual property rule.
4
4
 
@@ -7,8 +7,8 @@ Do not use this command for unrelated analysis queries, ad-hoc query constructio
7
7
  Command:
8
8
 
9
9
  ```bash
10
- ae-cli analysis virtual-property sql-rule-update --project-id <project_id> --payload '{}'
11
- ae-cli analysis virtual-property sql-rule-update --dry-run
10
+ ae-cli analysis-meta virtual-property sql-rule-update --project-id <project_id> --payload '{}'
11
+ ae-cli analysis-meta virtual-property sql-rule-update --dry-run
12
12
  ```
13
13
 
14
14
  Capability id: `metadata.virtual_property.sql_rule_update`.
@@ -0,0 +1,103 @@
1
+ ---
2
+ name: ae-capability
3
+ version: 1.2.0
4
+ description: "AE/TE capability gateway discovery and generic invocation with ae-cli. Use when the user needs to list or search available capabilities, inspect an unknown capability schema/risk/auth contract, dry-run a capability, or invoke a long-tail capability that has no curated ae-cli command. Always discover and inspect before composing input; never guess capability IDs or input fields."
5
+ ---
6
+
7
+ # ae-capability
8
+
9
+ Use this skill for progressive capability discovery and generic gateway invocation. Prefer a domain-specific curated command when one exists; use `ae-cli capability ...` for discovery and long-tail capabilities.
10
+
11
+ ## Decision Order
12
+
13
+ 1. Use a domain skill and its curated command when it directly covers the task.
14
+ 2. Otherwise search the capability catalog.
15
+ 3. Inspect the selected capability before constructing input.
16
+ 4. Dry-run with real input when helpful.
17
+ 5. Run after dry-run succeeds; obtain chat confirmation only for delete capabilities.
18
+
19
+ Never guess a capability ID, input field, enum value, resource ID, or project ID.
20
+
21
+ ## Skill references
22
+
23
+ Default: **do not** create a standalone skill reference for every new capability. Use `search` → `inspect` → `dry-run` → `run`; catalog `description`, `risk`, and `inspect` `input_schema` are the contract.
24
+
25
+ Create or keep a standalone reference only when at least one applies: L2 hard bar, easily confused with neighbors, `high-risk-write` delete workflow, or multi-step orchestration. Domain skills may inline one-line summaries in overview matrices (e.g. `analysis_gateway_assets.md`). See [`capability-command-admission` §10](../../docs/capability-command-admission.md).
26
+
27
+ ## Commands
28
+
29
+ ```bash
30
+ # List summaries for one capability namespace.
31
+ ae-cli capability list --domain <domain>
32
+
33
+ # Search capability IDs and descriptions. All terms must match.
34
+ ae-cli capability search "<terms>" --domain <domain>
35
+
36
+ # Read input_schema, risk, auth, output, and dry-run support.
37
+ ae-cli capability inspect <capability-id>
38
+
39
+ # Validate and preview input without execution.
40
+ ae-cli capability dry-run <capability-id> --input '<json-object>'
41
+
42
+ # Execute after inspection (and dry-run when input is non-trivial).
43
+ ae-cli capability run <capability-id> --input '<json-object>'
44
+ ```
45
+
46
+ `--input` accepts:
47
+
48
+ - An inline JSON object.
49
+ - A JSON file path.
50
+ - `@<path>`.
51
+ - `-` to read JSON from stdin.
52
+
53
+ The capability namespace is inferred from `<capability-id>` for `inspect`, `dry-run`, and `run`. Use `--domain <domain>` only to override routing.
54
+
55
+ ## Risk Levels (aligned with lark-cli)
56
+
57
+ | `risk` | Meaning | Chat confirmation before `run`? | CLI `[y/N]` without `--yes`? |
58
+ | --- | --- | --- | --- |
59
+ | `read` | Query / list / inspect | No | No |
60
+ | `write` | Create, update, share, and other ordinary writes | No | No |
61
+ | `high-risk-write` | Delete or remove resources | **Yes** | **Yes** |
62
+
63
+ Legacy values such as `create`, `update`, or `delete` are normalized to this three-tier model (`delete` → `high-risk-write`; `create`/`update` → `write`).
64
+
65
+ ## Safety
66
+
67
+ - `list`, `search`, `inspect`, and `dry-run` never execute business mutations.
68
+ - `capability run` inspects metadata before execution when `--yes` is absent.
69
+ - Only `high-risk-write` requires chat confirmation before `capability run ... --yes`.
70
+ - `read` and `write` may run directly after inspect/dry-run.
71
+ - Use `--yes` on delete runs only after the user explicitly authorizes execution in chat.
72
+ - Global `--dry-run` on `capability run` calls the gateway dry-run endpoint instead of execute.
73
+
74
+ ## High-Risk Confirmation Workflow (Agent)
75
+
76
+ Applies only when `inspect` shows `risk=high-risk-write`.
77
+
78
+ User intent (for example "delete this space") is **not** execution authorization. Do not pass `--yes` just because the user stated the desired action.
79
+
80
+ 1. Run `capability inspect` and `capability dry-run` with the final input.
81
+ 2. **Stop in the same turn.** Do not call `capability run` in the same turn as dry-run.
82
+ 3. Summarize in chat: capability ID, `project_id`, key input fields, and `risk=high-risk-write`.
83
+ 4. Ask the user to confirm execution. Prefer `AskUserQuestion` when that tool is available; otherwise ask in plain text and wait for the user's **next message**.
84
+ 5. Only after the user replies with explicit authorization (for example `confirm`, `execute`, or `yes`) run `capability run ... --yes` with the same input as dry-run.
85
+
86
+ For `risk=write`, run directly after a successful dry-run; no chat confirmation gate.
87
+
88
+ Never pass `--yes` on the first delete attempt. CLI terminal `[y/N]` prompts do not work in Agent Bash; chat confirmation is the real gate for `high-risk-write`.
89
+
90
+ ## Output
91
+
92
+ - `list` returns `{ domain, count, capabilities }`.
93
+ - `search` returns `{ domain, query, count, capabilities }`.
94
+ - `inspect`, `dry-run`, and `run` return gateway data in the standard ae-cli envelope.
95
+
96
+ ## Examples
97
+
98
+ ```bash
99
+ ae-cli capability search "dashboard list" --domain analysis
100
+ ae-cli capability inspect analysis.dashboard.list
101
+ ae-cli capability dry-run analysis.dashboard.list --input '{"project_id":1}'
102
+ ae-cli capability run analysis.dashboard.list --input input.json
103
+ ```
@@ -214,4 +214,4 @@ Structured multi-step reports (MCP tool chains) — open the linked reference fo
214
214
 
215
215
  ## Write operations
216
216
 
217
- Most community commands are **read-only**. If new write-capable commands are added later, confirm user intent and use `--yes` where the CLI marks **`risk: write`**.
217
+ Most community commands are **read-only**. If new write-capable commands are added later, confirm user intent and use `--yes` where the CLI marks **`risk: high-risk-write`**.
@@ -236,10 +236,10 @@ ae-cli dataops_integration +stop_sync_solution --spaceCode "${spaceCode}" \
236
236
  - **Datasource component template**: `+get_datasource_component_template` requires only `--componentName`. It returns component metadata, `requiredFields`, `optionalFields`, `envJsonExampleObject`, and `importantNotes`.
237
237
  - **Datasource list**: `+list_space_datasources` requires `--spaceCode`; `--datasourceName` and `--componentName` are optional filters. It returns datasource summary fields including `datasourceId`, `dataSourceComponentName`, `dataSourceName`, `dataSourceRemark`, `dataSourceStatus`, `connectStatus`, `syncTaskNum`, and `sharedConfig`.
238
238
  - **Datasource detail**: `+get_datasource_detail` requires `--spaceCode` and `--datasourceName`. It returns `datasourceId`, `dataSourceComponentName`, `dataSourceName`, `dataSourceRemark`, `dataSourceStatus`, `connectStatus`, `syncTaskNum`, `sharedConfig`, masked `connectConfig`, `connectFails`, and `lastConnectTime`.
239
- - **Datasource creation**: `+add_datasource` creates directly after the CLI write confirmation. `envJsonList` must be a JSON array string using keys from the component template `requiredFields`; `sharedConfig=true` uses one config for DEV/PROD, while `sharedConfig=false` requires two configs (DEV, PROD).
239
+ - **Datasource creation**: `+add_datasource` creates directly (`risk: write`, no CLI confirmation). `envJsonList` must be a JSON array string using keys from the component template `requiredFields`; `sharedConfig=true` uses one config for DEV/PROD, while `sharedConfig=false` requires two configs (DEV, PROD).
240
240
  - **Datasource connection test**: `+test_datasource_connect` requires `--spaceCode` and `--datasourceName`. It tests the saved datasource config and returns `datasourceName`, `connectStatus`, `connectFails`, `lastConnectTime`, and `nextAction`.
241
- - **Datasource modification**: `+modify_datasource` creates no preview; it updates only provided optional fields after the CLI write confirmation. Use `--envJsonList` with the same JSON array format as `+add_datasource`.
242
- - **Datasource online**: `+online_datasource` requires `--spaceCode` and `--dataSourceNames`. It executes after the CLI write confirmation and returns `failDataSources` and `successDataSourceNames`.
241
+ - **Datasource modification**: `+modify_datasource` creates no preview; it updates only provided optional fields (`risk: write`). Use `--envJsonList` with the same JSON array format as `+add_datasource`.
242
+ - **Datasource online**: `+online_datasource` requires `--spaceCode` and `--dataSourceNames`. It executes directly (`risk: write`) and returns `failDataSources` and `successDataSourceNames`.
243
243
  - **Sync datasources**: `+list_sync_datasources` requires `--spaceCode`; `--env` is optional and defaults to `DEV`. It returns `sourceComponentSet` and `sinkComponentSet`, grouped by component, with `dataSourceList` and `supportableComponent`.
244
244
  - **Datasource databases**: `+list_datasource_databases` requires `--spaceCode` and `--datasourceId`; `--catalog` and `--env` are optional, and `--env` defaults to `DEV`. It returns an array of objects with `databaseName`.
245
245
  - **Datasource tables**: `+list_datasource_tables` requires `--spaceCode`, `--datasourceId`, and `--database`; `--catalog` and `--env` are optional, and `--env` defaults to `DEV`. It returns table metadata including `database`, `tableName`, `tableType`, `tableComment`, `engine`, `disabled`, `disabledReasons`, `sameVersion`, and `supportSharding`.
@@ -228,12 +228,12 @@ Commands that accept date parameters usually use `yyyy-MM-dd`, for example `--st
228
228
 
229
229
  ## Write Operation Reminder
230
230
 
231
- The following commands are write operations. Confirm that the user intent is explicit before executing them:
231
+ High-risk delete commands (`risk: high-risk-write`) require explicit user authorization before execution. Ordinary write commands (`risk: write`) do not:
232
232
 
233
- - Channels and config channels: `+add_channel`, `+delete_channel`, `+update_channel_status`, `+delete_config_channel`, `+update_config_channel_status`
234
- - Strategies and config items: `+delete_config_item`, `+copy_config_template`, `+manage_strategy`
235
- - Flows: `+save_flow`, `+modify_flow_base_info`, `+manage_flow`, `+delete_flow`
236
- - Tasks: `+save_task`, `+manage_task`
233
+ - Channels and config channels: `+add_channel` (write), `+delete_channel` (high-risk-write), `+update_channel_status` (write), `+delete_config_channel` (high-risk-write), `+update_config_channel_status` (write)
234
+ - Strategies and config items: `+delete_config_item` (high-risk-write), `+copy_config_template` (write), `+manage_strategy` (write)
235
+ - Flows: `+save_flow` (write), `+modify_flow_base_info` (write), `+manage_flow` (write), `+delete_flow` (high-risk-write)
236
+ - Tasks: `+save_task` (write), `+manage_task` (write)
237
237
 
238
238
  For task draft creation or update, use this workflow:
239
239
 
@@ -5,8 +5,8 @@
5
5
  ## Command
6
6
 
7
7
  ```bash
8
- ae-cli metadata data-table sql-write --project-id <project_id> --operation create --table-name datatable_<project_id>_<name> --columns '<columns_json>' --qp '<qp_json>' --zone-offset 8 --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
8
+ ae-cli metadata data-table sql-write --project-id <project_id> --operation create --table-name datatable_<project_id>_<name> --columns '<columns_json>' --qp '<qp_json>' --zone-offset 8 --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>' --strategy overwrite --update-cron '0 0 * * * ?' --yes
10
10
  ```
11
11
 
12
12
  ## Parameters
@@ -15,18 +15,70 @@ ae-cli metadata data-table sql-write --project-id <project_id> --operation updat
15
15
  |---|---|---|
16
16
  | `--project-id` / `-p` | Yes | Numeric project ID. |
17
17
  | `--operation` | Yes | `create` or `update`. |
18
- | `--columns` | Yes | Column definitions JSON array. Preferred fields are `column_name`, `column_type`, and `column_desc`; CLI also accepts `name`, `type`, and `display_name` aliases. |
19
- | `--qp` | Yes | SQL data table query plan JSON. |
18
+ | `--columns` | Yes | Column definitions JSON array. Preferred fields are `column_name`, `column_type`, and `column_desc`; CLI also accepts `name`, `type`, and `display_name` aliases. Must match SQL output column names. |
19
+ | `--qp` | Yes | `SqlDatatableDef` JSON object (see below). |
20
20
  | `--data-table-id` | For update | Existing data table ID. |
21
21
  | `--table-name` | For create | Technical table name. Use `datatable_<project_id>_<name>`. |
22
22
  | `--display-name` | No | Human-readable name. |
23
23
  | `--remarks` | No | Table remarks. |
24
24
  | `--zone-offset` | No | Time zone offset in hours. For example, UTC+8 is `8` and UTC-5 is `-5`. Valid range: -12 to 14. |
25
- | `--strategy` | No | `overwrite` or `insert`. |
26
- | `--update-cron` | No | Scheduled update cron. |
25
+ | `--strategy` | For update | `overwrite` or `insert`. Ignored for create. |
26
+ | `--update-cron` | For update | Scheduled update cron. Ignored for create. |
27
+
28
+ ## QP contract (`SqlDatatableDef`)
29
+
30
+ `--qp` must be a JSON object with this shape. **Do not** pass a top-level `sql` field.
31
+
32
+ ```json
33
+ {
34
+ "taSqlVo": {
35
+ "sql": "select '1' as id, 'demo' as name",
36
+ "sqlVoParams": []
37
+ },
38
+ "taSqlView": {}
39
+ }
40
+ ```
41
+
42
+ | Field | Required | Description |
43
+ |---|---|---|
44
+ | `taSqlVo` | Yes | SQL entity definition (`TaSqlVo`). |
45
+ | `taSqlVo.sql` | Yes | SELECT statement. Output columns must appear in `--columns`. |
46
+ | `taSqlVo.sqlVoParams` | No | Dynamic SQL parameters. Use `[]` when none. |
47
+ | `taSqlView` | No | SQL view (`TaSqlView`). Use `{}` when no dynamic view params. |
48
+ | `taSqlView.sqlViewParams` | No | View dynamic parameters. |
49
+
50
+ Inspect the live schema:
51
+
52
+ ```bash
53
+ ae-cli capability inspect metadata.data_table.sql_write
54
+ ```
55
+
56
+ ## Create example
57
+
58
+ ```bash
59
+ ae-cli metadata data-table sql-write \
60
+ --project-id 1 \
61
+ --operation create \
62
+ --table-name datatable_1_orders_dim \
63
+ --display-name "Orders dim" \
64
+ --columns '[{"name":"id","type":"string","display_name":"id"},{"name":"name","type":"string","display_name":"name"}]' \
65
+ --qp '{"taSqlVo":{"sql":"select '\''1'\'' as id, '\''demo'\'' as name","sqlVoParams":[]},"taSqlView":{}}' \
66
+ --zone-offset 8 \
67
+ --dry-run
68
+
69
+ ae-cli metadata data-table sql-write \
70
+ --project-id 1 \
71
+ --operation create \
72
+ --table-name datatable_1_orders_dim \
73
+ --display-name "Orders dim" \
74
+ --columns '[{"name":"id","type":"string","display_name":"id"},{"name":"name","type":"string","display_name":"name"}]' \
75
+ --qp '{"taSqlVo":{"sql":"select '\''1'\'' as id, '\''demo'\'' as name","sqlVoParams":[]},"taSqlView":{}}' \
76
+ --zone-offset 8
77
+ ```
27
78
 
28
79
  ## Decision Rules
29
80
 
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`.
81
+ - This is a write command; use `--dry-run` before non-dry-run execution.
82
+ - Keep `columns` and `qp` as valid JSON. `qp` must follow `SqlDatatableDef`; dry-run validates structure but does not execute SQL.
32
83
  - If you provide a table name, it must include the project segment, for example `datatable_2_orders_sql`.
84
+ - If execute fails with `CAPABILITY_EXECUTION_FAILED`, fix qp structure first, then retry with a valid query before investigating backend SQL/Presto issues.
@@ -21,7 +21,7 @@ Global parameters:
21
21
  | `--format <json\|table>` | Output format. Default is JSON. |
22
22
  | `--jq <expr>` | jq filter expression for JSON output. |
23
23
  | `--host <url>` | Override the active AE host. Available on every command and may be placed after the subcommand, e.g. `ae-cli team +<command> --host <url>`. |
24
- | `--yes` | Skip confirmation for write operations. |
24
+ | `--yes` | Skip confirmation for `high-risk-write` (delete) operations. |
25
25
  | `--dry-run` | Show request details without executing. |
26
26
 
27
27
  Output and errors:
@@ -1,15 +0,0 @@
1
- # analysis folder members
2
-
3
- Use when the user needs to inspect folder members.
4
-
5
- Do not use to modify members. Use `folder share`.
6
-
7
- Command:
8
-
9
- ```bash
10
- ae-cli analysis folder members --project-id <project_id> --folder-id <folder_id>
11
- ```
12
-
13
- Input sends `project_id` and `folder_id`.
14
-
15
- Output is the gateway envelope. `data` contains folder members.
@@ -1,15 +0,0 @@
1
- # analysis project-space members
2
-
3
- Use when the user needs to inspect project-space members.
4
-
5
- Do not use to modify members. Use `project-space share`.
6
-
7
- Command:
8
-
9
- ```bash
10
- ae-cli analysis project-space members --project-id <project_id> --space-id <space_id>
11
- ```
12
-
13
- Input sends `project_id` and `space_id`.
14
-
15
- Output is the gateway envelope. `data` contains project-space members.