@thinkingai/ae-cli 6.0.30 → 6.0.31
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 +5 -7
- package/README.zh.md +5 -7
- package/dist/{auth-7TQRGLBC.js → auth-7H3HAAJ3.js} +10 -10
- package/dist/{capability-KVA55RMK.js → capability-SEH3JWLN.js} +49 -10
- package/dist/{capability-LKHLZQPD.js → capability-SQ2IWKP3.js} +49 -10
- package/dist/{chunk-GWZ5MYWE.js → chunk-6LEYLOV3.js} +25 -4
- package/dist/{chunk-THBBNYXI.js → chunk-DYOS6YY7.js} +100 -62
- package/dist/{chunk-CWZUGF2J.js → chunk-HL2AJQ4Q.js} +15 -0
- package/dist/{chunk-OJR23CIK.js → chunk-I4A62X3N.js} +100 -61
- package/dist/chunk-N2QORU5D.js +68 -0
- package/dist/{chunk-7QQ4233A.js → chunk-PKRD2IEM.js} +25 -4
- package/dist/chunk-TKQJQXWT.js +68 -0
- package/dist/{chunk-ZAOL36CG.js → chunk-TNW2CI4W.js} +46 -30
- package/dist/{config-ZVPARN4R.js → config-7UZWDE74.js} +25 -25
- package/dist/index.js +143 -46
- package/dist/{metadata-6CCFV4K5.js → metadata-W6JFFMBA.js} +6 -43
- package/dist/{metadata-PDOIWH5O.js → metadata-X62TKIVK.js} +6 -43
- package/dist/{raw-OHSUK42D.js → raw-CN542NGT.js} +8 -6
- package/dist/{sync-ULT5SECP.js → sync-ERNHDPB5.js} +1 -1
- package/dist/{te-agent-FAIBM3SA.js → te-agent-FCCWUDTJ.js} +1 -1
- package/dist/te-analysis-NJGNWZFC.js +4530 -0
- package/dist/te-analysis-YGV5V5EX.js +4530 -0
- package/dist/{te-common-SDB3O2QG.js → te-common-5NJLF3XG.js} +1 -1
- package/dist/{te-common-CFGQXTFV.js → te-common-7VTJZPII.js} +1 -1
- package/dist/{te-community-6A7LKYUH.js → te-community-PEZ2VEF7.js} +1 -1
- package/dist/{te-community-GMWFGILT.js → te-community-TSKJ652U.js} +1 -1
- package/dist/{te-dataops-Z53CTG2U.js → te-dataops-F36T656A.js} +32 -12
- package/dist/{te-dataops-6LIPYNGH.js → te-dataops-ZNJBQ6VT.js} +33 -12
- package/dist/{te-engage-M7JQSJDP.js → te-engage-BUWVSSSK.js} +398 -11
- package/dist/{te-engage-545HJL6J.js → te-engage-EPE3QKDE.js} +398 -11
- package/dist/{te-meta-FADFLTDM.js → te-meta-MAAUHFQO.js} +9 -9
- package/dist/{te-meta-PKT27OTN.js → te-meta-VKWNAWO4.js} +9 -9
- package/dist/{te-team-RG75PR5D.js → te-team-OKCOX7OE.js} +5 -5
- package/package.json +15 -7
- package/skills/ae-agent/SKILL.md +6 -8
- package/skills/ae-agent/references/accept-skill-share.md +2 -2
- package/skills/ae-agent/references/add-attachment.md +3 -3
- package/skills/ae-agent/references/add-mcp.md +2 -3
- package/skills/ae-agent/references/add-model.md +3 -5
- package/skills/ae-agent/references/add-skill.md +2 -3
- package/skills/ae-agent/references/approve-skill.md +2 -2
- package/skills/ae-agent/references/auto-provision-mcp-credentials.md +3 -3
- package/skills/ae-agent/references/cancel-skill-submission.md +2 -2
- package/skills/ae-agent/references/copy-skill.md +3 -3
- package/skills/ae-agent/references/create-agent.md +3 -4
- package/skills/ae-agent/references/create-automation.md +5 -9
- package/skills/ae-agent/references/del-agent.md +3 -2
- package/skills/ae-agent/references/del-attachment.md +3 -2
- package/skills/ae-agent/references/del-mcp.md +3 -2
- package/skills/ae-agent/references/del-model.md +3 -2
- package/skills/ae-agent/references/del-skill-asset.md +3 -3
- package/skills/ae-agent/references/del-skill-reference.md +3 -3
- package/skills/ae-agent/references/del-skill-script.md +3 -3
- package/skills/ae-agent/references/del-skill.md +3 -2
- package/skills/ae-agent/references/edit-skill.md +4 -4
- package/skills/ae-agent/references/mcp-auth-disconnect.md +2 -2
- package/skills/ae-agent/references/mcp-auth-start.md +3 -3
- package/skills/ae-agent/references/reject-skill-share.md +2 -2
- package/skills/ae-agent/references/reject-skill.md +2 -2
- package/skills/ae-agent/references/rescan-skills.md +2 -2
- package/skills/ae-agent/references/set-mcp-credential.md +3 -3
- package/skills/ae-agent/references/set-mcp-meta.md +2 -2
- package/skills/ae-agent/references/set-skill-meta.md +2 -2
- package/skills/ae-agent/references/share-skill.md +3 -3
- package/skills/ae-agent/references/submit-skill.md +3 -3
- package/skills/ae-agent/references/toggle-mcp.md +3 -3
- package/skills/ae-agent/references/toggle-model.md +3 -3
- package/skills/ae-agent/references/toggle-skill.md +3 -3
- package/skills/ae-agent/references/update-agent.md +2 -2
- package/skills/ae-agent/references/update-automation.md +6 -8
- package/skills/ae-agent/references/update-mcp.md +4 -4
- package/skills/ae-agent/references/update-model.md +2 -3
- package/skills/ae-agent/references/upload-skill-asset.md +3 -3
- package/skills/ae-agent/references/upload-skill-reference.md +3 -3
- package/skills/ae-agent/references/upload-skill-script.md +3 -3
- package/skills/ae-agent/references/upload-skill.md +6 -7
- package/skills/ae-analysis/SKILL.md +105 -512
- package/skills/ae-analysis/references/adhoc_export.md +71 -0
- package/skills/ae-analysis/references/adhoc_run.md +58 -0
- package/skills/ae-analysis/references/ai_models.md +459 -0
- package/skills/ae-analysis/references/analysis_data_retrieval.md +101 -0
- package/skills/ae-analysis/references/analysis_gateway_assets.md +72 -12
- package/skills/ae-analysis/references/analysis_interpretation.md +38 -0
- package/skills/ae-analysis/references/artifact_download.md +13 -7
- package/skills/ae-analysis/references/asset_abnormal_get.md +5 -5
- package/skills/ae-analysis/references/asset_abnormal_list.md +5 -5
- package/skills/ae-analysis/references/asset_authentication_list.md +5 -5
- package/skills/ae-analysis/references/asset_authentication_update.md +6 -6
- package/skills/ae-analysis/references/asset_batch_dashboard_schedule_freeze.md +26 -0
- package/skills/ae-analysis/references/asset_batch_delete.md +26 -0
- package/skills/ae-analysis/references/asset_batch_disable_auto_backup.md +26 -0
- package/skills/ae-analysis/references/asset_batch_disable_auto_update.md +26 -0
- package/skills/ae-analysis/references/asset_batch_handover.md +26 -0
- package/skills/ae-analysis/references/asset_batch_info_export.md +25 -0
- package/skills/ae-analysis/references/asset_batch_sql_export.md +25 -0
- package/skills/ae-analysis/references/asset_dependency_list.md +30 -0
- package/skills/ae-analysis/references/asset_export.md +30 -0
- package/skills/ae-analysis/references/asset_impact_list.md +30 -0
- package/skills/ae-analysis/references/asset_lineage_get.md +25 -0
- package/skills/ae-analysis/references/asset_list.md +30 -0
- package/skills/ae-analysis/references/asset_query_history_list.md +30 -0
- package/skills/ae-analysis/references/asset_recent_list.md +4 -4
- package/skills/ae-analysis/references/asset_search.md +4 -4
- package/skills/ae-analysis/references/asset_url_get.md +28 -0
- package/skills/ae-analysis/references/audience_models.md +42 -0
- package/skills/ae-analysis/references/batch_create_metadata.md +5 -1
- package/skills/ae-analysis/references/batch_edit_metadata.md +4 -1
- package/skills/ae-analysis/references/bi_panel_copy.md +1 -1
- package/skills/ae-analysis/references/bi_panel_create.md +1 -1
- package/skills/ae-analysis/references/bi_panel_delete.md +2 -0
- package/skills/ae-analysis/references/bi_panel_list.md +4 -2
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +8 -4
- package/skills/ae-analysis/references/bi_panel_page_data_run.md +7 -3
- package/skills/ae-analysis/references/bi_panel_share.md +1 -1
- package/skills/ae-analysis/references/bi_panel_update.md +1 -1
- package/skills/ae-analysis/references/bi_panel_version_publish.md +1 -1
- package/skills/ae-analysis/references/cancel_query.md +4 -4
- package/skills/ae-analysis/references/command_index.md +209 -0
- package/skills/ae-analysis/references/create_alert.md +1 -1
- package/skills/ae-analysis/references/create_entity.md +1 -1
- package/skills/ae-analysis/references/create_metric.md +11 -15
- package/skills/ae-analysis/references/create_project_mark_time.md +2 -1
- package/skills/ae-analysis/references/create_virtual_event.md +10 -14
- package/skills/ae-analysis/references/create_virtual_property.md +1 -1
- package/skills/ae-analysis/references/dashboard_copy.md +1 -1
- package/skills/ae-analysis/references/dashboard_create.md +1 -1
- package/skills/ae-analysis/references/dashboard_daily_report_send.md +1 -1
- package/skills/ae-analysis/references/dashboard_daily_report_update.md +1 -1
- package/skills/ae-analysis/references/dashboard_definition_import.md +1 -1
- package/skills/ae-analysis/references/dashboard_delete.md +2 -0
- package/skills/ae-analysis/references/dashboard_freeze.md +1 -1
- package/skills/ae-analysis/references/dashboard_handover.md +1 -1
- package/skills/ae-analysis/references/dashboard_list.md +4 -2
- package/skills/ae-analysis/references/dashboard_report_add.md +15 -0
- package/skills/ae-analysis/references/dashboard_report_data_export.md +15 -7
- package/skills/ae-analysis/references/dashboard_report_data_run.md +15 -7
- package/skills/ae-analysis/references/dashboard_share.md +11 -2
- package/skills/ae-analysis/references/dashboard_update.md +12 -3
- package/skills/ae-analysis/references/datatable_columns_get.md +2 -2
- package/skills/ae-analysis/references/datatable_influence_list.md +2 -2
- package/skills/ae-analysis/references/datatable_version_get.md +2 -2
- package/skills/ae-analysis/references/datatable_version_list.md +2 -2
- package/skills/ae-analysis/references/delete_alert.md +8 -3
- package/skills/ae-analysis/references/delete_metric.md +8 -3
- package/skills/ae-analysis/references/delete_project_mark_times.md +5 -3
- package/skills/ae-analysis/references/delete_track_items.md +4 -3
- package/skills/ae-analysis/references/drilldown_user_events_export.md +20 -0
- package/skills/ae-analysis/references/drilldown_user_events_run.md +34 -0
- package/skills/ae-analysis/references/drilldown_users_export.md +17 -0
- package/skills/ae-analysis/references/drilldown_users_run.md +61 -0
- package/skills/ae-analysis/references/entity_detail_export.md +31 -0
- package/skills/ae-analysis/references/entity_detail_run.md +50 -0
- package/skills/ae-analysis/references/entity_id_import_options.md +20 -0
- package/skills/ae-analysis/references/event_changelog_list.md +2 -2
- package/skills/ae-analysis/references/event_create.md +4 -4
- package/skills/ae-analysis/references/event_delete.md +5 -4
- package/skills/ae-analysis/references/event_detail_export.md +31 -0
- package/skills/ae-analysis/references/event_detail_run.md +58 -0
- package/skills/ae-analysis/references/event_get.md +2 -2
- package/skills/ae-analysis/references/event_hide_update.md +3 -3
- package/skills/ae-analysis/references/event_influence_list.md +2 -2
- package/skills/ae-analysis/references/event_list.md +2 -2
- package/skills/ae-analysis/references/{super_metadata_export.md → event_property_bundle_export.md} +7 -7
- package/skills/ae-analysis/references/event_property_bundle_import.md +25 -0
- package/skills/ae-analysis/references/event_relation_update.md +4 -4
- package/skills/ae-analysis/references/event_update.md +2 -2
- package/skills/ae-analysis/references/exchange_config_update.md +2 -2
- package/skills/ae-analysis/references/exchange_rate_refresh.md +2 -2
- package/skills/ae-analysis/references/exchange_rule_list.md +2 -2
- package/skills/ae-analysis/references/exchange_rule_update.md +4 -4
- package/skills/ae-analysis/references/exchange_rule_validate.md +4 -4
- package/skills/ae-analysis/references/favorite_add.md +1 -1
- package/skills/ae-analysis/references/favorite_remove.md +1 -1
- package/skills/ae-analysis/references/folder_create.md +2 -3
- package/skills/ae-analysis/references/folder_share.md +2 -3
- package/skills/ae-analysis/references/generate_track_program.md +2 -1
- package/skills/ae-analysis/references/generate_track_sdk_sample.md +2 -1
- package/skills/ae-analysis/references/get_alert.md +4 -0
- package/skills/ae-analysis/references/get_alert_definition_schema.md +1 -0
- package/skills/ae-analysis/references/get_metric.md +4 -4
- package/skills/ae-analysis/references/get_project_config.md +1 -0
- package/skills/ae-analysis/references/get_resource_url.md +1 -0
- package/skills/ae-analysis/references/get_track_program.md +3 -0
- package/skills/ae-analysis/references/history_tag_batch_refresh.md +19 -0
- package/skills/ae-analysis/references/history_tag_clear.md +13 -0
- package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +15 -0
- package/skills/ae-analysis/references/history_tag_data_drilldown_run.md +13 -0
- package/skills/ae-analysis/references/history_tag_data_export.md +15 -0
- package/skills/ae-analysis/references/history_tag_data_run.md +15 -0
- package/skills/ae-analysis/references/history_tag_list.md +11 -0
- package/skills/ae-analysis/references/history_tag_refresh.md +11 -0
- package/skills/ae-analysis/references/input_file_inspect.md +9 -0
- package/skills/ae-analysis/references/input_file_purpose_list.md +9 -0
- package/skills/ae-analysis/references/input_file_upload.md +11 -0
- package/skills/ae-analysis/references/list_alerts.md +3 -2
- package/skills/ae-analysis/references/list_entities.md +3 -2
- package/skills/ae-analysis/references/list_events.md +5 -5
- package/skills/ae-analysis/references/list_metrics.md +5 -5
- package/skills/ae-analysis/references/list_project_mark_times.md +2 -1
- package/skills/ae-analysis/references/list_project_users.md +1 -0
- package/skills/ae-analysis/references/list_properties.md +5 -5
- package/skills/ae-analysis/references/load_filters.md +3 -0
- package/skills/ae-analysis/references/metric_create.md +11 -6
- package/skills/ae-analysis/references/metric_delete.md +5 -4
- package/skills/ae-analysis/references/metric_get.md +2 -2
- package/skills/ae-analysis/references/metric_list.md +2 -2
- package/skills/ae-analysis/references/metric_update.md +12 -6
- package/skills/ae-analysis/references/operation_record_export.md +25 -0
- package/skills/ae-analysis/references/operation_record_list.md +31 -0
- package/skills/ae-analysis/references/project_space_create.md +2 -3
- package/skills/ae-analysis/references/project_space_list.md +3 -1
- package/skills/ae-analysis/references/project_space_share.md +2 -3
- package/skills/ae-analysis/references/property_changelog_list.md +2 -2
- package/skills/ae-analysis/references/property_create.md +4 -4
- package/skills/ae-analysis/references/property_delete.md +5 -4
- package/skills/ae-analysis/references/property_get.md +2 -2
- package/skills/ae-analysis/references/property_hide_update.md +3 -3
- package/skills/ae-analysis/references/property_influence_list.md +2 -2
- package/skills/ae-analysis/references/property_list.md +2 -2
- package/skills/ae-analysis/references/property_related_events.md +2 -2
- package/skills/ae-analysis/references/property_relation_update.md +4 -4
- package/skills/ae-analysis/references/property_update.md +2 -2
- package/skills/ae-analysis/references/public_link_create.md +1 -1
- package/skills/ae-analysis/references/public_link_delete.md +2 -0
- package/skills/ae-analysis/references/public_link_list.md +3 -1
- package/skills/ae-analysis/references/public_link_offline.md +1 -1
- package/skills/ae-analysis/references/public_link_update.md +1 -1
- package/skills/ae-analysis/references/query_cancel.md +1 -1
- package/skills/ae-analysis/references/query_create_result_cluster.md +47 -0
- package/skills/ae-analysis/references/report_abnormal_get.md +15 -0
- package/skills/ae-analysis/references/report_change_log_get.md +15 -0
- package/skills/ae-analysis/references/report_change_log_list.md +15 -0
- package/skills/ae-analysis/references/report_create.md +29 -0
- package/skills/ae-analysis/references/report_data_export.md +37 -0
- package/skills/ae-analysis/references/report_data_run.md +45 -0
- package/skills/ae-analysis/references/report_delete.md +17 -0
- package/skills/ae-analysis/references/report_get.md +21 -0
- package/skills/ae-analysis/references/report_list.md +17 -0
- package/skills/ae-analysis/references/report_list_export.md +15 -0
- package/skills/ae-analysis/references/report_update.md +22 -0
- package/skills/ae-analysis/references/report_version_rollback.md +15 -0
- package/skills/ae-analysis/references/rule_create.md +27 -0
- package/skills/ae-analysis/references/rule_delete.md +26 -0
- package/skills/ae-analysis/references/rule_list.md +24 -0
- package/skills/ae-analysis/references/rule_schema.md +24 -0
- package/skills/ae-analysis/references/rule_update.md +28 -0
- package/skills/ae-analysis/references/run_inspect.md +10 -4
- package/skills/ae-analysis/references/save_track_items.md +4 -1
- package/skills/ae-analysis/references/sql_table_columns.md +20 -0
- package/skills/ae-analysis/references/sql_table_list.md +33 -0
- package/skills/ae-analysis/references/update_alert.md +1 -1
- package/skills/ae-analysis/references/update_metric.md +11 -14
- package/skills/ae-analysis/references/update_project_mark_time.md +4 -3
- package/skills/ae-analysis/references/user_cluster_create.md +15 -0
- package/skills/ae-analysis/references/user_cluster_create_id.md +15 -0
- package/skills/ae-analysis/references/user_cluster_delete.md +13 -0
- package/skills/ae-analysis/references/user_cluster_get.md +11 -0
- package/skills/ae-analysis/references/user_cluster_list.md +15 -0
- package/skills/ae-analysis/references/user_cluster_member_export.md +15 -0
- package/skills/ae-analysis/references/user_cluster_member_list.md +19 -0
- package/skills/ae-analysis/references/user_cluster_models.md +87 -0
- package/skills/ae-analysis/references/user_cluster_refresh.md +11 -0
- package/skills/ae-analysis/references/user_cluster_update.md +13 -0
- package/skills/ae-analysis/references/user_cluster_update_id.md +15 -0
- package/skills/ae-analysis/references/user_tag_create.md +15 -0
- package/skills/ae-analysis/references/user_tag_create_id.md +15 -0
- package/skills/ae-analysis/references/user_tag_delete.md +13 -0
- package/skills/ae-analysis/references/user_tag_get.md +11 -0
- package/skills/ae-analysis/references/user_tag_list.md +17 -0
- package/skills/ae-analysis/references/user_tag_member_export.md +15 -0
- package/skills/ae-analysis/references/user_tag_member_list.md +19 -0
- package/skills/ae-analysis/references/user_tag_models.md +54 -0
- package/skills/ae-analysis/references/user_tag_refresh.md +11 -0
- package/skills/ae-analysis/references/user_tag_update.md +13 -0
- package/skills/ae-analysis/references/user_tag_update_id.md +15 -0
- package/skills/ae-analysis/references/virtual_event_create.md +4 -4
- package/skills/ae-analysis/references/virtual_event_delete.md +5 -4
- package/skills/ae-analysis/references/virtual_event_get.md +2 -2
- package/skills/ae-analysis/references/virtual_property_create.md +13 -6
- package/skills/ae-analysis/references/virtual_property_sql_rule_delete.md +5 -4
- package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +13 -6
- package/skills/ae-analysis-global/SKILL.md +6 -8
- package/skills/ae-analysis-global/references/list_query_clusters.md +7 -6
- package/skills/ae-capability/SKILL.md +68 -15
- package/skills/ae-community/SKILL.md +2 -2
- package/skills/ae-dataops/SKILL.md +1 -1
- package/skills/ae-engage/SKILL.md +38 -10
- package/skills/ae-engage/references/build-task-save-guide.md +11 -9
- package/skills/ae-engage/references/channel_touch_limits_list.md +29 -0
- package/skills/ae-engage/references/group-list.md +13 -0
- package/skills/ae-engage/references/operation-log-query.md +11 -0
- package/skills/ae-engage/references/ops-delete.md +14 -0
- package/skills/ae-engage/references/push-record-query.md +26 -0
- package/skills/ae-engage/references/save-flow.md +5 -4
- package/skills/ae-engage/references/save-task.md +24 -20
- package/skills/ae-engage/references/segment-list-query.md +18 -0
- package/skills/ae-engage/references/task-operation-log-query.md +23 -0
- package/skills/ae-engage/references/version-list.md +18 -0
- package/skills/ae-generate-tracking-code/SKILL.md +1 -1
- package/skills/ae-generate-tracking-code/references/snippet-delivery.md +2 -2
- package/skills/ae-generate-tracking-plan/SKILL.md +17 -12
- package/skills/ae-generate-tracking-plan/references/te-api.md +2 -1
- package/skills/ae-kb/SKILL.md +1 -1
- package/skills/ae-metadata/SKILL.md +9 -8
- package/skills/ae-metadata/references/metadata_data_table_csv_delete.md +1 -0
- package/skills/ae-metadata/references/metadata_data_table_csv_write.md +6 -6
- package/skills/ae-metadata/references/metadata_data_table_property_bindings_update.md +2 -2
- package/skills/ae-metadata/references/metadata_data_table_sql_delete.md +1 -0
- package/skills/ae-metadata/references/metadata_data_table_sql_write.md +21 -7
- package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +3 -3
- package/skills/ae-metadata/references/metadata_property_dimension_table_create_and_bind_csv.md +4 -4
- package/skills/ae-team/SKILL.md +9 -9
- package/skills/ae-team/references/create.md +2 -2
- package/skills/ae-team/references/delete.md +3 -3
- package/skills/ae-team/references/run-cancel.md +3 -3
- package/skills/ae-team/references/run-chat.md +4 -4
- package/skills/ae-team/references/run-reply.md +3 -3
- package/skills/ae-team/references/run-start.md +4 -5
- package/skills/ae-team/references/run-watch.md +1 -1
- package/skills/ae-team/references/update.md +2 -2
- package/dist/chunk-P2JRP6HJ.js +0 -42
- package/dist/chunk-S5XN6KEX.js +0 -42
- package/dist/te-analysis-DDXGM7WM.js +0 -3188
- package/dist/te-analysis-HCDNYI7E.js +0 -3188
- package/dist/te-audience-ECFS4GF4.js +0 -600
- package/dist/te-audience-WO377T2J.js +0 -600
- package/skills/ae-analysis/references/build_attribution_analysis_qp.md +0 -62
- package/skills/ae-analysis/references/build_cluster_definition.md +0 -62
- package/skills/ae-analysis/references/build_distribution_analysis_qp.md +0 -67
- package/skills/ae-analysis/references/build_entity_details_sql.md +0 -58
- package/skills/ae-analysis/references/build_event_analysis_qp.md +0 -134
- package/skills/ae-analysis/references/build_event_details_sql.md +0 -61
- package/skills/ae-analysis/references/build_funnel_analysis_qp.md +0 -145
- package/skills/ae-analysis/references/build_heat_map_analysis_qp.md +0 -54
- package/skills/ae-analysis/references/build_interval_analysis_qp.md +0 -60
- package/skills/ae-analysis/references/build_path_analysis_qp.md +0 -53
- package/skills/ae-analysis/references/build_prop_analysis_qp.md +0 -124
- package/skills/ae-analysis/references/build_rank_list_analysis_qp.md +0 -63
- package/skills/ae-analysis/references/build_retention_analysis_qp.md +0 -143
- package/skills/ae-analysis/references/build_tag_definition.md +0 -65
- package/skills/ae-analysis/references/copy_dashboard.md +0 -33
- package/skills/ae-analysis/references/create_cluster.md +0 -69
- package/skills/ae-analysis/references/create_dashboard.md +0 -49
- package/skills/ae-analysis/references/create_id_cluster.md +0 -40
- package/skills/ae-analysis/references/create_id_tag.md +0 -39
- package/skills/ae-analysis/references/create_or_update_dashboard_note.md +0 -39
- package/skills/ae-analysis/references/create_public_access_link.md +0 -43
- package/skills/ae-analysis/references/create_report.md +0 -60
- package/skills/ae-analysis/references/create_result_cluster.md +0 -73
- package/skills/ae-analysis/references/create_space.md +0 -34
- package/skills/ae-analysis/references/create_tag.md +0 -61
- package/skills/ae-analysis/references/delete_cluster.md +0 -27
- package/skills/ae-analysis/references/delete_dashboard.md +0 -30
- package/skills/ae-analysis/references/delete_report.md +0 -27
- package/skills/ae-analysis/references/delete_tag.md +0 -27
- package/skills/ae-analysis/references/drilldown_user_events.md +0 -74
- package/skills/ae-analysis/references/drilldown_users.md +0 -80
- package/skills/ae-analysis/references/freeze_dashboards.md +0 -29
- package/skills/ae-analysis/references/get_analysis_query_schema.md +0 -71
- package/skills/ae-analysis/references/get_bi_panel_detail.md +0 -35
- package/skills/ae-analysis/references/get_cluster_definition_schema.md +0 -53
- package/skills/ae-analysis/references/get_clusters_by_name.md +0 -69
- package/skills/ae-analysis/references/get_filter_schema.md +0 -33
- package/skills/ae-analysis/references/get_groupby_schema.md +0 -33
- package/skills/ae-analysis/references/get_report_definition.md +0 -37
- package/skills/ae-analysis/references/get_table_columns.md +0 -37
- package/skills/ae-analysis/references/get_tag_definition_schema.md +0 -49
- package/skills/ae-analysis/references/get_tags_by_name.md +0 -69
- package/skills/ae-analysis/references/list_bi_panels.md +0 -35
- package/skills/ae-analysis/references/list_cluster_members.md +0 -45
- package/skills/ae-analysis/references/list_clusters.md +0 -46
- package/skills/ae-analysis/references/list_dashboards.md +0 -43
- package/skills/ae-analysis/references/list_public_access_links.md +0 -41
- package/skills/ae-analysis/references/list_reports.md +0 -43
- package/skills/ae-analysis/references/list_spaces.md +0 -27
- package/skills/ae-analysis/references/list_tag_members.md +0 -46
- package/skills/ae-analysis/references/list_tags.md +0 -44
- package/skills/ae-analysis/references/move_dashboard.md +0 -33
- package/skills/ae-analysis/references/query_adhoc.md +0 -141
- package/skills/ae-analysis/references/query_bi_panel_data.md +0 -58
- package/skills/ae-analysis/references/query_dashboard_detail.md +0 -35
- package/skills/ae-analysis/references/query_dashboard_report_data.md +0 -63
- package/skills/ae-analysis/references/query_entity_details.md +0 -63
- package/skills/ae-analysis/references/query_event_details.md +0 -66
- package/skills/ae-analysis/references/query_report_data.md +0 -99
- package/skills/ae-analysis/references/refresh_cluster.md +0 -31
- package/skills/ae-analysis/references/refresh_tag.md +0 -31
- package/skills/ae-analysis/references/super_metadata_import.md +0 -24
- package/skills/ae-analysis/references/update_cluster.md +0 -61
- package/skills/ae-analysis/references/update_dashboard.md +0 -45
- package/skills/ae-analysis/references/update_id_cluster.md +0 -36
- package/skills/ae-analysis/references/update_id_tag.md +0 -37
- package/skills/ae-analysis/references/update_public_access_link.md +0 -41
- package/skills/ae-analysis/references/update_report.md +0 -35
- package/skills/ae-analysis/references/update_tag.md +0 -61
- package/skills/ae-analysis-intent/SKILL.md +0 -132
- package/skills/ae-metadata/references/metadata_input_file_upload.md +0 -29
package/README.md
CHANGED
|
@@ -84,7 +84,6 @@ ae-cli auth logout
|
|
|
84
84
|
| Domain | Commands | Description |
|
|
85
85
|
|--------|----------|-------------|
|
|
86
86
|
| `analysis` | 30+ | Analysis workflows: alerts, reports, dashboards, ad-hoc/drilldown, entity/event details, analysis schema |
|
|
87
|
-
| `analysis_audience` | 10+ | Audience operations: clusters, tags, and cluster/tag definition schema |
|
|
88
87
|
| `analysis_meta` | 20+ | Metadata governance: events/properties, metrics, virtual metadata, project config, tracking plan, mark times, entity catalog |
|
|
89
88
|
| `engage` | 40+ | Hermes Engage MCP: channels, tasks, configs, flows, strategies |
|
|
90
89
|
| `dataops_repo` | 1 | DataOps repo utilities: space discovery |
|
|
@@ -124,9 +123,10 @@ Retrieval primitives for external agents (`+index` → `+grep` → `+read`); the
|
|
|
124
123
|
|--------|-------------|---------|
|
|
125
124
|
| `--host <url>` | Override active AE host URL | from config |
|
|
126
125
|
| `--format <json\|table>` | Output format | json |
|
|
127
|
-
| `--jq <expr>` |
|
|
128
|
-
| `--
|
|
129
|
-
| `--
|
|
126
|
+
| `--jq <expr>` | jq 1.8 expression (jq-wasm) over command payload before output envelope | - |
|
|
127
|
+
| `--validate` | Fix params: capability gateway `/validate` only (curated gateway commands). Do not combine with `--dry-run` | false |
|
|
128
|
+
| `--dry-run` | Confirm ready to run: capability gateway `/dry-run` (or local transport preview). Do not combine with `--validate` | false |
|
|
129
|
+
| `--yes` | Skip high-risk write confirmation | false |
|
|
130
130
|
| `--no-update-check` | Skip checking for newer ae-cli versions | false |
|
|
131
131
|
|
|
132
132
|
## Skills
|
|
@@ -188,7 +188,7 @@ ae-cli is built with:
|
|
|
188
188
|
- **TypeScript** (~8000 lines of code)
|
|
189
189
|
- **Commander.js** for CLI framework
|
|
190
190
|
- **WebSocket** for MCP server integration
|
|
191
|
-
- **Node.js** runtime (
|
|
191
|
+
- **Node.js** runtime (v20+)
|
|
192
192
|
|
|
193
193
|
The project structure:
|
|
194
194
|
```
|
|
@@ -200,7 +200,6 @@ src/
|
|
|
200
200
|
├── auth.ts
|
|
201
201
|
├── config.ts
|
|
202
202
|
├── te-analysis/
|
|
203
|
-
├── te-audience/
|
|
204
203
|
├── te-meta/
|
|
205
204
|
├── te-engage/
|
|
206
205
|
├── te-dataops/
|
|
@@ -213,7 +212,6 @@ src/
|
|
|
213
212
|
|
|
214
213
|
```bash
|
|
215
214
|
npm run verify:analysis-tools
|
|
216
|
-
npm run verify:analysis-audience-tools
|
|
217
215
|
npm run verify:analysis-meta-tools
|
|
218
216
|
npm run verify:analysis-common-tools
|
|
219
217
|
```
|
package/README.zh.md
CHANGED
|
@@ -84,7 +84,6 @@ ae-cli auth logout
|
|
|
84
84
|
| 域 | 命令数 | 描述 |
|
|
85
85
|
|---|---|---|
|
|
86
86
|
| `analysis` | 30+ | 分析工作流:告警、报表、仪表板、即时分析/下钻、实体/事件详情、分析模型 |
|
|
87
|
-
| `analysis_audience` | 10+ | 受众运营:分群、标签及其定义模型 |
|
|
88
87
|
| `analysis_meta` | 20+ | 元数据治理:事件/属性、指标、虚拟元数据、项目配置、埋点方案、标记时间、实体目录 |
|
|
89
88
|
| `engage` | 40+ | Hermes Engage MCP:渠道、任务、配置、流程、策略 |
|
|
90
89
|
| `dataops_repo` | 1 | DataOps 仓库辅助:空间发现 |
|
|
@@ -125,9 +124,10 @@ ae-cli auth logout
|
|
|
125
124
|
|---|---|---|
|
|
126
125
|
| `--host <url>` | 覆盖当前 AE 主机 URL | 从配置读取 |
|
|
127
126
|
| `--format <json\|table>` | 输出格式 | json |
|
|
128
|
-
| `--jq <expr>` |
|
|
129
|
-
| `--dry-run`
|
|
130
|
-
| `--
|
|
127
|
+
| `--jq <expr>` | jq 1.8 表达式(jq-wasm),作用于命令业务结果,再包进输出信封 | - |
|
|
128
|
+
| `--validate` | 改对参数:仅能力网关 `/validate`(精选网关命令)。勿与 `--dry-run` 同用 | false |
|
|
129
|
+
| `--dry-run` | 确认可以跑:能力网关 `/dry-run`(或其它传输的请求预览)。勿与 `--validate` 同用 | false |
|
|
130
|
+
| `--yes` | 跳过高风险写操作确认 | false |
|
|
131
131
|
| `--no-update-check` | 跳过 ae-cli 新版本检查 | false |
|
|
132
132
|
|
|
133
133
|
## Skills
|
|
@@ -189,7 +189,7 @@ ae-cli 基于:
|
|
|
189
189
|
- **TypeScript**(约 8000 行代码)
|
|
190
190
|
- **Commander.js** 作为 CLI 框架
|
|
191
191
|
- **WebSocket** 用于 MCP 服务器集成
|
|
192
|
-
- **Node.js** 运行时(
|
|
192
|
+
- **Node.js** 运行时(v20+)
|
|
193
193
|
|
|
194
194
|
项目结构:
|
|
195
195
|
```
|
|
@@ -201,7 +201,6 @@ src/
|
|
|
201
201
|
├── auth.ts
|
|
202
202
|
├── config.ts
|
|
203
203
|
├── te-analysis/
|
|
204
|
-
├── te-audience/
|
|
205
204
|
├── te-meta/
|
|
206
205
|
├── te-engage/
|
|
207
206
|
├── te-dataops/
|
|
@@ -214,7 +213,6 @@ src/
|
|
|
214
213
|
|
|
215
214
|
```bash
|
|
216
215
|
npm run verify:analysis-tools
|
|
217
|
-
npm run verify:analysis-audience-tools
|
|
218
216
|
npm run verify:analysis-meta-tools
|
|
219
217
|
npm run verify:analysis-common-tools
|
|
220
218
|
```
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {
|
|
2
2
|
printError,
|
|
3
3
|
printOutput
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-TNW2CI4W.js";
|
|
5
5
|
import {
|
|
6
6
|
clearCliToken,
|
|
7
7
|
mintCliToken
|
|
@@ -302,12 +302,12 @@ function registerAuth(program) {
|
|
|
302
302
|
activateHostAfterLogin(host, explicitHost);
|
|
303
303
|
logger.info(`Device flow login successful for ${host} (resumed)`);
|
|
304
304
|
emit("Login successful! Token saved securely.");
|
|
305
|
-
printOutput(loginSummary(host, tokens2), fmt);
|
|
305
|
+
await printOutput(loginSummary(host, tokens2), fmt);
|
|
306
306
|
return;
|
|
307
307
|
}
|
|
308
308
|
if (opts.wait === false) {
|
|
309
309
|
const authResp = await authorizeDevice(teClaudeBase);
|
|
310
|
-
printOutput(
|
|
310
|
+
await printOutput(
|
|
311
311
|
{
|
|
312
312
|
device_code: authResp.device_code,
|
|
313
313
|
user_code: authResp.user_code,
|
|
@@ -325,7 +325,7 @@ function registerAuth(program) {
|
|
|
325
325
|
activateHostAfterLogin(host, explicitHost);
|
|
326
326
|
logger.info(`Device flow login successful for ${host}`);
|
|
327
327
|
emit("Login successful! Token saved securely.");
|
|
328
|
-
printOutput(loginSummary(host, tokens), fmt);
|
|
328
|
+
await printOutput(loginSummary(host, tokens), fmt);
|
|
329
329
|
} catch (err) {
|
|
330
330
|
if (err instanceof DeviceFlowUnsupportedError) {
|
|
331
331
|
printError(
|
|
@@ -342,13 +342,13 @@ function registerAuth(program) {
|
|
|
342
342
|
auth.command("status").description("Show authentication status for a host (--host or active host)").option("--host <url>", HOST_OPTION_DESC).action(async (opts) => {
|
|
343
343
|
const host = resolveAuthHost(program, opts);
|
|
344
344
|
if (!host) {
|
|
345
|
-
printOutput({ authenticated: false, host: "(none)", hint: "Run: ae-cli config set-host <url>" }, program.opts().format || "json");
|
|
345
|
+
await printOutput({ authenticated: false, host: "(none)", hint: "Run: ae-cli config set-host <url>" }, program.opts().format || "json");
|
|
346
346
|
return;
|
|
347
347
|
}
|
|
348
348
|
const secureEntry = load(host);
|
|
349
349
|
if (secureEntry) {
|
|
350
350
|
const pastStaticExpiry = new Date(secureEntry.accessExpiresAt).getTime() < Date.now();
|
|
351
|
-
printOutput(
|
|
351
|
+
await printOutput(
|
|
352
352
|
{
|
|
353
353
|
authenticated: true,
|
|
354
354
|
host,
|
|
@@ -364,7 +364,7 @@ function registerAuth(program) {
|
|
|
364
364
|
}
|
|
365
365
|
const fallbackCliToken = getFallbackCliToken(host);
|
|
366
366
|
if (fallbackCliToken) {
|
|
367
|
-
printOutput(
|
|
367
|
+
await printOutput(
|
|
368
368
|
{
|
|
369
369
|
authenticated: true,
|
|
370
370
|
host,
|
|
@@ -376,9 +376,9 @@ function registerAuth(program) {
|
|
|
376
376
|
);
|
|
377
377
|
return;
|
|
378
378
|
}
|
|
379
|
-
printOutput({ authenticated: false, host, source: "none" }, program.opts().format || "json");
|
|
379
|
+
await printOutput({ authenticated: false, host, source: "none" }, program.opts().format || "json");
|
|
380
380
|
});
|
|
381
|
-
auth.command("logout").description("Clear stored credentials (access token, CLI token, and host config) for a host (--host or active host)").option("--host <url>", HOST_OPTION_DESC).action((opts) => {
|
|
381
|
+
auth.command("logout").description("Clear stored credentials (access token, CLI token, and host config) for a host (--host or active host)").option("--host <url>", HOST_OPTION_DESC).action(async (opts) => {
|
|
382
382
|
const host = resolveAuthHost(program, opts);
|
|
383
383
|
if (!host) {
|
|
384
384
|
printError("config", "No AE host configured.", "Run: ae-cli config set-host <url>");
|
|
@@ -389,7 +389,7 @@ function registerAuth(program) {
|
|
|
389
389
|
removeHost(host);
|
|
390
390
|
process.stderr.write(`[ae-cli] Credentials and config cleared for ${host}
|
|
391
391
|
`);
|
|
392
|
-
printOutput({ cleared: true, host }, program.opts().format || "json");
|
|
392
|
+
await printOutput({ cleared: true, host }, program.opts().format || "json");
|
|
393
393
|
});
|
|
394
394
|
}
|
|
395
395
|
export {
|
|
@@ -2,20 +2,21 @@ import {
|
|
|
2
2
|
normalizeRiskLevel,
|
|
3
3
|
requiresConfirmation
|
|
4
4
|
} from "./chunk-OO6XR6LK.js";
|
|
5
|
-
import {
|
|
6
|
-
printError,
|
|
7
|
-
printOutput
|
|
8
|
-
} from "./chunk-ZAOL36CG.js";
|
|
9
5
|
import {
|
|
10
6
|
findGatewayDomain
|
|
11
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-HL2AJQ4Q.js";
|
|
12
8
|
import {
|
|
13
9
|
CapabilityGatewayError,
|
|
14
10
|
dryRunCapability,
|
|
15
11
|
executeCapability,
|
|
16
12
|
inspectCapability,
|
|
17
|
-
listCapabilities
|
|
18
|
-
|
|
13
|
+
listCapabilities,
|
|
14
|
+
validateCapability
|
|
15
|
+
} from "./chunk-I4A62X3N.js";
|
|
16
|
+
import {
|
|
17
|
+
printError,
|
|
18
|
+
printOutput
|
|
19
|
+
} from "./chunk-TNW2CI4W.js";
|
|
19
20
|
import {
|
|
20
21
|
PermissionError
|
|
21
22
|
} from "./chunk-NOO24N7W.js";
|
|
@@ -135,7 +136,31 @@ function registerCapability(program) {
|
|
|
135
136
|
return inspectCapability(host, gatewayDomain, capabilityId);
|
|
136
137
|
});
|
|
137
138
|
}).addHelpText("after", "\nExample:\n ae-cli capability inspect analysis.dashboard.list");
|
|
138
|
-
capability.command("
|
|
139
|
+
capability.command("validate").description(
|
|
140
|
+
"Validate and normalize capability input only (schema/params). Does not execute business logic. Use when crafting complex payloads (nested objects, qp, share/member payloads) before dry-run/run. Success data: valid, capability_id, normalized_input. Unlike dry-run, does not return risk/output_mode/supports_cancel preview."
|
|
141
|
+
).argument("<capability-id>", "Capability ID, such as metadata.data_table.sql_write").option("--domain <domain>", "Override the capability namespace used for gateway routing").option("--input <json-or-path>", "Input JSON object, file path, @<path>, or - for stdin").action(async (capabilityId, opts) => {
|
|
142
|
+
await executeAndPrint(program, async (host) => {
|
|
143
|
+
const gatewayDomain = resolveCapabilityGatewayDomain(capabilityId, opts.domain);
|
|
144
|
+
return validateCapability(host, gatewayDomain, capabilityId, parseCapabilityInput(opts.input));
|
|
145
|
+
});
|
|
146
|
+
}).addHelpText(
|
|
147
|
+
"after",
|
|
148
|
+
`
|
|
149
|
+
When to use:
|
|
150
|
+
Prefer validate while iterating complex input (required fields, types, qp shape), then run.
|
|
151
|
+
Prefer dry-run alone when you need risk / output mode / cancelability or a delete gate.
|
|
152
|
+
Motto: validate = fix params; dry-run = confirm ready to run.
|
|
153
|
+
Do not stack validate + dry-run on the same final input by default (dry-run already validates params).
|
|
154
|
+
Neither mutates business data. Curated gateway commands: global --validate / --dry-run.
|
|
155
|
+
|
|
156
|
+
Examples:
|
|
157
|
+
ae-cli capability validate metadata.data_table.sql_write --input '{"project_id":1,"operation":"create",...}'
|
|
158
|
+
ae-cli metadata data-table sql-write --project-id 1 ... --validate
|
|
159
|
+
ae-cli capability validate analysis.project_space.create --input input.json`
|
|
160
|
+
);
|
|
161
|
+
capability.command("dry-run").description(
|
|
162
|
+
"Full pre-execution confirmation without running business logic: validates/normalizes input and returns risk, output_mode, and supports_cancel. Use alone when you need that preview or a delete gate (do not stack after validate on the same final input by default). Global --dry-run on curated/capability run also hits this endpoint."
|
|
163
|
+
).argument("<capability-id>", "Capability ID, such as analysis.query.export").option("--domain <domain>", "Override the capability namespace used for gateway routing").option("--input <json-or-path>", "Input JSON object, file path, @<path>, or - for stdin").action(async (capabilityId, opts) => {
|
|
139
164
|
await executeAndPrint(program, async (host) => {
|
|
140
165
|
const gatewayDomain = resolveCapabilityGatewayDomain(capabilityId, opts.domain);
|
|
141
166
|
return dryRunCapability(host, gatewayDomain, capabilityId, parseCapabilityInput(opts.input));
|
|
@@ -151,6 +176,15 @@ Examples:
|
|
|
151
176
|
await executeAndPrint(program, async (host, globalOpts) => {
|
|
152
177
|
const gatewayDomain = resolveCapabilityGatewayDomain(capabilityId, opts.domain);
|
|
153
178
|
const input = parseCapabilityInput(opts.input);
|
|
179
|
+
if (globalOpts.validate && globalOpts.dryRun) {
|
|
180
|
+
throw new CapabilityCommandValidationError(
|
|
181
|
+
"Cannot combine --validate and --dry-run.",
|
|
182
|
+
"Use --validate to fix parameters; use --dry-run as the pre-execution confirmation."
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
if (globalOpts.validate) {
|
|
186
|
+
return validateCapability(host, gatewayDomain, capabilityId, input);
|
|
187
|
+
}
|
|
154
188
|
if (globalOpts.dryRun) {
|
|
155
189
|
return dryRunCapability(host, gatewayDomain, capabilityId, input);
|
|
156
190
|
}
|
|
@@ -172,7 +206,7 @@ Examples:
|
|
|
172
206
|
`
|
|
173
207
|
Examples:
|
|
174
208
|
ae-cli capability run analysis.dashboard.list --input '{"project_id":1}'
|
|
175
|
-
ae-cli capability run analysis.dashboard.list --input input.json
|
|
209
|
+
ae-cli capability run analysis.dashboard.list --input input.json`
|
|
176
210
|
);
|
|
177
211
|
}
|
|
178
212
|
async function executeAndPrint(program, action) {
|
|
@@ -186,9 +220,14 @@ async function executeAndPrint(program, action) {
|
|
|
186
220
|
try {
|
|
187
221
|
const result = await action(host, globalOpts);
|
|
188
222
|
if (result !== void 0) {
|
|
189
|
-
printOutput(result, globalOpts.format ?? "json", globalOpts.jq);
|
|
223
|
+
await printOutput(result, globalOpts.format ?? "json", globalOpts.jq);
|
|
190
224
|
}
|
|
191
225
|
} catch (error) {
|
|
226
|
+
if (error?.type === "validation" && String(error?.message || "").includes("--jq")) {
|
|
227
|
+
printError("validation", error.message, error.hint);
|
|
228
|
+
process.exitCode = 1;
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
192
231
|
printCapabilityError(error);
|
|
193
232
|
process.exitCode = 1;
|
|
194
233
|
}
|
|
@@ -2,20 +2,21 @@ import {
|
|
|
2
2
|
normalizeRiskLevel,
|
|
3
3
|
requiresConfirmation
|
|
4
4
|
} from "./chunk-OO6XR6LK.js";
|
|
5
|
-
import {
|
|
6
|
-
printError,
|
|
7
|
-
printOutput
|
|
8
|
-
} from "./chunk-ZAOL36CG.js";
|
|
9
5
|
import {
|
|
10
6
|
findGatewayDomain
|
|
11
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-HL2AJQ4Q.js";
|
|
12
8
|
import {
|
|
13
9
|
CapabilityGatewayError,
|
|
14
10
|
dryRunCapability,
|
|
15
11
|
executeCapability,
|
|
16
12
|
inspectCapability,
|
|
17
|
-
listCapabilities
|
|
18
|
-
|
|
13
|
+
listCapabilities,
|
|
14
|
+
validateCapability
|
|
15
|
+
} from "./chunk-DYOS6YY7.js";
|
|
16
|
+
import {
|
|
17
|
+
printError,
|
|
18
|
+
printOutput
|
|
19
|
+
} from "./chunk-TNW2CI4W.js";
|
|
19
20
|
import {
|
|
20
21
|
PermissionError
|
|
21
22
|
} from "./chunk-NOO24N7W.js";
|
|
@@ -135,7 +136,31 @@ function registerCapability(program) {
|
|
|
135
136
|
return inspectCapability(host, gatewayDomain, capabilityId);
|
|
136
137
|
});
|
|
137
138
|
}).addHelpText("after", "\nExample:\n ae-cli capability inspect analysis.dashboard.list");
|
|
138
|
-
capability.command("
|
|
139
|
+
capability.command("validate").description(
|
|
140
|
+
"Validate and normalize capability input only (schema/params). Does not execute business logic. Use when crafting complex payloads (nested objects, qp, share/member payloads) before dry-run/run. Success data: valid, capability_id, normalized_input. Unlike dry-run, does not return risk/output_mode/supports_cancel preview."
|
|
141
|
+
).argument("<capability-id>", "Capability ID, such as metadata.data_table.sql_write").option("--domain <domain>", "Override the capability namespace used for gateway routing").option("--input <json-or-path>", "Input JSON object, file path, @<path>, or - for stdin").action(async (capabilityId, opts) => {
|
|
142
|
+
await executeAndPrint(program, async (host) => {
|
|
143
|
+
const gatewayDomain = resolveCapabilityGatewayDomain(capabilityId, opts.domain);
|
|
144
|
+
return validateCapability(host, gatewayDomain, capabilityId, parseCapabilityInput(opts.input));
|
|
145
|
+
});
|
|
146
|
+
}).addHelpText(
|
|
147
|
+
"after",
|
|
148
|
+
`
|
|
149
|
+
When to use:
|
|
150
|
+
Prefer validate while iterating complex input (required fields, types, qp shape), then run.
|
|
151
|
+
Prefer dry-run alone when you need risk / output mode / cancelability or a delete gate.
|
|
152
|
+
Motto: validate = fix params; dry-run = confirm ready to run.
|
|
153
|
+
Do not stack validate + dry-run on the same final input by default (dry-run already validates params).
|
|
154
|
+
Neither mutates business data. Curated gateway commands: global --validate / --dry-run.
|
|
155
|
+
|
|
156
|
+
Examples:
|
|
157
|
+
ae-cli capability validate metadata.data_table.sql_write --input '{"project_id":1,"operation":"create",...}'
|
|
158
|
+
ae-cli metadata data-table sql-write --project-id 1 ... --validate
|
|
159
|
+
ae-cli capability validate analysis.project_space.create --input input.json`
|
|
160
|
+
);
|
|
161
|
+
capability.command("dry-run").description(
|
|
162
|
+
"Full pre-execution confirmation without running business logic: validates/normalizes input and returns risk, output_mode, and supports_cancel. Use alone when you need that preview or a delete gate (do not stack after validate on the same final input by default). Global --dry-run on curated/capability run also hits this endpoint."
|
|
163
|
+
).argument("<capability-id>", "Capability ID, such as analysis.query.export").option("--domain <domain>", "Override the capability namespace used for gateway routing").option("--input <json-or-path>", "Input JSON object, file path, @<path>, or - for stdin").action(async (capabilityId, opts) => {
|
|
139
164
|
await executeAndPrint(program, async (host) => {
|
|
140
165
|
const gatewayDomain = resolveCapabilityGatewayDomain(capabilityId, opts.domain);
|
|
141
166
|
return dryRunCapability(host, gatewayDomain, capabilityId, parseCapabilityInput(opts.input));
|
|
@@ -151,6 +176,15 @@ Examples:
|
|
|
151
176
|
await executeAndPrint(program, async (host, globalOpts) => {
|
|
152
177
|
const gatewayDomain = resolveCapabilityGatewayDomain(capabilityId, opts.domain);
|
|
153
178
|
const input = parseCapabilityInput(opts.input);
|
|
179
|
+
if (globalOpts.validate && globalOpts.dryRun) {
|
|
180
|
+
throw new CapabilityCommandValidationError(
|
|
181
|
+
"Cannot combine --validate and --dry-run.",
|
|
182
|
+
"Use --validate to fix parameters; use --dry-run as the pre-execution confirmation."
|
|
183
|
+
);
|
|
184
|
+
}
|
|
185
|
+
if (globalOpts.validate) {
|
|
186
|
+
return validateCapability(host, gatewayDomain, capabilityId, input);
|
|
187
|
+
}
|
|
154
188
|
if (globalOpts.dryRun) {
|
|
155
189
|
return dryRunCapability(host, gatewayDomain, capabilityId, input);
|
|
156
190
|
}
|
|
@@ -172,7 +206,7 @@ Examples:
|
|
|
172
206
|
`
|
|
173
207
|
Examples:
|
|
174
208
|
ae-cli capability run analysis.dashboard.list --input '{"project_id":1}'
|
|
175
|
-
ae-cli capability run analysis.dashboard.list --input input.json
|
|
209
|
+
ae-cli capability run analysis.dashboard.list --input input.json`
|
|
176
210
|
);
|
|
177
211
|
}
|
|
178
212
|
async function executeAndPrint(program, action) {
|
|
@@ -186,9 +220,14 @@ async function executeAndPrint(program, action) {
|
|
|
186
220
|
try {
|
|
187
221
|
const result = await action(host, globalOpts);
|
|
188
222
|
if (result !== void 0) {
|
|
189
|
-
printOutput(result, globalOpts.format ?? "json", globalOpts.jq);
|
|
223
|
+
await printOutput(result, globalOpts.format ?? "json", globalOpts.jq);
|
|
190
224
|
}
|
|
191
225
|
} catch (error) {
|
|
226
|
+
if (error?.type === "validation" && String(error?.message || "").includes("--jq")) {
|
|
227
|
+
printError("validation", error.message, error.hint);
|
|
228
|
+
process.exitCode = 1;
|
|
229
|
+
return;
|
|
230
|
+
}
|
|
192
231
|
printCapabilityError(error);
|
|
193
232
|
process.exitCode = 1;
|
|
194
233
|
}
|
|
@@ -168,6 +168,16 @@ async function callMcpTool(url, toolName, args = {}, hostOverride) {
|
|
|
168
168
|
};
|
|
169
169
|
}
|
|
170
170
|
function parseMcpResult(result) {
|
|
171
|
+
if (result.isError) {
|
|
172
|
+
const firstText = result.content.find((item) => item.type === "text")?.text || "";
|
|
173
|
+
let errorMessage = firstText.trim() || "MCP tool call failed";
|
|
174
|
+
try {
|
|
175
|
+
const parsed = safeJsonParse(firstText);
|
|
176
|
+
errorMessage = mcpResultErrorMessage(parsed) || errorMessage;
|
|
177
|
+
} catch {
|
|
178
|
+
}
|
|
179
|
+
throwMcpError(errorMessage);
|
|
180
|
+
}
|
|
171
181
|
if (result.content.length > 0 && result.content[0].type === "text") {
|
|
172
182
|
const text = result.content[0].text || "";
|
|
173
183
|
let parsed;
|
|
@@ -178,10 +188,7 @@ function parseMcpResult(result) {
|
|
|
178
188
|
}
|
|
179
189
|
const errMsg = mcpResultErrorMessage(parsed);
|
|
180
190
|
if (errMsg !== null) {
|
|
181
|
-
|
|
182
|
-
throw new PermissionError(errMsg);
|
|
183
|
-
}
|
|
184
|
-
throw new Error(errMsg);
|
|
191
|
+
throwMcpError(errMsg);
|
|
185
192
|
}
|
|
186
193
|
return parsed;
|
|
187
194
|
}
|
|
@@ -190,6 +197,7 @@ function parseMcpResult(result) {
|
|
|
190
197
|
function mcpResultErrorMessage(parsed) {
|
|
191
198
|
if (!parsed || typeof parsed !== "object" || Array.isArray(parsed)) return null;
|
|
192
199
|
if (parsed.success === true || parsed.ok === true) return null;
|
|
200
|
+
const explicitlyFailed = parsed.success === false || parsed.ok === false;
|
|
193
201
|
const e = parsed.error;
|
|
194
202
|
if (typeof e === "string" && e.trim()) return e;
|
|
195
203
|
if (e && typeof e === "object") {
|
|
@@ -198,8 +206,21 @@ function mcpResultErrorMessage(parsed) {
|
|
|
198
206
|
if (msg && code) return `${code}: ${msg}`;
|
|
199
207
|
if (msg || code) return msg || code;
|
|
200
208
|
}
|
|
209
|
+
if (explicitlyFailed) {
|
|
210
|
+
const msg = typeof parsed.message === "string" && parsed.message.trim() ? parsed.message.trim() : void 0;
|
|
211
|
+
const codeValue = parsed.errorCode ?? parsed.error_code ?? parsed.code;
|
|
212
|
+
const code = typeof codeValue === "string" && codeValue.trim() ? codeValue.trim() : void 0;
|
|
213
|
+
if (msg && code) return `${code}: ${msg}`;
|
|
214
|
+
return msg || code || "MCP tool call failed";
|
|
215
|
+
}
|
|
201
216
|
return null;
|
|
202
217
|
}
|
|
218
|
+
function throwMcpError(message) {
|
|
219
|
+
if (/no_auth|auth_error|permission|forbidden|unauthor|\u65e0\u6743/i.test(message)) {
|
|
220
|
+
throw new PermissionError(message);
|
|
221
|
+
}
|
|
222
|
+
throw new Error(message);
|
|
223
|
+
}
|
|
203
224
|
|
|
204
225
|
export {
|
|
205
226
|
registerMcpMappings,
|