@thinkingai/ae-cli 6.0.30 → 6.0.32
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 -9
- package/README.zh.md +8 -9
- package/dist/{auth-7TQRGLBC.js → auth-7H3HAAJ3.js} +10 -10
- package/dist/{capability-KVA55RMK.js → capability-QW4AVJHI.js} +49 -10
- package/dist/{capability-LKHLZQPD.js → capability-SCRFGODD.js} +49 -10
- package/dist/{chunk-GWZ5MYWE.js → chunk-6LEYLOV3.js} +25 -4
- package/dist/chunk-7OLGDQQ2.js +71 -0
- package/dist/{chunk-THBBNYXI.js → chunk-DYOS6YY7.js} +100 -62
- package/dist/{chunk-OJR23CIK.js → chunk-I4A62X3N.js} +100 -61
- package/dist/{chunk-7QQ4233A.js → chunk-PKRD2IEM.js} +25 -4
- package/dist/{chunk-CWZUGF2J.js → chunk-PTE56QPL.js} +15 -0
- package/dist/chunk-TBHBYKXZ.js +71 -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 +182 -63
- package/dist/{metadata-6CCFV4K5.js → metadata-BFDL6RUK.js} +6 -43
- package/dist/{metadata-PDOIWH5O.js → metadata-FCLDBXX2.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-PUVF5IF4.js +5736 -0
- package/dist/te-analysis-UJDOKPAN.js +5736 -0
- package/dist/te-common-VUX3VOXZ.js +60 -0
- package/dist/te-common-XLAGWNIV.js +60 -0
- 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-K4AEUPK5.js +3894 -0
- package/dist/te-engage-QBCCME22.js +3894 -0
- package/dist/{te-kb-NT33UHAE.js → te-kb-AYCODNU6.js} +56 -17
- package/dist/{te-meta-PKT27OTN.js → te-meta-ARDIW3YI.js} +4 -237
- package/dist/{te-meta-FADFLTDM.js → te-meta-UUROEODR.js} +4 -237
- 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 +108 -512
- package/skills/ae-analysis/references/adhoc_export.md +68 -0
- package/skills/ae-analysis/references/adhoc_run.md +54 -0
- package/skills/ae-analysis/references/ai_models.md +475 -0
- package/skills/ae-analysis/references/analysis_data_retrieval.md +101 -0
- package/skills/ae-analysis/references/analysis_drilldown_contract.md +93 -0
- package/skills/ae-analysis/references/analysis_gateway_assets.md +73 -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 +29 -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 +243 -0
- package/skills/ae-analysis/references/create_alert.md +1 -1
- package/skills/ae-analysis/references/create_entity.md +3 -3
- package/skills/ae-analysis/references/create_project_mark_time.md +2 -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_project_mark_times.md +5 -3
- package/skills/ae-analysis/references/delete_track_items.md +4 -3
- package/skills/ae-analysis/references/drilldown_entities_export.md +26 -0
- package/skills/ae-analysis/references/drilldown_entities_run.md +33 -0
- package/skills/ae-analysis/references/drilldown_events_export.md +21 -0
- package/skills/ae-analysis/references/drilldown_events_run.md +23 -0
- package/skills/ae-analysis/references/drilldown_user_events_export.md +23 -0
- package/skills/ae-analysis/references/drilldown_user_events_run.md +34 -0
- package/skills/ae-analysis/references/entity_detail_export.md +33 -0
- package/skills/ae-analysis/references/entity_detail_run.md +57 -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 +33 -0
- package/skills/ae-analysis/references/event_detail_run.md +60 -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 +12 -4
- 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_project_config.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 +4 -3
- 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/load_filters.md +3 -0
- package/skills/ae-analysis/references/metric_create.md +20 -6
- package/skills/ae-analysis/references/metric_delete.md +12 -4
- package/skills/ae-analysis/references/metric_get.md +8 -2
- package/skills/ae-analysis/references/metric_list.md +17 -4
- package/skills/ae-analysis/references/metric_update.md +23 -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_access_detail_get.md +23 -0
- package/skills/ae-analysis/references/project_data_power_delete.md +26 -0
- package/skills/ae-analysis/references/project_data_power_get.md +24 -0
- package/skills/ae-analysis/references/project_data_power_list.md +23 -0
- package/skills/ae-analysis/references/project_data_power_upsert.md +24 -0
- package/skills/ae-analysis/references/project_entity_create.md +27 -0
- package/skills/ae-analysis/references/project_entity_delete.md +25 -0
- package/skills/ae-analysis/references/project_entity_event_list.md +24 -0
- package/skills/ae-analysis/references/project_entity_get.md +24 -0
- package/skills/ae-analysis/references/project_entity_list.md +28 -0
- package/skills/ae-analysis/references/project_entity_update.md +28 -0
- package/skills/ae-analysis/references/project_function_list.md +24 -0
- package/skills/ae-analysis/references/project_info_get.md +23 -0
- package/skills/ae-analysis/references/project_info_list.md +26 -0
- package/skills/ae-analysis/references/project_info_update.md +25 -0
- package/skills/ae-analysis/references/project_mark_time_create.md +27 -0
- package/skills/ae-analysis/references/project_mark_time_delete.md +25 -0
- package/skills/ae-analysis/references/project_mark_time_list.md +28 -0
- package/skills/ae-analysis/references/project_mark_time_update.md +28 -0
- package/skills/ae-analysis/references/project_member_add.md +25 -0
- package/skills/ae-analysis/references/project_member_batch_update.md +24 -0
- package/skills/ae-analysis/references/project_member_candidate_list.md +25 -0
- package/skills/ae-analysis/references/project_member_handover_export.md +27 -0
- package/skills/ae-analysis/references/project_member_handover_run.md +24 -0
- package/skills/ae-analysis/references/project_member_import.md +25 -0
- package/skills/ae-analysis/references/project_member_list.md +23 -0
- package/skills/ae-analysis/references/project_member_receiver_list.md +23 -0
- package/skills/ae-analysis/references/project_member_remove.md +26 -0
- package/skills/ae-analysis/references/project_member_update.md +25 -0
- package/skills/ae-analysis/references/project_owner_update.md +27 -0
- package/skills/ae-analysis/references/project_permission_binding_list.md +24 -0
- package/skills/ae-analysis/references/project_receive_status_update.md +25 -0
- package/skills/ae-analysis/references/project_role_delete.md +25 -0
- package/skills/ae-analysis/references/project_role_function_list.md +27 -0
- package/skills/ae-analysis/references/project_role_get.md +23 -0
- package/skills/ae-analysis/references/project_role_list.md +25 -0
- package/skills/ae-analysis/references/project_role_upsert.md +24 -0
- package/skills/ae-analysis/references/project_role_user_list.md +23 -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/project_timezone_get.md +23 -0
- package/skills/ae-analysis/references/project_timezone_overview.md +23 -0
- package/skills/ae-analysis/references/project_timezone_update.md +25 -0
- package/skills/ae-analysis/references/project_user_id_items_update.md +24 -0
- 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 +21 -6
- 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 +2 -2
- 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 +29 -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 +23 -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_project_mark_time.md +4 -3
- package/skills/ae-analysis/references/user_cluster_create.md +17 -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 +15 -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 +13 -0
- package/skills/ae-analysis/references/user_cluster_update.md +15 -0
- package/skills/ae-analysis/references/user_cluster_update_id.md +15 -0
- package/skills/ae-analysis/references/user_tag_create.md +17 -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 +15 -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 +13 -0
- package/skills/ae-analysis/references/user_tag_update.md +15 -0
- package/skills/ae-analysis/references/user_tag_update_id.md +15 -0
- package/skills/ae-analysis/references/virtual_event_create.md +24 -5
- 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 +34 -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 +233 -10
- package/skills/ae-engage/references/activity-activity-type.md +42 -0
- package/skills/ae-engage/references/activity-activity.md +70 -0
- package/skills/ae-engage/references/activity-approval.md +53 -0
- package/skills/ae-engage/references/activity-task.md +87 -0
- package/skills/ae-engage/references/activity-topic.md +98 -0
- package/skills/ae-engage/references/approval-approver-delete.md +26 -0
- package/skills/ae-engage/references/build-task-save-guide.md +11 -9
- package/skills/ae-engage/references/channel-test-send.md +37 -0
- package/skills/ae-engage/references/channel-touch-limits-batch-update.md +28 -0
- package/skills/ae-engage/references/channel-touch-limits-save.md +37 -0
- package/skills/ae-engage/references/channel-touch-limits-toggle.md +28 -0
- package/skills/ae-engage/references/channel-update-config.md +36 -0
- package/skills/ae-engage/references/channel_touch_limits_list.md +29 -0
- package/skills/ae-engage/references/client-param.md +58 -0
- package/skills/ae-engage/references/common-metric.md +75 -0
- package/skills/ae-engage/references/config-table.md +92 -0
- package/skills/ae-engage/references/engage-scene-config-item.md +69 -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/preset-event.md +42 -0
- package/skills/ae-engage/references/push-language.md +39 -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/scene-config-channel.md +58 -0
- package/skills/ae-engage/references/scene-config-group.md +62 -0
- package/skills/ae-engage/references/scene-config-item.md +68 -0
- package/skills/ae-engage/references/scene-config-metric.md +79 -0
- package/skills/ae-engage/references/scene-config-param.md +72 -0
- package/skills/ae-engage/references/scene-preset-metric.md +45 -0
- package/skills/ae-engage/references/scene-strategy.md +47 -0
- package/skills/ae-engage/references/scene-template.md +71 -0
- package/skills/ae-engage/references/segment-list-query.md +18 -0
- package/skills/ae-engage/references/task-delete.md +14 -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-engage/references/whitelist.md +72 -0
- package/skills/ae-engage/references/workbench-workbench.md +48 -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 +21 -13
- package/skills/ae-generate-tracking-plan/references/te-api.md +2 -1
- package/skills/ae-kb/SKILL.md +33 -7
- package/skills/ae-metadata/SKILL.md +10 -9
- 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_event_get.md +4 -4
- package/skills/ae-metadata/references/metadata_property_dimension_table_bind_existing.md +4 -4
- package/skills/ae-metadata/references/metadata_property_dimension_table_create_and_bind_csv.md +4 -4
- package/skills/ae-metadata/references/metadata_property_get.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/dist/te-common-CFGQXTFV.js +0 -130
- package/dist/te-common-SDB3O2QG.js +0 -130
- package/dist/te-engage-545HJL6J.js +0 -1525
- package/dist/te-engage-M7JQSJDP.js +0 -1525
- 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_metric.md +0 -62
- 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/create_virtual_event.md +0 -64
- package/skills/ae-analysis/references/create_virtual_property.md +0 -69
- 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_metric.md +0 -27
- 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_metric.md +0 -38
- package/skills/ae-analysis/references/get_report_definition.md +0 -37
- package/skills/ae-analysis/references/get_resource_url.md +0 -32
- 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_events.md +0 -46
- package/skills/ae-analysis/references/list_metrics.md +0 -52
- package/skills/ae-analysis/references/list_properties.md +0 -47
- 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_metric.md +0 -61
- 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
|
@@ -4,6 +4,7 @@ import {
|
|
|
4
4
|
|
|
5
5
|
// src/framework/output.ts
|
|
6
6
|
import Table from "cli-table3";
|
|
7
|
+
import { JqError, json as jqJson } from "jq-wasm";
|
|
7
8
|
var KNOWN_ARRAY_FIELDS = [
|
|
8
9
|
"items",
|
|
9
10
|
"events",
|
|
@@ -23,6 +24,18 @@ var KNOWN_ARRAY_FIELDS = [
|
|
|
23
24
|
"columns",
|
|
24
25
|
"properties"
|
|
25
26
|
];
|
|
27
|
+
var OUTPUT_METADATA = /* @__PURE__ */ Symbol("ae-cli-output-metadata");
|
|
28
|
+
function withOutputMetadata(data, meta) {
|
|
29
|
+
if (!meta || Object.keys(meta).length === 0) return data;
|
|
30
|
+
return {
|
|
31
|
+
[OUTPUT_METADATA]: true,
|
|
32
|
+
data,
|
|
33
|
+
meta
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function isOutputWithMetadata(value) {
|
|
37
|
+
return Boolean(value?.[OUTPUT_METADATA]);
|
|
38
|
+
}
|
|
26
39
|
function findArrayField(data) {
|
|
27
40
|
if (Array.isArray(data)) return data;
|
|
28
41
|
if (typeof data !== "object" || data === null) return null;
|
|
@@ -58,56 +71,59 @@ function formatTable(data) {
|
|
|
58
71
|
}
|
|
59
72
|
return table.toString();
|
|
60
73
|
}
|
|
61
|
-
function applyJq(data, expr) {
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
let
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
if (indexMatch) {
|
|
74
|
-
result = result?.[indexMatch[1]]?.[parseInt(indexMatch[2])];
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
if (part) {
|
|
78
|
-
result = result?.[part];
|
|
79
|
-
}
|
|
74
|
+
async function applyJq(data, expr) {
|
|
75
|
+
const trimmed = expr.trim();
|
|
76
|
+
if (!trimmed) return data;
|
|
77
|
+
let results;
|
|
78
|
+
try {
|
|
79
|
+
results = await jqJson(data, trimmed);
|
|
80
|
+
} catch (err) {
|
|
81
|
+
const message = err instanceof JqError ? err.message : err?.message || String(err);
|
|
82
|
+
const error = new Error(`Invalid --jq expression: ${message}`);
|
|
83
|
+
error.type = "validation";
|
|
84
|
+
error.hint = "Use standard jq syntax, e.g. .status or {status,pendingQuestion}";
|
|
85
|
+
throw error;
|
|
80
86
|
}
|
|
81
|
-
return
|
|
87
|
+
if (results.length === 0) return null;
|
|
88
|
+
if (results.length === 1) return results[0];
|
|
89
|
+
return results;
|
|
82
90
|
}
|
|
83
|
-
function formatOutput(data, format, jqExpr) {
|
|
84
|
-
|
|
91
|
+
async function formatOutput(data, format, jqExpr) {
|
|
92
|
+
const outputData = isOutputWithMetadata(data) ? data.data : data;
|
|
93
|
+
const meta = isOutputWithMetadata(data) ? data.meta : void 0;
|
|
94
|
+
let processed = outputData;
|
|
85
95
|
if (jqExpr) {
|
|
86
|
-
processed = applyJq(
|
|
96
|
+
processed = await applyJq(outputData, jqExpr);
|
|
87
97
|
}
|
|
88
98
|
if (format === "table") {
|
|
89
99
|
return formatTable(processed);
|
|
90
100
|
}
|
|
91
|
-
const envelope = {
|
|
101
|
+
const envelope = {
|
|
102
|
+
ok: true,
|
|
103
|
+
data: processed,
|
|
104
|
+
...meta ? { meta } : {}
|
|
105
|
+
};
|
|
92
106
|
return JSON.stringify(envelope, null, 2);
|
|
93
107
|
}
|
|
94
|
-
function formatError(type, message, hint, code) {
|
|
108
|
+
function formatError(type, message, hint, code, meta) {
|
|
95
109
|
const envelope = {
|
|
96
110
|
ok: false,
|
|
97
|
-
error: { type, message, hint, code }
|
|
111
|
+
error: { type, message, hint, code },
|
|
112
|
+
...meta && Object.keys(meta).length > 0 ? { meta } : {}
|
|
98
113
|
};
|
|
99
114
|
return JSON.stringify(envelope, null, 2);
|
|
100
115
|
}
|
|
101
|
-
function printError(type, message, hint, code) {
|
|
102
|
-
const formatted = formatError(type, message, hint, code);
|
|
116
|
+
function printError(type, message, hint, code, meta) {
|
|
117
|
+
const formatted = formatError(type, message, hint, code, meta);
|
|
103
118
|
process.stderr.write(formatted + "\n");
|
|
104
119
|
logger.error(`[${type}] ${message}${hint ? " | " + hint : ""}`);
|
|
105
120
|
}
|
|
106
|
-
function printOutput(data, format, jqExpr) {
|
|
107
|
-
process.stdout.write(formatOutput(data, format, jqExpr) + "\n");
|
|
121
|
+
async function printOutput(data, format, jqExpr) {
|
|
122
|
+
process.stdout.write(await formatOutput(data, format, jqExpr) + "\n");
|
|
108
123
|
}
|
|
109
124
|
|
|
110
125
|
export {
|
|
126
|
+
withOutputMetadata,
|
|
111
127
|
printError,
|
|
112
128
|
printOutput
|
|
113
129
|
};
|
|
@@ -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
|
GLOBAL_QUERY_CONFIG_KEY,
|
|
7
7
|
getAnalysisMappingPathForClusterMode,
|
|
@@ -22,40 +22,40 @@ function registerConfig(program) {
|
|
|
22
22
|
printError("config", "Missing subcommand.", "Run: ae-cli config --help");
|
|
23
23
|
process.exit(1);
|
|
24
24
|
});
|
|
25
|
-
configCmd.command("list").description("List configured AE environments").action(() => {
|
|
26
|
-
printConfigList(program);
|
|
25
|
+
configCmd.command("list").description("List configured AE environments").action(async () => {
|
|
26
|
+
await printConfigList(program);
|
|
27
27
|
});
|
|
28
|
-
configCmd.command("current").description("Show the active AE environment").action(() => {
|
|
29
|
-
printCurrentConfig(program);
|
|
28
|
+
configCmd.command("current").description("Show the active AE environment").action(async () => {
|
|
29
|
+
await printCurrentConfig(program);
|
|
30
30
|
});
|
|
31
|
-
configCmd.command("use <env>").description("Switch active AE environment by exact URL or unique label").action((env) => {
|
|
32
|
-
useConfigEnv(program, env);
|
|
31
|
+
configCmd.command("use <env>").description("Switch active AE environment by exact URL or unique label").action(async (env) => {
|
|
32
|
+
await useConfigEnv(program, env);
|
|
33
33
|
});
|
|
34
|
-
configCmd.command("set-host <url>").description("Set the active AE host non-interactively (adds it if not already configured)").option("--label <label>", "Display label for this host (defaults to the host URL)").action((url, opts) => {
|
|
34
|
+
configCmd.command("set-host <url>").description("Set the active AE host non-interactively (adds it if not already configured)").option("--label <label>", "Display label for this host (defaults to the host URL)").action(async (url, opts) => {
|
|
35
35
|
const normalized = normalizeUrl(url);
|
|
36
36
|
const label = opts.label || normalized;
|
|
37
37
|
addHost(normalized, label);
|
|
38
38
|
setActiveHost(normalized);
|
|
39
|
-
printOutput({ activeHost: normalized, label }, program.opts().format || "json");
|
|
39
|
+
await printOutput({ activeHost: normalized, label }, program.opts().format || "json");
|
|
40
40
|
});
|
|
41
|
-
const clusterMode = configCmd.command("cluster-mode").description("Manage local multi-cluster analysis MCP mode").action(() => {
|
|
42
|
-
printClusterModeStatus(program);
|
|
41
|
+
const clusterMode = configCmd.command("cluster-mode").description("Manage local multi-cluster analysis MCP mode").action(async () => {
|
|
42
|
+
await printClusterModeStatus(program);
|
|
43
43
|
});
|
|
44
|
-
clusterMode.command("status").description("Show local multi-cluster analysis MCP mode").action(() => {
|
|
45
|
-
printClusterModeStatus(program);
|
|
44
|
+
clusterMode.command("status").description("Show local multi-cluster analysis MCP mode").action(async () => {
|
|
45
|
+
await printClusterModeStatus(program);
|
|
46
46
|
});
|
|
47
|
-
clusterMode.command("enable").description("Enable local multi-cluster analysis MCP mode").action(() => {
|
|
47
|
+
clusterMode.command("enable").description("Enable local multi-cluster analysis MCP mode").action(async () => {
|
|
48
48
|
setGlobalQueryModeEnabled(true);
|
|
49
|
-
printClusterModeStatus(program);
|
|
49
|
+
await printClusterModeStatus(program);
|
|
50
50
|
});
|
|
51
|
-
clusterMode.command("disable").description("Disable local multi-cluster analysis MCP mode").action(() => {
|
|
51
|
+
clusterMode.command("disable").description("Disable local multi-cluster analysis MCP mode").action(async () => {
|
|
52
52
|
setGlobalQueryModeEnabled(false);
|
|
53
|
-
printClusterModeStatus(program);
|
|
53
|
+
await printClusterModeStatus(program);
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
|
-
function printClusterModeStatus(program) {
|
|
56
|
+
async function printClusterModeStatus(program) {
|
|
57
57
|
const enabled = isGlobalQueryModeEnabled();
|
|
58
|
-
printOutput({
|
|
58
|
+
await printOutput({
|
|
59
59
|
[GLOBAL_QUERY_CONFIG_KEY]: enabled,
|
|
60
60
|
path: getClusterInfoFilePath(),
|
|
61
61
|
analysisMappingPath: getAnalysisMappingPathForClusterMode(enabled)
|
|
@@ -70,20 +70,20 @@ function readHostViews() {
|
|
|
70
70
|
}));
|
|
71
71
|
return { activeHost: config.activeHost, hosts };
|
|
72
72
|
}
|
|
73
|
-
function printConfigList(program) {
|
|
73
|
+
async function printConfigList(program) {
|
|
74
74
|
const { activeHost, hosts } = readHostViews();
|
|
75
|
-
printOutput({ activeHost, hosts }, program.opts().format || "json", program.opts().jq);
|
|
75
|
+
await printOutput({ activeHost, hosts }, program.opts().format || "json", program.opts().jq);
|
|
76
76
|
}
|
|
77
|
-
function printCurrentConfig(program) {
|
|
77
|
+
async function printCurrentConfig(program) {
|
|
78
78
|
const { activeHost, hosts } = readHostViews();
|
|
79
79
|
const current = hosts.find((h) => h.url === activeHost);
|
|
80
80
|
if (!current) {
|
|
81
81
|
failConfig("No active AE environment configured.", "Run: ae-cli config use <env> or ae-cli config list");
|
|
82
82
|
return;
|
|
83
83
|
}
|
|
84
|
-
printOutput({ activeHost: current.url, label: current.label }, program.opts().format || "json", program.opts().jq);
|
|
84
|
+
await printOutput({ activeHost: current.url, label: current.label }, program.opts().format || "json", program.opts().jq);
|
|
85
85
|
}
|
|
86
|
-
function useConfigEnv(program, env) {
|
|
86
|
+
async function useConfigEnv(program, env) {
|
|
87
87
|
const target = resolveHost(env);
|
|
88
88
|
if (target.status === "not-found") {
|
|
89
89
|
failConfig(
|
|
@@ -100,7 +100,7 @@ function useConfigEnv(program, env) {
|
|
|
100
100
|
return;
|
|
101
101
|
}
|
|
102
102
|
setActiveHost(target.host.url);
|
|
103
|
-
printOutput({ activeHost: target.host.url, label: target.host.label }, program.opts().format || "json", program.opts().jq);
|
|
103
|
+
await printOutput({ activeHost: target.host.url, label: target.host.label }, program.opts().format || "json", program.opts().jq);
|
|
104
104
|
}
|
|
105
105
|
function resolveHost(env) {
|
|
106
106
|
const raw = env.trim();
|
package/dist/index.js
CHANGED
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
TeAgentApiError,
|
|
6
6
|
TeAgentCredentialsError
|
|
7
7
|
} from "./chunk-R77JT7XD.js";
|
|
8
|
-
import {
|
|
9
|
-
printError,
|
|
10
|
-
printOutput
|
|
11
|
-
} from "./chunk-ZAOL36CG.js";
|
|
12
8
|
import {
|
|
13
9
|
CapabilityGatewayError,
|
|
14
10
|
executeCapability,
|
|
15
11
|
uploadInputFileBytes
|
|
16
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-I4A62X3N.js";
|
|
13
|
+
import {
|
|
14
|
+
printError,
|
|
15
|
+
printOutput
|
|
16
|
+
} from "./chunk-TNW2CI4W.js";
|
|
17
17
|
import {
|
|
18
18
|
PermissionError
|
|
19
19
|
} from "./chunk-NOO24N7W.js";
|
|
@@ -38,56 +38,113 @@ import { createRequire } from "module";
|
|
|
38
38
|
|
|
39
39
|
// src/framework/runner.ts
|
|
40
40
|
import * as readline from "readline";
|
|
41
|
+
function missingRequiredFlagsError(cmdName, missing) {
|
|
42
|
+
const names = missing.map((flag) => `--${flag.name}`);
|
|
43
|
+
const message = missing.length === 1 ? `Missing required flag: ${names[0]}` : `Missing required flags: ${names.join(", ")}`;
|
|
44
|
+
const hintParts = missing.map((flag) => flag.hint?.trim()).filter((hint2) => Boolean(hint2));
|
|
45
|
+
const hint = hintParts.length > 0 ? hintParts.join(" ") : `Usage: ae-cli ${cmdName} ${names.map((name) => `${name} <value>`).join(" ")}`;
|
|
46
|
+
return { message, hint };
|
|
47
|
+
}
|
|
41
48
|
async function runCommand(cmd, opts, globalOpts) {
|
|
42
49
|
try {
|
|
43
50
|
const ctx = createRuntimeContext(cmd, opts, globalOpts);
|
|
44
51
|
const cmdName = cmd.resource ? `${cmd.service} ${cmd.resource} ${cmd.command}` : `${cmd.service} ${cmd.command}`;
|
|
45
52
|
logger.command(cmdName, opts);
|
|
46
|
-
|
|
47
|
-
if (flag.required)
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
53
|
+
const missingRequired = cmd.flags.filter((flag) => {
|
|
54
|
+
if (!flag.required) return false;
|
|
55
|
+
const val = opts[camelCase(flag.name)];
|
|
56
|
+
return val === void 0 || val === null || val === "";
|
|
57
|
+
});
|
|
58
|
+
if (missingRequired.length > 0) {
|
|
59
|
+
const { message, hint } = missingRequiredFlagsError(cmdName, missingRequired);
|
|
60
|
+
printError("validation", message, hint);
|
|
61
|
+
process.exit(1);
|
|
54
62
|
}
|
|
55
63
|
if (cmd.validate) {
|
|
56
64
|
cmd.validate(ctx);
|
|
57
65
|
}
|
|
58
66
|
const LIMIT_FLAG_PATTERNS = [/limit/i, /page_size/i, /pagesize/i, /row_limit/i, /block_limit/i, /top[-_]?k/i];
|
|
59
67
|
for (const flag of cmd.flags) {
|
|
68
|
+
const val = opts[camelCase(flag.name)];
|
|
69
|
+
if (flag.type === "boolean") {
|
|
70
|
+
if (val !== void 0 && typeof val !== "boolean") {
|
|
71
|
+
printError("validation", `Invalid boolean for --${flag.name}: ${val}. Use true/false.`);
|
|
72
|
+
process.exit(1);
|
|
73
|
+
}
|
|
74
|
+
continue;
|
|
75
|
+
}
|
|
76
|
+
if (flag.type !== "number") continue;
|
|
77
|
+
if (val === void 0 || val === null || val === "") continue;
|
|
78
|
+
const num = Number(val);
|
|
79
|
+
if (!Number.isFinite(num)) {
|
|
80
|
+
printError("validation", `--${flag.name} must be a number (got: ${val})`);
|
|
81
|
+
process.exit(1);
|
|
82
|
+
}
|
|
60
83
|
const isLimitFlag = LIMIT_FLAG_PATTERNS.some((p) => p.test(flag.name));
|
|
61
|
-
if (isLimitFlag
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
84
|
+
if (isLimitFlag) {
|
|
85
|
+
const min = flag.min ?? 1;
|
|
86
|
+
const max = flag.max ?? 1e4;
|
|
87
|
+
if (!Number.isInteger(num) || num < min || num > max) {
|
|
88
|
+
printError("validation", `--${flag.name} must be an integer between ${min} and ${max} (got: ${val})`);
|
|
89
|
+
process.exit(1);
|
|
90
|
+
}
|
|
91
|
+
} else if (flag.min !== void 0 || flag.max !== void 0) {
|
|
92
|
+
const min = flag.min ?? Number.NEGATIVE_INFINITY;
|
|
93
|
+
const max = flag.max ?? Number.POSITIVE_INFINITY;
|
|
94
|
+
if (num < min || num > max) {
|
|
95
|
+
const lower = flag.min === void 0 ? "-Infinity" : String(min);
|
|
96
|
+
const upper = flag.max === void 0 ? "Infinity" : String(max);
|
|
97
|
+
printError("validation", `--${flag.name} must be a number between ${lower} and ${upper} (got: ${val})`);
|
|
98
|
+
process.exit(1);
|
|
69
99
|
}
|
|
70
100
|
}
|
|
71
101
|
}
|
|
102
|
+
if (globalOpts.validate && globalOpts.dryRun) {
|
|
103
|
+
printError(
|
|
104
|
+
"validation",
|
|
105
|
+
"Cannot combine --validate and --dry-run.",
|
|
106
|
+
"Use --validate to fix parameters; use --dry-run as the pre-execution confirmation."
|
|
107
|
+
);
|
|
108
|
+
process.exit(1);
|
|
109
|
+
}
|
|
110
|
+
if (globalOpts.validate) {
|
|
111
|
+
if (cmd.validateInput) {
|
|
112
|
+
const validateResult = await cmd.validateInput(ctx);
|
|
113
|
+
await printOutput(validateResult, globalOpts.format, globalOpts.jq);
|
|
114
|
+
} else {
|
|
115
|
+
await printOutput(
|
|
116
|
+
{ message: "No --validate implementation for this command (capability gateway commands only)" },
|
|
117
|
+
globalOpts.format
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
72
122
|
if (globalOpts.dryRun) {
|
|
73
123
|
if (cmd.dryRun) {
|
|
74
|
-
const dryResult = cmd.dryRun(ctx);
|
|
75
|
-
printOutput(dryResult, globalOpts.format, globalOpts.jq);
|
|
124
|
+
const dryResult = await cmd.dryRun(ctx);
|
|
125
|
+
await printOutput(dryResult, globalOpts.format, globalOpts.jq);
|
|
76
126
|
} else {
|
|
77
|
-
printOutput({ message: "No dry-run implementation for this command" }, globalOpts.format);
|
|
127
|
+
await printOutput({ message: "No dry-run implementation for this command" }, globalOpts.format);
|
|
78
128
|
}
|
|
79
129
|
return;
|
|
80
130
|
}
|
|
81
|
-
if (requiresConfirmation(cmd.risk)
|
|
82
|
-
|
|
83
|
-
if (!
|
|
84
|
-
|
|
85
|
-
|
|
131
|
+
if (requiresConfirmation(cmd.risk)) {
|
|
132
|
+
cmd.preflight?.(ctx);
|
|
133
|
+
if (!globalOpts.yes) {
|
|
134
|
+
const confirmed = await confirm(`This is a high-risk-write operation (${cmdName}). Continue?`);
|
|
135
|
+
if (!confirmed) {
|
|
136
|
+
process.stderr.write("Aborted.\n");
|
|
137
|
+
process.exit(0);
|
|
138
|
+
}
|
|
86
139
|
}
|
|
87
140
|
}
|
|
88
141
|
const result = await cmd.execute(ctx);
|
|
89
|
-
ctx.out(result);
|
|
142
|
+
await ctx.out(result);
|
|
90
143
|
} catch (err) {
|
|
144
|
+
if (err?.type === "validation" && typeof err?.hint === "string" && String(err.message || "").includes("--jq")) {
|
|
145
|
+
printError("validation", err.message, err.hint);
|
|
146
|
+
process.exit(1);
|
|
147
|
+
}
|
|
91
148
|
const message = err.message || String(err);
|
|
92
149
|
logger.error(`Command failed: ${message}`);
|
|
93
150
|
if (err instanceof TeAgentCredentialsError) {
|
|
@@ -95,7 +152,7 @@ async function runCommand(cmd, opts, globalOpts) {
|
|
|
95
152
|
} else if (err instanceof PermissionError) {
|
|
96
153
|
printError("permission", message);
|
|
97
154
|
} else if (err instanceof CapabilityGatewayError) {
|
|
98
|
-
printError("api", message, err.hint, err.code);
|
|
155
|
+
printError("api", message, err.hint ?? capabilityGatewayHint(err), err.code, err.meta);
|
|
99
156
|
} else if (err instanceof SecureStoreAuthError) {
|
|
100
157
|
printError("auth", message, "Run: ae-cli auth login");
|
|
101
158
|
} else if (err instanceof TeAgentApiError) {
|
|
@@ -114,6 +171,18 @@ async function runCommand(cmd, opts, globalOpts) {
|
|
|
114
171
|
process.exit(1);
|
|
115
172
|
}
|
|
116
173
|
}
|
|
174
|
+
function capabilityGatewayHint(err) {
|
|
175
|
+
if (err.code === "UPLOAD_NOT_EXIST" && (err.meta?.capability_id === "engage-setting.config-table.save" || err.meta?.capability_id === "engage-setting.config-table.update-data")) {
|
|
176
|
+
return "Run config-table upload first with the same --project-id and --request-id, then retry this command within 10 minutes. The upload cache is consumed after a successful save/update.";
|
|
177
|
+
}
|
|
178
|
+
if (err.code === "CAPABILITY_NOT_FOUND") {
|
|
179
|
+
return "The current host does not expose this capability. Do not retry with different parameters; use a supported command path or ask the platform/backend owner to enable the capability.";
|
|
180
|
+
}
|
|
181
|
+
if (err.httpStatus === 404 && !err.code) {
|
|
182
|
+
return "The current host returned 404 for this capability route. Do not keep retrying the same command; verify the backend route/capability deployment.";
|
|
183
|
+
}
|
|
184
|
+
return void 0;
|
|
185
|
+
}
|
|
117
186
|
function looksLikeAuthFailure(message) {
|
|
118
187
|
const m = message.toLowerCase();
|
|
119
188
|
if (m.includes("403") || m.includes("forbidden") || m.includes("permission")) return false;
|
|
@@ -184,8 +253,8 @@ function createRuntimeContext(cmd, opts, globalOpts) {
|
|
|
184
253
|
service() {
|
|
185
254
|
return cmd.service;
|
|
186
255
|
},
|
|
187
|
-
out(data) {
|
|
188
|
-
printOutput(data, globalOpts.format, globalOpts.jq);
|
|
256
|
+
async out(data) {
|
|
257
|
+
await printOutput(data, globalOpts.format, globalOpts.jq);
|
|
189
258
|
}
|
|
190
259
|
};
|
|
191
260
|
return ctx;
|
|
@@ -215,15 +284,19 @@ function registerCommands(program2, commands) {
|
|
|
215
284
|
let serviceCmd = program2.commands.find((c) => c.name() === service);
|
|
216
285
|
if (!serviceCmd) {
|
|
217
286
|
serviceCmd = program2.command(service).description(`${service} domain commands`);
|
|
287
|
+
serviceCmd.allowExcessArguments(false);
|
|
218
288
|
}
|
|
219
289
|
for (const cmd of cmds) {
|
|
220
290
|
let parent = serviceCmd;
|
|
221
291
|
if (cmd.resource) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
292
|
+
for (const resource of cmd.resource.split(/\s+/).filter(Boolean)) {
|
|
293
|
+
let resourceCmd = parent.commands.find((c) => c.name() === resource);
|
|
294
|
+
if (!resourceCmd) {
|
|
295
|
+
resourceCmd = parent.command(resource).description(`${resource} commands`);
|
|
296
|
+
resourceCmd.allowExcessArguments(false);
|
|
297
|
+
}
|
|
298
|
+
parent = resourceCmd;
|
|
225
299
|
}
|
|
226
|
-
parent = resourceCmd;
|
|
227
300
|
}
|
|
228
301
|
const sub = parent.command(cmd.command).description(cmd.description);
|
|
229
302
|
for (const flag of cmd.flags) {
|
|
@@ -237,9 +310,13 @@ function registerCommands(program2, commands) {
|
|
|
237
310
|
}
|
|
238
311
|
}
|
|
239
312
|
sub.option("--host <url>", "Override active AE host URL for this command");
|
|
313
|
+
sub.option("--format <format>", "Output format: json | table. Default: json.");
|
|
314
|
+
sub.option("--jq <expr>", "jq 1.8 filter over command payload, applied before output envelope wrapping.");
|
|
240
315
|
sub.action(async (opts) => {
|
|
241
316
|
const globalOpts = extractGlobalOptions(program2);
|
|
242
317
|
if (opts.host) globalOpts.host = opts.host;
|
|
318
|
+
if (opts.format) globalOpts.format = opts.format;
|
|
319
|
+
if (opts.jq) globalOpts.jq = opts.jq;
|
|
243
320
|
await runCommand(cmd, opts, globalOpts);
|
|
244
321
|
});
|
|
245
322
|
}
|
|
@@ -264,7 +341,7 @@ function parseBooleanValue(value, flagName) {
|
|
|
264
341
|
if (normalized === "false" || normalized === "0" || normalized === "no" || normalized === "n" || normalized === "off") {
|
|
265
342
|
return false;
|
|
266
343
|
}
|
|
267
|
-
|
|
344
|
+
return value;
|
|
268
345
|
}
|
|
269
346
|
function extractGlobalOptions(program2) {
|
|
270
347
|
const opts = program2.opts();
|
|
@@ -273,6 +350,7 @@ function extractGlobalOptions(program2) {
|
|
|
273
350
|
mcpUrl: opts.mcpUrl,
|
|
274
351
|
format: opts.format || "json",
|
|
275
352
|
jq: opts.jq,
|
|
353
|
+
validate: opts.validate || false,
|
|
276
354
|
dryRun: opts.dryRun || false,
|
|
277
355
|
yes: opts.yes || false
|
|
278
356
|
};
|
|
@@ -1036,7 +1114,8 @@ async function writeDraftXlsx(d, outPath, locale = "zh") {
|
|
|
1036
1114
|
|
|
1037
1115
|
// src/core/tracking-client.ts
|
|
1038
1116
|
var DEBUG_BASE = "/v1/ta/bury/manage/debug";
|
|
1039
|
-
var
|
|
1117
|
+
var TRACK_LOCAL_HOST = "http://localhost:8992";
|
|
1118
|
+
var TRACK_CAPABILITY_DOMAIN = "";
|
|
1040
1119
|
var TRACK_PROGRAM_QUERY = "track.program.query";
|
|
1041
1120
|
var TRACK_PROGRAM_DELETE = "track.program.delete";
|
|
1042
1121
|
var TRACK_PROGRAM_EXCEL_SAVE = "track.program.excel_save";
|
|
@@ -1219,7 +1298,8 @@ var TrackingClient = class {
|
|
|
1219
1298
|
}
|
|
1220
1299
|
const data = await executeCapability(this.host, TRACK_CAPABILITY_DOMAIN, TRACK_PROGRAM_EXCEL_SAVE, {
|
|
1221
1300
|
project_id: args.projectId,
|
|
1222
|
-
input_file_id: inputFileId
|
|
1301
|
+
input_file_id: inputFileId,
|
|
1302
|
+
...args.lang ? { lang: args.lang } : {}
|
|
1223
1303
|
});
|
|
1224
1304
|
const env = normalizeUploadResponse(data);
|
|
1225
1305
|
if (env.return_code !== 0 && env.return_code !== void 0 && !env.data?.eventErrorMap && !env.data?.userErrorMap) {
|
|
@@ -1254,7 +1334,7 @@ var TrackingClient = class {
|
|
|
1254
1334
|
}
|
|
1255
1335
|
};
|
|
1256
1336
|
async function createTrackingClient(host) {
|
|
1257
|
-
return new TrackingClient(
|
|
1337
|
+
return new TrackingClient(TRACK_LOCAL_HOST);
|
|
1258
1338
|
}
|
|
1259
1339
|
|
|
1260
1340
|
// src/tracking/te-plan/fetch.ts
|
|
@@ -2067,7 +2147,8 @@ function registerPlan(cmd, rootProgram) {
|
|
|
2067
2147
|
lastRes = await client.uploadProgramExcel({
|
|
2068
2148
|
projectId: opts.project,
|
|
2069
2149
|
file,
|
|
2070
|
-
filename: path3.basename(opts.xlsx)
|
|
2150
|
+
filename: path3.basename(opts.xlsx),
|
|
2151
|
+
lang: locale
|
|
2071
2152
|
});
|
|
2072
2153
|
console.log(JSON.stringify(lastRes, null, 2));
|
|
2073
2154
|
if (lastRes.return_code === -1001 && !tokenRefreshed) {
|
|
@@ -3000,61 +3081,64 @@ var require2 = createRequire(import.meta.url);
|
|
|
3000
3081
|
var pkg = require2("../package.json");
|
|
3001
3082
|
var { version } = pkg;
|
|
3002
3083
|
var program = new CommanderCommand();
|
|
3003
|
-
program.name("ae-cli").version(version).description("CLI tool for ThinkingAI (AE) analytics platform").option("--host <url>", "Override active AE host URL (e.g., https://ta.thinkingdata.cn)").option("--mcp-url <url>", "Override MCP server URL (e.g., http://localhost/mcp/http/example)").option("--format <format>", "Output format: json | table", "json").option("--jq <expr>", "jq
|
|
3084
|
+
program.name("ae-cli").version(version).description("CLI tool for ThinkingAI (AE) analytics platform").option("--host <url>", "Override active AE host URL (e.g., https://ta.thinkingdata.cn)").option("--mcp-url <url>", "Override MCP server URL (e.g., http://localhost/mcp/http/example)").option("--format <format>", "Output format: json | table", "json").option("--jq <expr>", "jq 1.8 filter over command payload (via jq-wasm), applied before output envelope").option(
|
|
3085
|
+
"--validate",
|
|
3086
|
+
"Optional: validate/normalize capability input only (gateway /validate). Use alone while fixing complex params/qp; do not stack with --dry-run",
|
|
3087
|
+
false
|
|
3088
|
+
).option(
|
|
3089
|
+
"--dry-run",
|
|
3090
|
+
"Optional: pre-execution preview without business logic (gateway /dry-run; other transports preview). Use alone to confirm a run; do not stack with --validate",
|
|
3091
|
+
false
|
|
3092
|
+
).option("--yes", "Skip confirmation for high-risk write operations", false).option("--no-update-check", "Skip checking for newer ae-cli versions", false);
|
|
3004
3093
|
async function loadCommands() {
|
|
3005
3094
|
const commands = [];
|
|
3006
3095
|
try {
|
|
3007
|
-
const teAnalysis = await import("./te-analysis-
|
|
3096
|
+
const teAnalysis = await import("./te-analysis-PUVF5IF4.js");
|
|
3008
3097
|
commands.push(...teAnalysis.default);
|
|
3009
3098
|
} catch {
|
|
3010
3099
|
}
|
|
3011
3100
|
try {
|
|
3012
|
-
const
|
|
3013
|
-
commands.push(...teAudience.default);
|
|
3014
|
-
} catch {
|
|
3015
|
-
}
|
|
3016
|
-
try {
|
|
3017
|
-
const teMeta = await import("./te-meta-PKT27OTN.js");
|
|
3101
|
+
const teMeta = await import("./te-meta-UUROEODR.js");
|
|
3018
3102
|
commands.push(...teMeta.default);
|
|
3019
3103
|
} catch {
|
|
3020
3104
|
}
|
|
3021
3105
|
try {
|
|
3022
|
-
const teCommon = await import("./te-common-
|
|
3106
|
+
const teCommon = await import("./te-common-VUX3VOXZ.js");
|
|
3023
3107
|
commands.push(...teCommon.default);
|
|
3024
3108
|
} catch {
|
|
3025
3109
|
}
|
|
3026
3110
|
try {
|
|
3027
|
-
const engage = await import("./te-engage-
|
|
3111
|
+
const engage = await import("./te-engage-QBCCME22.js");
|
|
3028
3112
|
commands.push(...engage.default);
|
|
3029
3113
|
} catch {
|
|
3030
3114
|
}
|
|
3031
3115
|
try {
|
|
3032
|
-
const community = await import("./te-community-
|
|
3116
|
+
const community = await import("./te-community-TSKJ652U.js");
|
|
3033
3117
|
commands.push(...community.default);
|
|
3034
3118
|
} catch {
|
|
3035
3119
|
}
|
|
3036
3120
|
try {
|
|
3037
|
-
const dataops = await import("./te-dataops-
|
|
3121
|
+
const dataops = await import("./te-dataops-F36T656A.js");
|
|
3038
3122
|
commands.push(...dataops.default);
|
|
3039
3123
|
} catch {
|
|
3040
3124
|
}
|
|
3041
3125
|
try {
|
|
3042
|
-
const teKb = await import("./te-kb-
|
|
3126
|
+
const teKb = await import("./te-kb-AYCODNU6.js");
|
|
3043
3127
|
commands.push(...teKb.default);
|
|
3044
3128
|
} catch {
|
|
3045
3129
|
}
|
|
3046
3130
|
try {
|
|
3047
|
-
const teTeam = await import("./te-team-
|
|
3131
|
+
const teTeam = await import("./te-team-OKCOX7OE.js");
|
|
3048
3132
|
commands.push(...teTeam.default);
|
|
3049
3133
|
} catch {
|
|
3050
3134
|
}
|
|
3051
3135
|
try {
|
|
3052
|
-
const teAgent = await import("./te-agent-
|
|
3136
|
+
const teAgent = await import("./te-agent-FCCWUDTJ.js");
|
|
3053
3137
|
commands.push(...teAgent.default);
|
|
3054
3138
|
} catch {
|
|
3055
3139
|
}
|
|
3056
3140
|
try {
|
|
3057
|
-
const metadata = await import("./metadata-
|
|
3141
|
+
const metadata = await import("./metadata-FCLDBXX2.js");
|
|
3058
3142
|
commands.push(...metadata.default);
|
|
3059
3143
|
} catch {
|
|
3060
3144
|
}
|
|
@@ -3062,35 +3146,35 @@ async function loadCommands() {
|
|
|
3062
3146
|
}
|
|
3063
3147
|
async function registerAuthCommands() {
|
|
3064
3148
|
try {
|
|
3065
|
-
const { registerAuth } = await import("./auth-
|
|
3149
|
+
const { registerAuth } = await import("./auth-7H3HAAJ3.js");
|
|
3066
3150
|
registerAuth(program);
|
|
3067
3151
|
} catch {
|
|
3068
3152
|
}
|
|
3069
3153
|
}
|
|
3070
3154
|
async function registerConfigCommands() {
|
|
3071
3155
|
try {
|
|
3072
|
-
const { registerConfig } = await import("./config-
|
|
3156
|
+
const { registerConfig } = await import("./config-7UZWDE74.js");
|
|
3073
3157
|
registerConfig(program);
|
|
3074
3158
|
} catch {
|
|
3075
3159
|
}
|
|
3076
3160
|
}
|
|
3077
3161
|
async function registerApiCommand() {
|
|
3078
3162
|
try {
|
|
3079
|
-
const { registerApi } = await import("./raw-
|
|
3163
|
+
const { registerApi } = await import("./raw-CN542NGT.js");
|
|
3080
3164
|
registerApi(program);
|
|
3081
3165
|
} catch {
|
|
3082
3166
|
}
|
|
3083
3167
|
}
|
|
3084
3168
|
async function registerCapabilityCommands() {
|
|
3085
3169
|
try {
|
|
3086
|
-
const { registerCapability } = await import("./capability-
|
|
3170
|
+
const { registerCapability } = await import("./capability-SCRFGODD.js");
|
|
3087
3171
|
registerCapability(program);
|
|
3088
3172
|
} catch {
|
|
3089
3173
|
}
|
|
3090
3174
|
}
|
|
3091
3175
|
async function registerSyncCommand() {
|
|
3092
3176
|
try {
|
|
3093
|
-
const { registerSync } = await import("./sync-
|
|
3177
|
+
const { registerSync } = await import("./sync-ERNHDPB5.js");
|
|
3094
3178
|
registerSync(program);
|
|
3095
3179
|
} catch {
|
|
3096
3180
|
}
|
|
@@ -3113,6 +3197,41 @@ async function main() {
|
|
|
3113
3197
|
await registerSyncCommand();
|
|
3114
3198
|
await registerModelCommand();
|
|
3115
3199
|
registerTracking(program);
|
|
3200
|
+
rejectUnknownHelpCommandPath(program, process.argv.slice(2));
|
|
3116
3201
|
program.parse();
|
|
3117
3202
|
}
|
|
3118
3203
|
main();
|
|
3204
|
+
function rejectUnknownHelpCommandPath(root, args) {
|
|
3205
|
+
if (!args.includes("--help") && !args.includes("-h")) {
|
|
3206
|
+
return;
|
|
3207
|
+
}
|
|
3208
|
+
let current = root;
|
|
3209
|
+
for (let i = 0; i < args.length; i += 1) {
|
|
3210
|
+
const token = args[i];
|
|
3211
|
+
if (token === "--" || token === "--help" || token === "-h") {
|
|
3212
|
+
return;
|
|
3213
|
+
}
|
|
3214
|
+
if (token.startsWith("-")) {
|
|
3215
|
+
if (optionConsumesValue(token)) {
|
|
3216
|
+
i += 1;
|
|
3217
|
+
}
|
|
3218
|
+
continue;
|
|
3219
|
+
}
|
|
3220
|
+
const child = current.commands.find((cmd) => cmd.name() === token || cmd.aliases().includes(token));
|
|
3221
|
+
if (child) {
|
|
3222
|
+
current = child;
|
|
3223
|
+
continue;
|
|
3224
|
+
}
|
|
3225
|
+
if (current.commands.length > 0) {
|
|
3226
|
+
process.stderr.write(`error: unknown command '${token}'
|
|
3227
|
+
`);
|
|
3228
|
+
process.exit(1);
|
|
3229
|
+
}
|
|
3230
|
+
}
|
|
3231
|
+
}
|
|
3232
|
+
function optionConsumesValue(token) {
|
|
3233
|
+
if (token.includes("=")) {
|
|
3234
|
+
return false;
|
|
3235
|
+
}
|
|
3236
|
+
return token === "--host" || token === "--mcp-url" || token === "--format" || token === "--jq";
|
|
3237
|
+
}
|