@thinkingai/ae-cli 6.1.19 → 6.1.21
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 +96 -38
- package/README.zh.md +96 -38
- package/dist/{auth-QPEVVBKT.js → auth-XZNXFRJS.js} +236 -127
- package/dist/{capability-ASI62I4A.js → capability-FYTU3X6L.js} +80 -37
- package/dist/{chunk-QL6R6TSK.js → chunk-4NRCTUZJ.js} +27045 -477
- package/dist/{chunk-JYMGHGCE.js → chunk-57RRFUEZ.js} +42 -15
- package/dist/chunk-6ZIQV5GW.js +26 -0
- package/dist/{chunk-KZ6ZHF5J.js → chunk-7FTTULED.js} +14 -14
- package/dist/chunk-7XGFSUOM.js +623 -0
- package/dist/chunk-CCS66K4K.js +155 -0
- package/dist/{chunk-B5HMQAOM.js → chunk-DVMLWQD4.js} +8 -186
- package/dist/{chunk-KEWVSO64.js → chunk-DX5CDO34.js} +28 -18
- package/dist/chunk-EQ255HKO.js +38248 -0
- package/dist/{chunk-6QK7SYYY.js → chunk-HBGADCKA.js} +29 -37
- package/dist/{chunk-GJXRF7Y6.js → chunk-HFGZGYCG.js} +54 -81
- package/dist/chunk-JOCDD4ON.js +15 -0
- package/dist/{chunk-TKHSULJT.js → chunk-KPQY44JQ.js} +6 -0
- package/dist/{chunk-FR2EDAQM.js → chunk-MAPZ7VB6.js} +90 -2
- package/dist/chunk-V2NUHPXF.js +196 -0
- package/dist/{chunk-S5PONFBM.js → chunk-VYXXOKYS.js} +9 -9
- package/dist/{community-report-client-6OL6GBQW.js → community-report-client-CU22W53K.js} +2 -4
- package/dist/{config-XNMACCKX.js → config-XO3LI3SA.js} +8 -9
- package/dist/context-IFJI3LIT.js +46 -0
- package/dist/{data-integration-4NZGZ45E.js → data-integration-HNGUKFIC.js} +55 -44
- package/dist/index.js +122 -112
- package/dist/{local-data-upload-client-EFHDLXFG.js → local-data-upload-client-GTRIT64F.js} +4 -5
- package/dist/{memory-HBJQ2GC5.js → memory-QGPSNCQS.js} +4 -6
- package/dist/{metadata-62EWBEIG.js → metadata-DI5BMYFU.js} +8 -10
- package/dist/{model-BHLJ2QMT.js → model-RNPQXIBI.js} +4 -6
- package/dist/{personal-semantic-preference-JBVMAI7L.js → personal-semantic-preference-5C3WUXFI.js} +11 -10
- package/dist/{project-semantic-BQ4MPUS5.js → project-semantic-3LF6Q6JZ.js} +29 -25
- package/dist/{sync-MUWPRM5I.js → sync-O45NXEQY.js} +7 -8
- package/dist/{te-agent-WQZTMEK4.js → te-agent-K5MSPNHJ.js} +393 -90
- package/dist/{te-analysis-MNCG65LU.js → te-analysis-AISWCOOZ.js} +1175 -377
- package/dist/{te-community-BNE6KREL.js → te-community-4OYU3BDA.js} +10 -33
- package/dist/{te-dataops-TXLKM2W6.js → te-dataops-NFIPB6FX.js} +19 -20
- package/dist/{te-engage-TPKLRVTL.js → te-engage-BAM3GBFX.js} +13 -15
- package/dist/{te-experiment-6BYKTCY7.js → te-experiment-GUTZXZ5Z.js} +132 -16
- package/dist/te-kb-3TS73NO6.js +1992 -0
- package/dist/{te-system-44LZJDTQ.js → te-system-STMHLS5J.js} +12 -9
- package/dist/{te-team-XMP47YXE.js → te-team-3I5AOX3N.js} +6 -8
- package/dist/{update-UODFOZ4P.js → update-RZXLPCRH.js} +7 -8
- package/package.json +29 -19
- package/skills/ae-agent/SKILL.md +30 -13
- package/skills/ae-agent/references/agent-distribution.md +94 -0
- package/skills/ae-agent/references/approval-request.md +4 -0
- package/skills/ae-agent/references/command_index.md +9 -2
- package/skills/ae-agent/references/create-automation.md +20 -2
- package/skills/ae-agent/references/get-agent-context.md +70 -0
- package/skills/ae-agent/references/list-automations.md +18 -3
- package/skills/ae-agent/references/list-mcp-credentials.md +1 -1
- package/skills/ae-agent/references/mcp-token.md +3 -3
- package/skills/ae-agent/references/set-mcp-credential.md +0 -1
- package/skills/ae-agent/references/update-automation.md +18 -0
- package/skills/ae-analysis/SKILL.md +101 -79
- package/skills/ae-analysis/references/adhoc_export.md +11 -18
- package/skills/ae-analysis/references/adhoc_run.md +17 -7
- package/skills/ae-analysis/references/agent_review_detail.md +11 -0
- package/skills/ae-analysis/references/agent_review_evidence.md +46 -0
- package/skills/ae-analysis/references/agent_review_list.md +9 -0
- package/skills/ae-analysis/references/agent_review_preflight.md +96 -0
- package/skills/ae-analysis/references/agent_review_priorities_comparisons.md +76 -0
- package/skills/ae-analysis/references/agent_review_records.md +9 -0
- package/skills/ae-analysis/references/agent_review_retry.md +12 -0
- package/skills/ae-analysis/references/agent_review_review.md +16 -0
- package/skills/ae-analysis/references/agent_review_submit_to_page.md +184 -0
- package/skills/ae-analysis/references/ai_models/attribution.md +29 -0
- package/skills/ae-analysis/references/ai_models/distribution.md +40 -0
- package/skills/ae-analysis/references/ai_models/event.md +108 -0
- package/skills/ae-analysis/references/ai_models/funnel.md +46 -0
- package/skills/ae-analysis/references/ai_models/heat_map.md +26 -0
- package/skills/ae-analysis/references/ai_models/interval.md +20 -0
- package/skills/ae-analysis/references/ai_models/path.md +38 -0
- package/skills/ae-analysis/references/ai_models/prop_analysis.md +39 -0
- package/skills/ae-analysis/references/ai_models/rank_list.md +25 -0
- package/skills/ae-analysis/references/ai_models/retention.md +70 -0
- package/skills/ae-analysis/references/ai_models/revenue.md +28 -0
- package/skills/ae-analysis/references/ai_models/sql.md +74 -0
- package/skills/ae-analysis/references/ai_models/tag.md +19 -0
- package/skills/ae-analysis/references/ai_models.md +32 -453
- package/skills/ae-analysis/references/alert_create.md +7 -7
- package/skills/ae-analysis/references/alert_delete.md +4 -6
- package/skills/ae-analysis/references/alert_detail_list.md +7 -9
- package/skills/ae-analysis/references/alert_get.md +5 -7
- package/skills/ae-analysis/references/alert_job_list.md +4 -6
- package/skills/ae-analysis/references/alert_list.md +6 -8
- package/skills/ae-analysis/references/alert_notice_config_list.md +4 -6
- package/skills/ae-analysis/references/alert_start.md +5 -7
- package/skills/ae-analysis/references/alert_stop.md +5 -7
- package/skills/ae-analysis/references/alert_update.md +8 -8
- package/skills/ae-analysis/references/analysis_data_export.md +72 -0
- package/skills/ae-analysis/references/analysis_data_retrieval.md +32 -196
- package/skills/ae-analysis/references/analysis_gateway_assets.md +23 -180
- package/skills/ae-analysis/references/analysis_interpretation.md +37 -17
- package/skills/ae-analysis/references/asset_abnormal_get.md +0 -1
- package/skills/ae-analysis/references/asset_abnormal_list.md +0 -1
- package/skills/ae-analysis/references/asset_authentication_export.md +4 -0
- package/skills/ae-analysis/references/asset_authentication_list.md +7 -1
- package/skills/ae-analysis/references/asset_authentication_update.md +5 -1
- package/skills/ae-analysis/references/asset_batch_dashboard_schedule_freeze.md +8 -6
- package/skills/ae-analysis/references/asset_batch_delete.md +6 -6
- package/skills/ae-analysis/references/asset_batch_disable_auto_backup.md +4 -5
- package/skills/ae-analysis/references/asset_batch_disable_auto_update.md +5 -6
- package/skills/ae-analysis/references/asset_batch_handover.md +4 -5
- package/skills/ae-analysis/references/asset_batch_info_export.md +4 -5
- package/skills/ae-analysis/references/asset_batch_sql_export.md +5 -6
- package/skills/ae-analysis/references/asset_dependency_list.md +4 -5
- package/skills/ae-analysis/references/asset_export.md +4 -5
- package/skills/ae-analysis/references/asset_impact_list.md +5 -9
- package/skills/ae-analysis/references/asset_lineage_get.md +5 -6
- package/skills/ae-analysis/references/asset_list.md +4 -5
- package/skills/ae-analysis/references/asset_query_history_list.md +4 -8
- package/skills/ae-analysis/references/asset_recent_list.md +0 -1
- package/skills/ae-analysis/references/asset_search.md +12 -9
- package/skills/ae-analysis/references/asset_url_get.md +3 -4
- package/skills/ae-analysis/references/bi_panel_copy.md +2 -2
- package/skills/ae-analysis/references/bi_panel_page_data_export.md +4 -12
- package/skills/ae-analysis/references/bi_panel_page_data_run.md +2 -0
- package/skills/ae-analysis/references/catalog_export.md +4 -17
- package/skills/ae-analysis/references/catalog_list.md +4 -4
- package/skills/ae-analysis/references/check_delete.md +5 -7
- package/skills/ae-analysis/references/check_export.md +11 -11
- package/skills/ae-analysis/references/check_get.md +8 -10
- package/skills/ae-analysis/references/check_list.md +4 -6
- package/skills/ae-analysis/references/check_retry.md +8 -10
- package/skills/ae-analysis/references/check_run.md +2 -4
- package/skills/ae-analysis/references/command_index.md +46 -28
- package/skills/ae-analysis/references/cross_source_config.md +84 -0
- package/skills/ae-analysis/references/dashboard_report_data_export.md +5 -13
- package/skills/ae-analysis/references/dashboard_report_data_run.md +1 -1
- package/skills/ae-analysis/references/dashboard_update.md +15 -4
- package/skills/ae-analysis/references/datatable_columns_get.md +0 -1
- package/skills/ae-analysis/references/datatable_influence_list.md +0 -1
- package/skills/ae-analysis/references/datatable_version_get.md +0 -1
- package/skills/ae-analysis/references/datatable_version_list.md +0 -1
- package/skills/ae-analysis/references/debug_device_add.md +1 -2
- package/skills/ae-analysis/references/drilldown_entities_export.md +3 -3
- package/skills/ae-analysis/references/drilldown_events_export.md +3 -2
- package/skills/ae-analysis/references/drilldown_user_events_export.md +2 -2
- package/skills/ae-analysis/references/entity_detail_export.md +3 -2
- package/skills/ae-analysis/references/entity_detail_run.md +1 -0
- package/skills/ae-analysis/references/event_blacklist_add.md +5 -7
- package/skills/ae-analysis/references/event_blacklist_list.md +4 -6
- package/skills/ae-analysis/references/event_blacklist_update.md +6 -8
- package/skills/ae-analysis/references/event_changelog_list.md +0 -1
- package/skills/ae-analysis/references/event_create.md +0 -1
- package/skills/ae-analysis/references/event_detail_export.md +3 -2
- package/skills/ae-analysis/references/event_detail_run.md +1 -0
- package/skills/ae-analysis/references/event_export.md +0 -1
- package/skills/ae-analysis/references/event_get.md +0 -1
- package/skills/ae-analysis/references/event_hide_update.md +0 -1
- package/skills/ae-analysis/references/event_influence_list.md +0 -1
- package/skills/ae-analysis/references/event_list.md +0 -1
- package/skills/ae-analysis/references/event_property_bundle_export.md +5 -14
- package/skills/ae-analysis/references/event_property_bundle_import.md +2 -6
- package/skills/ae-analysis/references/event_relation_update.md +0 -1
- package/skills/ae-analysis/references/event_update.md +0 -1
- package/skills/ae-analysis/references/exchange_config_update.md +0 -1
- package/skills/ae-analysis/references/exchange_rate_refresh.md +0 -1
- package/skills/ae-analysis/references/exchange_rule_list.md +0 -1
- package/skills/ae-analysis/references/exchange_rule_update.md +0 -1
- package/skills/ae-analysis/references/exchange_rule_validate.md +0 -1
- package/skills/ae-analysis/references/governance_recommendation_decisions.md +23 -0
- package/skills/ae-analysis/references/governance_recommendation_export.md +108 -0
- package/skills/ae-analysis/references/governance_recommendation_submit.md +41 -0
- package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +4 -4
- package/skills/ae-analysis/references/history_tag_data_export.md +3 -3
- package/skills/ae-analysis/references/ingest_error_list.md +7 -9
- package/skills/ae-analysis/references/ingest_summary.md +6 -8
- package/skills/ae-analysis/references/live_data_export.md +10 -10
- package/skills/ae-analysis/references/live_data_list.md +7 -9
- package/skills/ae-analysis/references/metadata_resolution.md +78 -0
- package/skills/ae-analysis/references/metric_export.md +0 -1
- package/skills/ae-analysis/references/metric_get.md +0 -1
- package/skills/ae-analysis/references/metric_list.md +4 -5
- package/skills/ae-analysis/references/metric_update.md +0 -1
- package/skills/ae-analysis/references/operation_record_export.md +4 -5
- package/skills/ae-analysis/references/operation_record_list.md +4 -5
- package/skills/ae-analysis/references/personal_semantic_preference_list.md +18 -1
- package/skills/ae-analysis/references/plan_change_log_export.md +10 -10
- package/skills/ae-analysis/references/plan_change_log_list.md +4 -6
- package/skills/ae-analysis/references/plan_delete_items.md +2 -4
- package/skills/ae-analysis/references/plan_export.md +9 -9
- package/skills/ae-analysis/references/plan_generate.md +2 -4
- package/skills/ae-analysis/references/plan_get.md +4 -6
- package/skills/ae-analysis/references/plan_import_excel.md +6 -8
- package/skills/ae-analysis/references/plan_save_items.md +2 -4
- package/skills/ae-analysis/references/plan_sync_from_meta.md +4 -6
- package/skills/ae-analysis/references/project_access_detail_get.md +0 -1
- package/skills/ae-analysis/references/project_data_power_get.md +0 -1
- package/skills/ae-analysis/references/project_data_power_list.md +0 -1
- package/skills/ae-analysis/references/project_data_power_upsert.md +0 -1
- package/skills/ae-analysis/references/project_entity_create.md +0 -1
- package/skills/ae-analysis/references/project_entity_event_list.md +0 -1
- package/skills/ae-analysis/references/project_entity_get.md +0 -1
- package/skills/ae-analysis/references/project_entity_list.md +0 -1
- package/skills/ae-analysis/references/project_entity_update.md +0 -1
- package/skills/ae-analysis/references/project_function_list.md +0 -1
- package/skills/ae-analysis/references/project_info_get.md +0 -1
- package/skills/ae-analysis/references/project_info_list.md +0 -1
- package/skills/ae-analysis/references/project_info_update.md +0 -1
- package/skills/ae-analysis/references/project_mark_time_create.md +0 -1
- package/skills/ae-analysis/references/project_mark_time_list.md +0 -1
- package/skills/ae-analysis/references/project_mark_time_update.md +0 -1
- package/skills/ae-analysis/references/project_member_add.md +6 -5
- package/skills/ae-analysis/references/project_member_batch_update.md +0 -1
- package/skills/ae-analysis/references/project_member_candidate_list.md +4 -3
- package/skills/ae-analysis/references/project_member_handover_run.md +2 -3
- package/skills/ae-analysis/references/project_member_list.md +0 -1
- package/skills/ae-analysis/references/project_member_receiver_list.md +0 -1
- package/skills/ae-analysis/references/project_member_update.md +0 -1
- package/skills/ae-analysis/references/project_owner_update.md +0 -1
- package/skills/ae-analysis/references/project_permission_binding_list.md +0 -1
- package/skills/ae-analysis/references/project_role_function_list.md +0 -1
- package/skills/ae-analysis/references/project_role_get.md +0 -1
- package/skills/ae-analysis/references/project_role_list.md +0 -1
- package/skills/ae-analysis/references/project_role_upsert.md +32 -2
- package/skills/ae-analysis/references/project_role_user_list.md +0 -1
- package/skills/ae-analysis/references/project_semantic_knowledge_wiki.md +214 -0
- package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +93 -0
- package/skills/ae-analysis/references/project_timezone_get.md +0 -1
- package/skills/ae-analysis/references/project_timezone_overview.md +0 -1
- package/skills/ae-analysis/references/project_timezone_update.md +0 -1
- package/skills/ae-analysis/references/project_user_id_items_update.md +0 -1
- package/skills/ae-analysis/references/property_changelog_list.md +0 -1
- package/skills/ae-analysis/references/property_create.md +0 -1
- package/skills/ae-analysis/references/property_export.md +0 -1
- package/skills/ae-analysis/references/property_get.md +0 -1
- package/skills/ae-analysis/references/property_hide_update.md +0 -1
- package/skills/ae-analysis/references/property_influence_list.md +0 -1
- package/skills/ae-analysis/references/property_list.md +3 -4
- package/skills/ae-analysis/references/property_related_events.md +0 -1
- package/skills/ae-analysis/references/property_relation_update.md +0 -1
- package/skills/ae-analysis/references/property_update.md +0 -1
- package/skills/ae-analysis/references/report_create.md +4 -2
- package/skills/ae-analysis/references/report_data_export.md +11 -9
- package/skills/ae-analysis/references/report_data_run.md +14 -7
- package/skills/ae-analysis/references/report_get.md +5 -3
- package/skills/ae-analysis/references/report_list.md +2 -0
- package/skills/ae-analysis/references/report_update.md +5 -3
- package/skills/ae-analysis/references/rule_create.md +5 -6
- package/skills/ae-analysis/references/rule_delete.md +5 -5
- package/skills/ae-analysis/references/rule_list.md +3 -4
- package/skills/ae-analysis/references/rule_schema.md +3 -4
- package/skills/ae-analysis/references/rule_update.md +5 -6
- package/skills/ae-analysis/references/sdk_sample_generate.md +2 -4
- package/skills/ae-analysis/references/sql_table_columns.md +1 -1
- package/skills/ae-analysis/references/super_metadata_batch_create.md +1 -1
- package/skills/ae-analysis/references/super_metadata_batch_edit.md +1 -1
- package/skills/ae-analysis/references/system_member_add.md +1 -2
- package/skills/ae-analysis/references/system_member_status_update.md +1 -1
- package/skills/ae-analysis/references/system_ops_alert_contact_list.md +1 -1
- package/skills/ae-analysis/references/system_ops_alert_contact_test.md +0 -1
- package/skills/ae-analysis/references/system_query_monitor_overview.md +3 -3
- package/skills/ae-analysis/references/system_query_task_export.md +4 -14
- package/skills/ae-analysis/references/system_query_task_get.md +1 -1
- package/skills/ae-analysis/references/system_query_task_list.md +5 -6
- package/skills/ae-analysis/references/system_receiver_address_upsert.md +3 -3
- package/skills/ae-analysis/references/system_receiver_detection_get.md +1 -1
- package/skills/ae-analysis/references/system_third_party_login_disable.md +1 -1
- package/skills/ae-analysis/references/system_usage_trend_export.md +3 -12
- package/skills/ae-analysis/references/user_cluster_list.md +1 -1
- package/skills/ae-analysis/references/user_cluster_member_export.md +4 -4
- package/skills/ae-analysis/references/user_tag_create.md +23 -1
- package/skills/ae-analysis/references/user_tag_list.md +1 -1
- package/skills/ae-analysis/references/user_tag_member_export.md +4 -4
- package/skills/ae-analysis/references/user_tag_models.md +9 -1
- package/skills/ae-analysis/references/user_tag_update.md +14 -2
- package/skills/ae-analysis/references/virtual_event_create.md +10 -5
- package/skills/ae-analysis/references/virtual_event_get.md +0 -1
- package/skills/ae-analysis/references/virtual_property_create.md +0 -1
- package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +0 -1
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +1054 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs +112 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-rules.md +30 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +2735 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/package-wiki-source-zip.mjs +376 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/plan-kb-source-sync.mjs +264 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/precompiled-source.mjs +49 -0
- package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/upload-kb-sources-concurrently.mjs +200 -0
- package/skills/ae-analysis/scripts/read_results.py +197 -0
- package/skills/ae-analysis-global/SKILL.md +1 -1
- package/skills/ae-capability/SKILL.md +1 -1
- package/skills/ae-community/SKILL.md +1 -1
- package/skills/ae-current-context/SKILL.md +53 -0
- package/skills/ae-data-integration/SKILL.md +6 -4
- package/skills/ae-data-integration/references/dimension-routing.md +36 -0
- package/skills/ae-data-integration/references/lark-bitable-source.md +288 -0
- package/skills/ae-data-integration/references/lark-sheet-source.md +130 -0
- package/skills/ae-data-integration/references/local-analysis.md +2 -0
- package/skills/ae-data-integration/references/manual-export-source.md +83 -0
- package/skills/ae-data-integration/references/reuse.md +2 -0
- package/skills/ae-data-integration/references/sink-upload.md +32 -0
- package/skills/ae-data-integration/references/source-inspect.md +1 -1
- package/skills/ae-data-integration/references/tracking-plan.md +5 -2
- package/skills/ae-data-integration/references/transform.md +1 -1
- package/skills/ae-data-integration/references/ue-mapping.md +7 -4
- package/skills/ae-data-integration/references/ue-routing.md +17 -1
- package/skills/ae-data-integration-helper/SKILL.md +5 -5
- package/skills/ae-data-integration-helper/references/android_sdk_faq.md +3 -3
- package/skills/ae-data-integration-helper/references/c_sdk_faq.md +3 -3
- package/skills/ae-data-integration-helper/references/cocoscreator_sdk_faq.md +1 -1
- package/skills/ae-data-integration-helper/references/cpp_server_sdk_faq.md +3 -3
- package/skills/ae-data-integration-helper/references/ios_sdk_faq.md +1 -1
- package/skills/ae-data-integration-helper/references/java_sdk_faq.md +3 -3
- package/skills/ae-data-integration-helper/references/javascript_sdk_faq.md +1 -1
- package/skills/ae-data-integration-helper/references/logbus2_guide.md +1 -1
- package/skills/ae-data-integration-helper/references/logbus2_parser_plugin.md +2 -2
- package/skills/ae-data-integration-helper/references/minigame_sdk_faq.md +2 -2
- package/skills/ae-data-integration-helper/references/miniprogram_sdk_faq.md +1 -1
- package/skills/ae-data-integration-helper/references/python_sdk_faq.md +2 -2
- package/skills/ae-data-integration-helper/references/restful_api_notes.md +2 -2
- package/skills/ae-data-integration-helper/references/sdk_log_guide.md +3 -3
- package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +11 -11
- package/skills/ae-data-integration-helper/references/unity_sdk_faq.md +1 -1
- package/skills/ae-dataops/SKILL.md +1 -1
- package/skills/ae-engage/SKILL.md +4 -3
- package/skills/ae-engage/references/build-task-save-guide.md +3 -0
- package/skills/ae-engage/references/flow-metric-update.md +115 -1
- package/skills/ae-engage/references/save-flow.md +3 -0
- package/skills/ae-engage/references/save-task.md +21 -0
- package/skills/ae-engage/references/task-metric-update.md +151 -0
- package/skills/ae-experiment/SKILL.md +14 -7
- package/skills/ae-experiment/references/save_submit_external_experiment.md +52 -0
- package/skills/ae-experiment-design/SKILL.md +3 -3
- package/skills/ae-experiment-design/references/platform-operations.md +1 -1
- package/skills/ae-experiment-insight/SKILL.md +2 -2
- package/skills/ae-experiment-insight/references/platform-operations.md +1 -1
- package/skills/ae-generate-tracking-code/SKILL.md +2 -1
- package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +1 -1
- package/skills/ae-generate-tracking-code/references/datax-config.md +1 -1
- package/skills/ae-generate-tracking-code/references/logbus-config.md +1 -1
- package/skills/ae-generate-tracking-code/references/modes.md +1 -1
- package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +5 -5
- package/skills/ae-generate-tracking-code/references/snippet-delivery.md +3 -3
- package/skills/ae-generate-tracking-plan/SKILL.md +27 -15
- package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +1 -1
- package/skills/ae-generate-tracking-plan/references/te-api.md +1 -0
- package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +3 -2
- package/skills/ae-kb/SKILL.md +147 -37
- package/skills/ae-kb/references/analysis-workflow.md +292 -0
- package/skills/ae-kb/references/query-workflow.md +59 -29
- package/skills/ae-kb/references/source-mutations.md +95 -0
- package/skills/ae-kb/references/versions.md +46 -0
- package/skills/ae-kb-discovery/SKILL.md +5 -1
- package/skills/ae-metadata/SKILL.md +1 -1
- package/skills/ae-migrate-tracking-code/SKILL.md +195 -0
- package/skills/ae-migrate-tracking-code/references/ae-preset-properties.md +76 -0
- package/skills/ae-migrate-tracking-code/references/ir.md +167 -0
- package/skills/ae-migrate-tracking-code/references/mapping-framework.md +112 -0
- package/skills/ae-migrate-tracking-code/references/providers/README.md +58 -0
- package/skills/ae-migrate-tracking-code/references/providers/amplitude.md +208 -0
- package/skills/ae-migrate-tracking-code/references/providers/firebase.md +160 -0
- package/skills/ae-migrate-tracking-code/references/providers/ga4.md +92 -0
- package/skills/ae-migrate-tracking-code/references/providers/mixpanel.md +150 -0
- package/skills/ae-migrate-tracking-code/references/providers/sensors-data.md +146 -0
- package/skills/ae-project-semantic/SKILL.md +1 -1
- package/skills/ae-system/SKILL.md +5 -5
- package/skills/ae-team/SKILL.md +2 -2
- package/skills/ae-use-agent/SKILL.md +42 -0
- package/skills/ae-use-agent/references/local-agent.md +114 -0
- package/dist/auth-UMJAA72O.js +0 -15
- package/dist/chunk-533JK3YX.js +0 -72
- package/dist/chunk-DKEXH6Q5.js +0 -72
- package/dist/chunk-O6K2ODUE.js +0 -318
- package/dist/chunk-RWXIXOZG.js +0 -326
- package/dist/client-N7NGZUNI.js +0 -204
- package/dist/te-kb-BUD6N3NI.js +0 -1222
- package/skills/ae-agent/references/auto-provision-mcp-credentials.md +0 -57
- package/skills/ae-analysis/metadata_resolution.md +0 -184
|
@@ -32,13 +32,127 @@ The backend uses a clean-and-insert update model: omitted existing metric settin
|
|
|
32
32
|
- `ab_test`
|
|
33
33
|
- Preserve first-level group keys exactly. Do not convert `ab_test` to `abTest`.
|
|
34
34
|
- Each group value is an array of Hermes metric DTO objects.
|
|
35
|
-
- Use DTO field names from `HermesMetricReqDTO`: `metricSettingId`, `metricType`, `metricName`, `metricQp`, `metricWindowNum`, `metricWindowTimeUnit`, `displayName`, `orderId`, `note`, and `metricParams`.
|
|
35
|
+
- Use DTO field names from `HermesMetricReqDTO`: `metricSettingId`, `metricType`, `metricName`, `metricQp`, `metricWindowNum`, `metricWindowTimeUnit`, `timeCycleDef`, `displayName`, `orderId`, `note`, and `metricParams`.
|
|
36
36
|
- The CLI boundary accepts snake_case nested DTO fields too, but prefer the native camelCase names above in examples and generated payloads.
|
|
37
37
|
- For existing bindings, include `metricSettingId` so Hermes updates that binding instead of treating it as a new binding.
|
|
38
38
|
- For preset metrics, use `metricType: 1` and a real `metricName` discovered from `engage-setting common-metric list/get`.
|
|
39
39
|
- For custom metrics, use `metricType: 2` plus a complete `metricQp`, `metricWindowNum`, `metricWindowTimeUnit`, and `displayName`; Hermes creates the custom metric name.
|
|
40
40
|
- Do not invent metric names, event names, property names, QP structures, or metric-setting IDs. Read the existing flow detail and available metric definitions first, then update the complete desired metric map.
|
|
41
41
|
|
|
42
|
+
Create/save the flow first and obtain its logical `flow_id`, then configure effect metrics with this command. Do not put the global `metric_map` in the flow-save request.
|
|
43
|
+
|
|
44
|
+
## Custom metric window semantics
|
|
45
|
+
|
|
46
|
+
Choose the window from the user's intent, not from the number alone:
|
|
47
|
+
|
|
48
|
+
| User intent | `metricWindowNum` | `metricWindowTimeUnit` | `timeCycleDef` |
|
|
49
|
+
| --- | --- | --- | --- |
|
|
50
|
+
| One day / 24 hours / rolling one day | `1` | `"day"` | Omit |
|
|
51
|
+
| Until the end of the attribution event's calendar day | `1` | `"day"` | `{"startTime":"00:00"}` |
|
|
52
|
+
| Until the end of the attribution event's calendar week | `1` | `"week"` | `{"startDay":1,"startTime":"00:00"}` |
|
|
53
|
+
| Until the end of the attribution event's calendar month | `1` | `"month"` | `{"startDay":1}` |
|
|
54
|
+
|
|
55
|
+
`timeCycleDef` selects a natural calendar attribution window. The attribution event (such as a trigger, delivery, or click, according to the metric group) anchors the window; conversions must occur after that event and before the next configured cycle boundary. The boundary is exclusive. `1` + `day` alone remains a rolling one-day window. Resolve calendar boundaries in the flow's configured timezone (`tzOffset`), falling back to the backend default when absent. The report display timezone does not redefine the cycle.
|
|
56
|
+
|
|
57
|
+
For example, with Monday at midnight as the week boundary, a Wednesday 15:00 attribution event counts subsequent conversions before the following Monday 00:00. It does not count Monday or Tuesday conversions before that event. With midnight as the day boundary, a 23:00 attribution event has only the remainder of that day, rather than 24 hours.
|
|
58
|
+
|
|
59
|
+
Interpret "today", "this week", or "this month" as these windows only when the user means the attribution event's day, week, or month. A request to view results for the current reporting period belongs to report date filters and does not by itself authorize changing metric configuration.
|
|
60
|
+
|
|
61
|
+
Treat an unqualified "one day" as the existing rolling window. Use midnight, Monday, and the first day of the month for the calendar defaults above. Honor an explicitly requested valid cycle start. "Daily", "weekly", and "monthly" can describe task execution frequency: resolve the context and ask for clarification only when the metric window intent remains ambiguous.
|
|
62
|
+
|
|
63
|
+
Natural window constraints:
|
|
64
|
+
|
|
65
|
+
- `metricWindowNum` must be `1`; the unit must be `day`, `week`, or `month`.
|
|
66
|
+
- Day: require `startTime` in 24-hour `HH:mm`; omit `startDay`.
|
|
67
|
+
- Week: require `startDay` from `1` (Monday) to `7` (Sunday) and `startTime` in `HH:mm`.
|
|
68
|
+
- Month: require `startDay` from `1` to `28`; omit `startTime` or use `"00:00"`.
|
|
69
|
+
- An empty `timeCycleDef: {}` is invalid. Without `timeCycleDef`, only rolling `minute`, `hour`, and `day` units are accepted.
|
|
70
|
+
- When switching rolling to calendar, add the matching `timeCycleDef` and set the number/unit together. When switching back, remove `timeCycleDef` entirely and use a valid rolling unit. Preserve the binding's `metricSettingId` and all other desired metrics.
|
|
71
|
+
- These options apply to custom metrics (`metricType: 2`) through `metric update`. Do not use `engage-setting common-metric create/update` to create natural windows.
|
|
72
|
+
- Task support requires a backend deployment containing the task natural-window feature. Do not silently replace an unsupported calendar window with a rolling duration.
|
|
73
|
+
|
|
74
|
+
### Custom metric payload examples
|
|
75
|
+
|
|
76
|
+
Each JSON block is a complete illustrative `--metric-map` value for a configuration containing only that metric. The `purchase` event and QP below are examples, not discovered project metadata: substitute a verified project metric QP (as a JSON string) before use. For an existing configuration, merge the chosen metric into the complete current map and preserve existing binding IDs; do not submit these single-metric examples over other configured metrics.
|
|
77
|
+
|
|
78
|
+
Rolling one day:
|
|
79
|
+
|
|
80
|
+
```json
|
|
81
|
+
{
|
|
82
|
+
"trigger": [
|
|
83
|
+
{
|
|
84
|
+
"metricType": 2,
|
|
85
|
+
"metricQp": "{\"type\":0,\"eventName\":\"purchase\",\"analysis\":\"A100\",\"filts\":[]}",
|
|
86
|
+
"metricWindowNum": 1,
|
|
87
|
+
"metricWindowTimeUnit": "day",
|
|
88
|
+
"displayName": "Purchase - Rolling one day",
|
|
89
|
+
"orderId": 1
|
|
90
|
+
}
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
Current calendar day:
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"trigger": [
|
|
100
|
+
{
|
|
101
|
+
"metricType": 2,
|
|
102
|
+
"metricQp": "{\"type\":0,\"eventName\":\"purchase\",\"analysis\":\"A100\",\"filts\":[]}",
|
|
103
|
+
"metricWindowNum": 1,
|
|
104
|
+
"metricWindowTimeUnit": "day",
|
|
105
|
+
"displayName": "Purchase - Current calendar day",
|
|
106
|
+
"orderId": 1,
|
|
107
|
+
"timeCycleDef": {
|
|
108
|
+
"startTime": "00:00"
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
]
|
|
112
|
+
}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
Current calendar week:
|
|
116
|
+
|
|
117
|
+
```json
|
|
118
|
+
{
|
|
119
|
+
"trigger": [
|
|
120
|
+
{
|
|
121
|
+
"metricType": 2,
|
|
122
|
+
"metricQp": "{\"type\":0,\"eventName\":\"purchase\",\"analysis\":\"A100\",\"filts\":[]}",
|
|
123
|
+
"metricWindowNum": 1,
|
|
124
|
+
"metricWindowTimeUnit": "week",
|
|
125
|
+
"displayName": "Purchase - Current calendar week",
|
|
126
|
+
"orderId": 1,
|
|
127
|
+
"timeCycleDef": {
|
|
128
|
+
"startDay": 1,
|
|
129
|
+
"startTime": "00:00"
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
```
|
|
135
|
+
|
|
136
|
+
Current calendar month:
|
|
137
|
+
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"trigger": [
|
|
141
|
+
{
|
|
142
|
+
"metricType": 2,
|
|
143
|
+
"metricQp": "{\"type\":0,\"eventName\":\"purchase\",\"analysis\":\"A100\",\"filts\":[]}",
|
|
144
|
+
"metricWindowNum": 1,
|
|
145
|
+
"metricWindowTimeUnit": "month",
|
|
146
|
+
"displayName": "Purchase - Current calendar month",
|
|
147
|
+
"orderId": 1,
|
|
148
|
+
"timeCycleDef": {
|
|
149
|
+
"startDay": 1
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
]
|
|
153
|
+
}
|
|
154
|
+
```
|
|
155
|
+
|
|
42
156
|
## Examples
|
|
43
157
|
|
|
44
158
|
Dry-run updating an existing binding:
|
|
@@ -30,6 +30,9 @@ You still organize user requirements into an intermediate intent first, then map
|
|
|
30
30
|
|
|
31
31
|
---
|
|
32
32
|
|
|
33
|
+
The current `build` / `preview` / `commit` API does not expose `completionIndicators`.
|
|
34
|
+
Completion-goal editing requires the web editor; CLI JSON passthrough does not add support.
|
|
35
|
+
|
|
33
36
|
## 2. Workflow
|
|
34
37
|
|
|
35
38
|
1. Identify the flow intent from the user input and produce a unified intent JSON.
|
|
@@ -4,6 +4,8 @@ Create or update a Hermes task draft.
|
|
|
4
4
|
|
|
5
5
|
Mapped command: `ae-cli engage-task task save`
|
|
6
6
|
|
|
7
|
+
To configure custom effect metrics after saving (including rolling or current calendar day/week/month windows), use [Task metric update](task-metric-update.md). Do not embed the global metric map in this save request.
|
|
8
|
+
|
|
7
9
|
This command is the final write step. Do not use it as the first step in task construction.
|
|
8
10
|
|
|
9
11
|
Recommended workflow:
|
|
@@ -437,6 +439,25 @@ For a main goal (`completionIndicatorType=0`), always include `touch_cycle_num`
|
|
|
437
439
|
`touch_cycle_num=1` and `touch_cycle_num_unit="day"`. Static Capability validation may accept a
|
|
438
440
|
main goal without these fields, but the Hermes save service rejects it.
|
|
439
441
|
|
|
442
|
+
### Natural completion-goal windows
|
|
443
|
+
|
|
444
|
+
Set these fields on `req.controlConfig.completionIndicatorDef.completionIndicators[]`,
|
|
445
|
+
alongside `completionIndicatorType` and the semantic `eventDefinition`:
|
|
446
|
+
|
|
447
|
+
| Window | `touch_cycle_num` | `touch_cycle_num_unit` | `timeCycleDef` |
|
|
448
|
+
| --- | --- | --- | --- |
|
|
449
|
+
| Current day | 1 | `day` | `{"startTime":"00:00"}` |
|
|
450
|
+
| Current week | 1 | `week` | `{"startDay":1,"startTime":"00:00"}` |
|
|
451
|
+
| Current month | 1 | `month` | `{"startDay":1}` |
|
|
452
|
+
|
|
453
|
+
Custom day/week times use `HH:mm`. Week `startDay` is 1 (Monday) through 7 (Sunday);
|
|
454
|
+
month `startDay` is 1 through 28. Day windows omit `startDay`; month windows omit
|
|
455
|
+
`startTime` or use `00:00`. Natural windows require count 1 and a nonempty `timeCycleDef`.
|
|
456
|
+
Boundaries use the task timezone; conversions must follow attribution and precede the next boundary.
|
|
457
|
+
|
|
458
|
+
To return to a rolling window, remove `timeCycleDef` and set a valid `minute`, `hour`,
|
|
459
|
+
or `day` count/unit. Without `timeCycleDef`, `1` + `day` remains a rolling one-day window.
|
|
460
|
+
|
|
440
461
|
Important constraints that still apply:
|
|
441
462
|
|
|
442
463
|
- `doNotDisturb.enableDoNotDisturb=true` requires `startTime` and `endTime` in `HH:mm`
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
# Task metric update
|
|
2
|
+
|
|
3
|
+
Use this reference to configure, add, or replace effect metric settings for an operation task.
|
|
4
|
+
|
|
5
|
+
Mapped CLI command: `ae-cli engage-task metric update`
|
|
6
|
+
|
|
7
|
+
Mapped capability: `engage-task.metric.update`
|
|
8
|
+
|
|
9
|
+
## Required input
|
|
10
|
+
|
|
11
|
+
- `--project-id`
|
|
12
|
+
- `--task-id`
|
|
13
|
+
- `--metric-map '<metric_map_json>'`
|
|
14
|
+
|
|
15
|
+
## Workflow and parameter guidance
|
|
16
|
+
|
|
17
|
+
1. Create/save the task first and obtain its `task_id`. The task-save request does not configure global effect metrics through `metricMap`.
|
|
18
|
+
2. Read task details with `ae-cli engage-task task get --project-id <project_id> --task-id <task_id>` and use the grouped `metric_map` as the update baseline. `metric list` returns a flat list without group membership, so it cannot reconstruct this map. If the grouped configuration is unavailable, do not guess groups or treat the flat list as an empty configuration.
|
|
19
|
+
3. Build the complete desired `metric_map`. This is a clean-and-insert update: omitted settings may be deleted, so preserve each binding's original group, all other desired metrics, and existing `metricSettingId` values. Select the binding to change by its setting ID, not by its display name.
|
|
20
|
+
4. Use `--dry-run` on the assembled request before applying the explicitly requested configuration change. After applying, read task details again and compare the groups, binding IDs, and window fields with the intended configuration.
|
|
21
|
+
|
|
22
|
+
`metric_map` is an object with target-user group keys `trigger`, `view`, and `click`, each containing an array of Hermes metric DTOs. Use native camelCase DTO fields: `metricSettingId`, `metricType`, `metricName`, `metricQp`, `metricWindowNum`, `metricWindowTimeUnit`, `timeCycleDef`, `displayName`, `orderId`, `note`, and `metricParams`. Nested snake_case fields are also accepted at the CLI boundary.
|
|
23
|
+
|
|
24
|
+
For a custom metric use `metricType: 2`, a complete verified `metricQp` JSON string, the window fields, `displayName`, and `orderId`; Hermes creates the custom metric name. For preset metrics use `metricType: 1` and a real `metricName` from `engage-setting common-metric list/get`. Do not invent event names, metric names, QP structures, or binding IDs. Both custom and preset bindings require `displayName` and `orderId`. Do not use `metricId` in place of `metricSettingId`.
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
ae-cli --dry-run engage-task metric update \
|
|
28
|
+
--project-id <project_id> \
|
|
29
|
+
--task-id <task_id> \
|
|
30
|
+
--metric-map '<complete_metric_map_json>'
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Replace the placeholders with discovered IDs and the complete desired JSON map. Apply the same command without `--dry-run` only for an authorized configuration change.
|
|
34
|
+
|
|
35
|
+
## Custom metric window semantics
|
|
36
|
+
|
|
37
|
+
Choose the window from the user's intent, not from the number alone:
|
|
38
|
+
|
|
39
|
+
| User intent | `metricWindowNum` | `metricWindowTimeUnit` | `timeCycleDef` |
|
|
40
|
+
| --- | --- | --- | --- |
|
|
41
|
+
| One day / 24 hours / rolling one day | `1` | `"day"` | Omit |
|
|
42
|
+
| Until the end of the attribution event's calendar day | `1` | `"day"` | `{"startTime":"00:00"}` |
|
|
43
|
+
| Until the end of the attribution event's calendar week | `1` | `"week"` | `{"startDay":1,"startTime":"00:00"}` |
|
|
44
|
+
| Until the end of the attribution event's calendar month | `1` | `"month"` | `{"startDay":1}` |
|
|
45
|
+
|
|
46
|
+
`timeCycleDef` selects a natural calendar attribution window. The attribution event (such as a trigger, delivery, or click, according to the metric group) anchors the window; conversions must occur after that event and before the next configured cycle boundary. The boundary is exclusive. `1` + `day` alone remains a rolling one-day window. Resolve calendar boundaries in the task's configured timezone (`tzOffset`), falling back to the backend default when absent. The report display timezone does not redefine the cycle.
|
|
47
|
+
|
|
48
|
+
For example, with Monday at midnight as the week boundary, a Wednesday 15:00 attribution event counts subsequent conversions before the following Monday 00:00. It does not count Monday or Tuesday conversions before that event. With midnight as the day boundary, a 23:00 attribution event has only the remainder of that day, rather than 24 hours.
|
|
49
|
+
|
|
50
|
+
Interpret "today", "this week", or "this month" as these windows only when the user means the attribution event's day, week, or month. A request to view results for the current reporting period belongs to report date filters and does not by itself authorize changing metric configuration.
|
|
51
|
+
|
|
52
|
+
Treat an unqualified "one day" as the existing rolling window. Use midnight, Monday, and the first day of the month for the calendar defaults above. Honor an explicitly requested valid cycle start. "Daily", "weekly", and "monthly" can describe task execution frequency: resolve the context and ask for clarification only when the metric window intent remains ambiguous.
|
|
53
|
+
|
|
54
|
+
Natural window constraints:
|
|
55
|
+
|
|
56
|
+
- `metricWindowNum` must be `1`; the unit must be `day`, `week`, or `month`.
|
|
57
|
+
- Day: require `startTime` in 24-hour `HH:mm`; omit `startDay`.
|
|
58
|
+
- Week: require `startDay` from `1` (Monday) to `7` (Sunday) and `startTime` in `HH:mm`.
|
|
59
|
+
- Month: require `startDay` from `1` to `28`; omit `startTime` or use `"00:00"`.
|
|
60
|
+
- An empty `timeCycleDef: {}` is invalid. Without `timeCycleDef`, only rolling `minute`, `hour`, and `day` units are accepted.
|
|
61
|
+
- When switching rolling to calendar, add the matching `timeCycleDef` and set the number/unit together. When switching back, remove `timeCycleDef` entirely and use a valid rolling unit. Preserve the binding's `metricSettingId` and all other desired metrics.
|
|
62
|
+
- These options apply to custom metrics (`metricType: 2`) through `metric update`. Do not use `engage-setting common-metric create/update` to create natural windows.
|
|
63
|
+
- Task support requires a backend deployment containing the task natural-window feature. Do not silently replace an unsupported calendar window with a rolling duration.
|
|
64
|
+
|
|
65
|
+
### Custom metric payload examples
|
|
66
|
+
|
|
67
|
+
Each JSON block is a complete illustrative `--metric-map` value for a configuration containing only that metric. The `purchase` event and QP below are examples, not discovered project metadata: substitute a verified project metric QP (as a JSON string) before use. For an existing configuration, merge the chosen metric into the complete current map and preserve existing binding IDs; do not submit these single-metric examples over other configured metrics.
|
|
68
|
+
|
|
69
|
+
Rolling one day:
|
|
70
|
+
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"trigger": [
|
|
74
|
+
{
|
|
75
|
+
"metricType": 2,
|
|
76
|
+
"metricQp": "{\"type\":0,\"eventName\":\"purchase\",\"analysis\":\"A100\",\"filts\":[]}",
|
|
77
|
+
"metricWindowNum": 1,
|
|
78
|
+
"metricWindowTimeUnit": "day",
|
|
79
|
+
"displayName": "Purchase - Rolling one day",
|
|
80
|
+
"orderId": 1
|
|
81
|
+
}
|
|
82
|
+
]
|
|
83
|
+
}
|
|
84
|
+
```
|
|
85
|
+
|
|
86
|
+
Current calendar day:
|
|
87
|
+
|
|
88
|
+
```json
|
|
89
|
+
{
|
|
90
|
+
"trigger": [
|
|
91
|
+
{
|
|
92
|
+
"metricType": 2,
|
|
93
|
+
"metricQp": "{\"type\":0,\"eventName\":\"purchase\",\"analysis\":\"A100\",\"filts\":[]}",
|
|
94
|
+
"metricWindowNum": 1,
|
|
95
|
+
"metricWindowTimeUnit": "day",
|
|
96
|
+
"displayName": "Purchase - Current calendar day",
|
|
97
|
+
"orderId": 1,
|
|
98
|
+
"timeCycleDef": {
|
|
99
|
+
"startTime": "00:00"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
]
|
|
103
|
+
}
|
|
104
|
+
```
|
|
105
|
+
|
|
106
|
+
Current calendar week:
|
|
107
|
+
|
|
108
|
+
```json
|
|
109
|
+
{
|
|
110
|
+
"trigger": [
|
|
111
|
+
{
|
|
112
|
+
"metricType": 2,
|
|
113
|
+
"metricQp": "{\"type\":0,\"eventName\":\"purchase\",\"analysis\":\"A100\",\"filts\":[]}",
|
|
114
|
+
"metricWindowNum": 1,
|
|
115
|
+
"metricWindowTimeUnit": "week",
|
|
116
|
+
"displayName": "Purchase - Current calendar week",
|
|
117
|
+
"orderId": 1,
|
|
118
|
+
"timeCycleDef": {
|
|
119
|
+
"startDay": 1,
|
|
120
|
+
"startTime": "00:00"
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
Current calendar month:
|
|
128
|
+
|
|
129
|
+
```json
|
|
130
|
+
{
|
|
131
|
+
"trigger": [
|
|
132
|
+
{
|
|
133
|
+
"metricType": 2,
|
|
134
|
+
"metricQp": "{\"type\":0,\"eventName\":\"purchase\",\"analysis\":\"A100\",\"filts\":[]}",
|
|
135
|
+
"metricWindowNum": 1,
|
|
136
|
+
"metricWindowTimeUnit": "month",
|
|
137
|
+
"displayName": "Purchase - Current calendar month",
|
|
138
|
+
"orderId": 1,
|
|
139
|
+
"timeCycleDef": {
|
|
140
|
+
"startDay": 1
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
]
|
|
144
|
+
}
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
## Related interfaces
|
|
148
|
+
|
|
149
|
+
- [Task save](save-task.md): create or update the task draft before configuring effect metrics.
|
|
150
|
+
- [Flow metric update](flow-metric-update.md): the equivalent flow canvas configuration.
|
|
151
|
+
- [Task metric detail](task-metric-detail.md): query metric reports; this is separate from configuration.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ae-experiment
|
|
3
|
-
version: 1.0.
|
|
4
|
-
description: "Use when managing Atlas AB experiments, traffic layers, Features, metrics, buckets, and experiment reports through ae-cli"
|
|
3
|
+
version: 1.0.2
|
|
4
|
+
description: "Use when managing Atlas AB or external experiments, traffic layers, Features, metrics, buckets, and experiment reports through ae-cli"
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# ae-experiment
|
|
@@ -61,10 +61,11 @@ Naming and response boundary:
|
|
|
61
61
|
- `experiment metric save`
|
|
62
62
|
3. Create or patch the experiment draft with `experiment experiment save`.
|
|
63
63
|
Use `experiment experiment update-metrics` when replacing metric bindings or assigning guardrail roles.
|
|
64
|
-
4.
|
|
65
|
-
5.
|
|
66
|
-
6.
|
|
67
|
-
7.
|
|
64
|
+
4. For an external experiment, use `experiment external-experiment save-submit` instead. It submits directly and does not use Features, traffic layers, allocation, targeting, or experiment cycles.
|
|
65
|
+
5. Check readiness with `experiment experiment ready-check`.
|
|
66
|
+
6. For a non-mutex traffic layer, run `experiment experiment conflict-check` before submit (needs `feature_key_list` from context or `experiment get`).
|
|
67
|
+
7. Move status with `experiment experiment manage`.
|
|
68
|
+
8. Query reports with `experiment report summary`, `experiment report sample-size`, and `experiment report metric-trend`.
|
|
68
69
|
|
|
69
70
|
If an experiment save returns `error_code: METRIC_NOT_FOUND`, list metrics for the same project. Create and verify the metric before retrying; never retry with another invented ID. Metric deletion returns `error_code: METRIC_IN_USE` while an active experiment binding exists.
|
|
70
71
|
|
|
@@ -98,10 +99,16 @@ Read [`save_build_guide.md`](references/save_build_guide.md) and
|
|
|
98
99
|
|
|
99
100
|
### Experiment
|
|
100
101
|
|
|
101
|
-
`experiment experiment save`, `experiment experiment update-metrics`, `capability run experiment.experiment.save-submit`, `experiment experiment list`, `experiment experiment list-archived`, `experiment experiment get`, `experiment experiment ready-check`, `experiment experiment conflict-check`, `experiment experiment manage`, `experiment experiment update-group`, `experiment experiment batch-delete`, `experiment operation-log query`
|
|
102
|
+
`experiment experiment save`, `experiment experiment update-metrics`, `experiment external-experiment save-submit`, `capability run experiment.experiment.save-submit`, `experiment experiment list`, `experiment experiment list-archived`, `experiment experiment get`, `experiment experiment ready-check`, `experiment experiment conflict-check`, `experiment experiment manage`, `experiment experiment update-group`, `experiment experiment batch-delete`, `experiment operation-log query`
|
|
102
103
|
|
|
103
104
|
Read [`manage_guardrail_metrics.md`](references/manage_guardrail_metrics.md) before assigning or replacing metric roles.
|
|
104
105
|
|
|
106
|
+
### External Experiment
|
|
107
|
+
|
|
108
|
+
`experiment external-experiment save-submit`
|
|
109
|
+
|
|
110
|
+
Read [`save_submit_external_experiment.md`](references/save_submit_external_experiment.md) before creating or updating an external experiment.
|
|
111
|
+
|
|
105
112
|
### Traffic Layer and Buckets
|
|
106
113
|
|
|
107
114
|
`experiment traffic-layer save`, `experiment traffic-layer get`, `experiment traffic-layer list`, `experiment traffic-layer batch-delete`, `experiment bucket list`
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# experiment external-experiment save-submit
|
|
2
|
+
|
|
3
|
+
Create or update and submit an external experiment. This is the typed L2 wrapper for
|
|
4
|
+
`experiment.experiment.save-submit`; it always sends `expType: "external"`.
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
ae-cli experiment external-experiment save-submit \
|
|
8
|
+
--project-id 1 \
|
|
9
|
+
--exp-name "Partner onboarding test" \
|
|
10
|
+
--bucket-id "#user_id" \
|
|
11
|
+
--start-time "2026-09-01T00:00:00+08:00" \
|
|
12
|
+
--end-time "2026-09-15T00:00:00+08:00" \
|
|
13
|
+
--supposition "The new onboarding improves activation." \
|
|
14
|
+
--groups '[{"expGroupName":"control","isControl":1},{"expGroupName":"variant","isControl":0}]' \
|
|
15
|
+
--metrics '[{"metricId":"activation_rate","metricRole":"primary"}]' \
|
|
16
|
+
--dry-run
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
`--dry-run` validates the external submit shape without persisting: required
|
|
20
|
+
time bounds, Feature-only fields that are forbidden here, group shape, and
|
|
21
|
+
primary metric presence. The final submit also checks that metric IDs exist and
|
|
22
|
+
that each metric event supports the selected bucket property.
|
|
23
|
+
|
|
24
|
+
External experiments are evaluated from exposure events reported by the caller. They
|
|
25
|
+
do not configure Features, traffic layers, allocation, targeting, or `expCycle`.
|
|
26
|
+
Choose an existing `bucket_id` whose property is available in the events used by every
|
|
27
|
+
bound metric. The server requires at least two named groups, exactly one control group,
|
|
28
|
+
and at least one existing primary metric.
|
|
29
|
+
|
|
30
|
+
Status is calculated from the submitted time range: a future start time becomes
|
|
31
|
+
`pending`, a current range becomes `running`, and an elapsed end time becomes `ended`.
|
|
32
|
+
No `end_time` creates a long-running experiment. When the scheduled job is active, a
|
|
33
|
+
pending experiment enters `running` at its start time and a running experiment enters
|
|
34
|
+
`ended` at its end time. `experiment experiment manage` permits only
|
|
35
|
+
`pending → running`, `running → ended`, and `ended → archive`; manually entering
|
|
36
|
+
`running` or `ended` replaces the corresponding time boundary with the current time.
|
|
37
|
+
|
|
38
|
+
For an update, first call `experiment experiment get`. An already submitted external
|
|
39
|
+
experiment can be updated only while `pending` or `running`; its hypothesis and time
|
|
40
|
+
range may change, and group descriptions may change. Keep its name, business group,
|
|
41
|
+
description, bucket, metric bindings, group count, group names, control markers,
|
|
42
|
+
allocations, and group values unchanged. Include every returned group unchanged,
|
|
43
|
+
including its `expGroupId`, `allocation`, and `expGroupValue`; the CLI rejects an
|
|
44
|
+
update that omits a group ID. Omitting `--end-time` represents a long-running
|
|
45
|
+
experiment, so preserve the current end time whenever it should remain scheduled.
|
|
46
|
+
|
|
47
|
+
Transition status: L2
|
|
48
|
+
Owning module: Hermes Atlas experiment capability gateway
|
|
49
|
+
Current transport: Capability Gateway `experiment.experiment.save-submit`
|
|
50
|
+
Gateway target: `experiment.experiment.save-submit`
|
|
51
|
+
Review after: 2027-02-28
|
|
52
|
+
Exit condition: Remove this wrapper if the Gateway exposes a dedicated external-experiment capability or the typed fields no longer match the Atlas external-experiment contract.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ae-experiment-design
|
|
3
|
-
description: "Design AE
|
|
3
|
+
description: "Design AE A/B experiments from a business goal through a reviewable draft. Use when the user asks to form an experiment hypothesis, assess metric readiness, choose or create metrics and Features, design groups or traffic, estimate sample size or duration, create an experiment draft, or run readiness and conflict checks. SDK guidance is a conditional branch: enter it only when the user explicitly asks about an A/B experiment SDK, client SDK integration, experiment SDK code generation, or SDK troubleshooting; do not include SDK work in an ordinary experiment-design or draft-creation request."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# AE Experiment Design and Integration
|
|
@@ -9,7 +9,7 @@ Turn a business objective into an evidence-backed experiment design, an implemen
|
|
|
9
9
|
|
|
10
10
|
## Hard boundaries
|
|
11
11
|
|
|
12
|
-
- Use `ae-cli` for every AE
|
|
12
|
+
- Use `ae-cli` for every AE platform interaction. Do not substitute raw HTTP, browser automation, direct database queries, or application SDKs.
|
|
13
13
|
- Do not infer an SDK request from the fact that an experiment needs implementation. Load SDK references only when the user explicitly asks about an A/B experiment SDK or client SDK integration.
|
|
14
14
|
- Do not copy general tracking SDK documentation into this Skill. Route generic initialization, event reporting, `track`, user identity, user properties, data upload, LogBus, and REST questions to `ae-data-integration-helper` when that Skill is available.
|
|
15
15
|
- Use only the event-metric calculation contracts defined in
|
|
@@ -24,7 +24,7 @@ Read only the references needed for the current request:
|
|
|
24
24
|
|
|
25
25
|
| Request | Required references |
|
|
26
26
|
|---|---|
|
|
27
|
-
| Any AE
|
|
27
|
+
| Any AE platform read or write | [`references/platform-operations.md`](references/platform-operations.md) |
|
|
28
28
|
| Create or reuse an experiment draft | [`references/experiment-creation.md`](references/experiment-creation.md) and [`references/platform-operations.md`](references/platform-operations.md) |
|
|
29
29
|
| Metric selection, feasibility, or creation | [`references/metric-readiness.md`](references/metric-readiness.md) |
|
|
30
30
|
| Explicit A/B experiment SDK or client SDK integration request | [`references/sdk-integration.md`](references/sdk-integration.md) |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ae-experiment-insight
|
|
3
|
-
description: "Diagnose and interpret AE
|
|
3
|
+
description: "Diagnose and interpret AE A/B experiments from configuration and report evidence through a defensible decision. Use when the user asks what an experiment means, whether it can roll out, why a result is not significant, why group sizes or exposure are wrong, why treatment results conflict, whether the report is trustworthy, or what to do next. Covers SRM, duration sufficiency, novelty effects, metric conflicts, missing or anomalous data, design reasonableness, data reliability, metric interpretation, trend and segment analysis, root-cause hypotheses, and rollout recommendations. All platform discovery and reads must use ae-cli."
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# AE Experiment Insight and Diagnosis
|
|
@@ -9,7 +9,7 @@ Validate the evidence before interpreting the effect. Produce a decision only wh
|
|
|
9
9
|
|
|
10
10
|
## Platform and reference routing
|
|
11
11
|
|
|
12
|
-
Use `ae-cli` for every AE
|
|
12
|
+
Use `ae-cli` for every AE platform interaction and follow
|
|
13
13
|
[`references/platform-operations.md`](references/platform-operations.md);
|
|
14
14
|
never substitute another platform access path.
|
|
15
15
|
|
|
@@ -299,6 +299,7 @@ From the plan file, read:
|
|
|
299
299
|
- `meta.client_sdk_type` — client SDK type (if `client_only` or `both`)
|
|
300
300
|
- `meta.server_language` — server language (if `server_only` or `both`)
|
|
301
301
|
- `meta.user_identity` — user identity config (used to generate `login()` / `identify()` calls)
|
|
302
|
+
- `user_properties` — user property pool (each entry's `name` + `update_type`, used to generate `user_set` / `user_setOnce` / `user_add` calls)
|
|
302
303
|
|
|
303
304
|
**Determine list of platforms to generate code for**:
|
|
304
305
|
```
|
|
@@ -639,7 +640,7 @@ Validation steps:
|
|
|
639
640
|
### After validation passes
|
|
640
641
|
|
|
641
642
|
- Remind user to commit changes (if any `insert` was used)
|
|
642
|
-
- Remind user to call `login()` / `identify()`
|
|
643
|
+
- Remind user to call `login()` / `identify()` (associate user IDs) and `user_set` / `user_setOnce` / `user_add` (set user properties) at the right business moments
|
|
643
644
|
- Remind user to copy daemon.json to LogBus2 conf/ directory
|
|
644
645
|
|
|
645
646
|
### Validation failure
|
|
@@ -111,7 +111,7 @@ Wait for user confirmation, then proceed to Stage 1.
|
|
|
111
111
|
|
|
112
112
|
## User Properties
|
|
113
113
|
- File: <path>:<line>
|
|
114
|
-
- user_set / user_setOnce / user_add
|
|
114
|
+
- user_set / user_setOnce / user_add / user_append
|
|
115
115
|
|
|
116
116
|
## Event Group: <tag>
|
|
117
117
|
- <event_name>: <file>:<line> [Business action: <business meaning>]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Mode D — DataX job.json
|
|
2
2
|
|
|
3
|
-
> **Terminology**: 数据源类型 = data source type | 连接信息 = connection info | 库表名 = database/table name | 查询条件 = query condition | reader 插件 = reader plugin | columnMapping = column-to-property mapping | push_url =
|
|
3
|
+
> **Terminology**: 数据源类型 = data source type | 连接信息 = connection info | 库表名 = database/table name | 查询条件 = query condition | reader 插件 = reader plugin | columnMapping = column-to-property mapping | push_url = AE receiver URL
|
|
4
4
|
|
|
5
5
|
## Ask User
|
|
6
6
|
1. Data source type (MySQL / Oracle / PostgreSQL / OSS / HDFS / Other)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# LogBus2 Configuration Generation
|
|
2
2
|
|
|
3
|
-
> **Terminology**: LogBus2 = log sync tool (Go-based, v2) | LoggerConsumer = writes events to local log files | 日志同步工具 = log sync tool | daemon.json = LogBus2 config file | push_url =
|
|
3
|
+
> **Terminology**: LogBus2 = log sync tool (Go-based, v2) | LoggerConsumer = writes events to local log files | 日志同步工具 = log sync tool | daemon.json = LogBus2 config file | push_url = AE receiver/data ingestion URL | app_id = AE project APP_ID | file_patterns = glob patterns for log files | unit_remove = file deletion unit (day/hour) | offset_remove = file deletion offset | 重命名 = rename (causes re-upload) | runtime 目录 = runtime directory (stores progress snapshots) | JSON line = JSONL format (one JSON per line)
|
|
4
4
|
|
|
5
5
|
LogBus2 is AE's official log sync tool, used together with LoggerConsumer (server-side SDK).
|
|
6
6
|
|
|
@@ -18,7 +18,7 @@ Server-side always gets the following regardless of `insert` or `snippet`:
|
|
|
18
18
|
| Deliverable | Description |
|
|
19
19
|
|---|---|
|
|
20
20
|
| LoggerConsumer code | Server SDK writes to local log files |
|
|
21
|
-
| `.ae-cli/output/daemon.json` | LogBus2 config (reads logs and uploads to
|
|
21
|
+
| `.ae-cli/output/daemon.json` | LogBus2 config (reads logs and uploads to AE) |
|
|
22
22
|
|
|
23
23
|
**Note: LogBus v1 is deprecated. Use LogBus2 for all scenarios.**
|
|
24
24
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Server-side Code Insertion (LoggerConsumer + LogBus2)
|
|
2
2
|
|
|
3
|
-
> **Terminology**: 服务端 SDK = server-side SDK | 代码插入 = code insertion/injection | LoggerConsumer = writes events to local log files (recommended for production) | LogBus2 = log sync tool that reads local logs and uploads to
|
|
3
|
+
> **Terminology**: 服务端 SDK = server-side SDK | 代码插入 = code insertion/injection | LoggerConsumer = writes events to local log files (recommended for production) | LogBus2 = log sync tool that reads local logs and uploads to AE | 架构 = architecture | 异步上报 = async upload | 批量上传 = batch upload | 重试策略 = retry strategy | 公共属性 = super property (公共事件属性; never "超级属性") | 用户属性 = user property | 依赖管理 = dependency management
|
|
4
4
|
|
|
5
5
|
## Architecture
|
|
6
6
|
|
|
@@ -91,7 +91,7 @@ Wait for user confirmation, then proceed to Stage 1.
|
|
|
91
91
|
|
|
92
92
|
## User Properties
|
|
93
93
|
- File: <path>:<line>
|
|
94
|
-
- user_set / user_setOnce / user_add
|
|
94
|
+
- user_set / user_setOnce / user_add / user_append
|
|
95
95
|
|
|
96
96
|
## Event Group: <tag>
|
|
97
97
|
- <event_name>: <file>:<symbol> or SKIP (already present)
|
|
@@ -120,9 +120,9 @@ Insertion point: entry file static block / start of main function
|
|
|
120
120
|
|
|
121
121
|
### Batch 2: Super Properties + User Properties
|
|
122
122
|
|
|
123
|
-
Generate
|
|
124
|
-
- `user_set` / `user_setOnce`: user property upload
|
|
125
|
-
- `login()` call: on user login
|
|
123
|
+
Generate:
|
|
124
|
+
- `user_set` / `user_setOnce` / `user_add` / `user_append`: user property upload, based on `draft.user_properties[]` (each entry's `name` + `update_type`)
|
|
125
|
+
- `login()` call: on user login, based on `meta.user_identity`
|
|
126
126
|
|
|
127
127
|
### Batch 3..N: Events grouped by event_tag
|
|
128
128
|
|
|
@@ -69,7 +69,7 @@ You must call the corresponding API to **enable** them after or during initializ
|
|
|
69
69
|
|
|
70
70
|
```<lang>
|
|
71
71
|
// Call after user login
|
|
72
|
-
<user_set / user_setOnce code>
|
|
72
|
+
<user_set / user_setOnce / user_add / user_append code>
|
|
73
73
|
```
|
|
74
74
|
```
|
|
75
75
|
|
|
@@ -161,7 +161,7 @@ Show each event individually, each as its own block for easy copying.
|
|
|
161
161
|
<setSuperProperties code>
|
|
162
162
|
|
|
163
163
|
// ==================== User Properties ====================
|
|
164
|
-
<user_set code>
|
|
164
|
+
<user_set / user_setOnce / user_add / user_append code>
|
|
165
165
|
|
|
166
166
|
// ==================== Event Group: <tag> ====================
|
|
167
167
|
// <event_name> - <event_desc>
|
|
@@ -280,7 +280,7 @@ If upload succeeds, report that the files are available from the file/attachment
|
|
|
280
280
|
- **Integrate SDK** section (npm package name / CDN URL / integration methods)
|
|
281
281
|
- **Initialization** section (init API signature and example code)
|
|
282
282
|
- **Track** section (event upload API and examples)
|
|
283
|
-
- **User Properties** section (user_set / user_setOnce / user_add API)
|
|
283
|
+
- **User Properties** section (user_set / user_setOnce / user_add / user_append API)
|
|
284
284
|
|
|
285
285
|
3. **⚠️ Do not skip Step 0** — even if you've generated code for the same platform before, must re-read latest docs every time
|
|
286
286
|
|