@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
|
@@ -0,0 +1,292 @@
|
|
|
1
|
+
# Knowledge-guided analysis workflow
|
|
2
|
+
|
|
3
|
+
Use this workflow after knowledge-base retrieval when the pages will guide a
|
|
4
|
+
project-scoped business data analysis. The knowledge base determines which
|
|
5
|
+
saved asset to execute, which business definition applies, and which
|
|
6
|
+
conclusions are out of bounds. Current values still require an `ae-analysis`
|
|
7
|
+
data query.
|
|
8
|
+
|
|
9
|
+
This workflow does not define knowledge-base compilation rules. Do not use it
|
|
10
|
+
to create, upload, generate a schema for, compile, or delete a knowledge base.
|
|
11
|
+
|
|
12
|
+
Asset-authentication and metric-recommendation review is a separate workflow.
|
|
13
|
+
For requests to recommend authentication assets or metrics, use
|
|
14
|
+
`analysis-meta governance-recommendation export|submit|decisions` without
|
|
15
|
+
project-KB retrieval as a prerequisite.
|
|
16
|
+
|
|
17
|
+
## Establish source evidence
|
|
18
|
+
|
|
19
|
+
1. Apply the `ae-analysis` project gate before any project-scoped analysis
|
|
20
|
+
command. Verify the host and exact project ID; a KB name, binding, or display
|
|
21
|
+
name does not prove the live project identity. Do not probe a default or
|
|
22
|
+
previously used project while resolving the requested one.
|
|
23
|
+
2. Use `ae-kb-discovery` to select the candidate. An explicitly named KB wins;
|
|
24
|
+
otherwise prefer a compiled KB whose `bindings.targetType` is `project` and
|
|
25
|
+
whose `targetId` exactly matches the verified project ID.
|
|
26
|
+
3. Follow the deterministic `+index -> +grep -> +read` procedure in
|
|
27
|
+
[`query-workflow.md`](query-workflow.md). Only source-page content actually
|
|
28
|
+
returned by `+read` counts as a KB hit. A list item, index title, grep
|
|
29
|
+
snippet, or `+ask` synthesis alone is not enough to drive execution.
|
|
30
|
+
4. If `+ask` helps locate or synthesize multiple pages, read its cited source
|
|
31
|
+
pages before executing data queries. Verify asset IDs, definitions, dynamic
|
|
32
|
+
parameters, time rules, and limitations in the source text.
|
|
33
|
+
5. Search with the business object, metric, product area, and time wording from
|
|
34
|
+
the user's question. Prefer a section that contains both an asset chain and
|
|
35
|
+
its semantic definition; do not substitute an asset merely because its
|
|
36
|
+
title is similar.
|
|
37
|
+
|
|
38
|
+
A compiled KB is a snapshot, not a live data source. Use it for routing,
|
|
39
|
+
semantics, and decision boundaries. Verify current asset existence, the current
|
|
40
|
+
saved definition, and current data with `ae-analysis`.
|
|
41
|
+
|
|
42
|
+
## Choose the most specific executable asset
|
|
43
|
+
|
|
44
|
+
A recall card's primary dashboard is a routing prior, not automatically the
|
|
45
|
+
final executable asset. Before building the execution contract, compare the
|
|
46
|
+
question with the linked asset pages and choose the smallest saved asset chain
|
|
47
|
+
that covers the requested output.
|
|
48
|
+
|
|
49
|
+
When a recall card points to a broad dashboard but the user requests a concrete
|
|
50
|
+
ranking, table, member/customer list, breakdown, or parameterized result, make
|
|
51
|
+
one targeted `+grep` call against the relevant detail-asset directory copied
|
|
52
|
+
from the KB index, such as `wiki/reports`. Search with the user's business
|
|
53
|
+
object, requested dimensions, measure, and output form. Read the best exact
|
|
54
|
+
candidate page before executing anything.
|
|
55
|
+
|
|
56
|
+
Rank candidates by semantic coverage, not by primary/backup position alone:
|
|
57
|
+
|
|
58
|
+
1. Prefer a page whose "questions answered", purpose, grain, dimensions,
|
|
59
|
+
measures, and output fields directly cover every requested subquestion.
|
|
60
|
+
2. Prefer one parameterized saved report that produces all requested variants
|
|
61
|
+
under one definition over several generic reports with different definitions.
|
|
62
|
+
3. Prefer an asset that exposes the requested business-facing dimensions and
|
|
63
|
+
fields directly. Do not substitute an account ID when the question asks for
|
|
64
|
+
member display names if a matching saved report exposes those names.
|
|
65
|
+
4. Then apply authority, certification, definition-state, and runtime-policy
|
|
66
|
+
evidence. A certified broad dashboard does not outrank an equally governed
|
|
67
|
+
report whose stated question and output are a more exact match.
|
|
68
|
+
5. Treat the recall card's primary order as mandatory only when the card
|
|
69
|
+
explicitly states that alternatives must not be used for this question.
|
|
70
|
+
|
|
71
|
+
If two candidates encode materially different meanings of the same phrase,
|
|
72
|
+
such as one-way events versus combined inbound and outbound events, do not
|
|
73
|
+
blend them. Select the candidate whose stated question, output shape, and grain
|
|
74
|
+
best match the request, and disclose the chosen definition.
|
|
75
|
+
|
|
76
|
+
## Build the analysis execution contract
|
|
77
|
+
|
|
78
|
+
Before calling a data-query command, extract and retain this contract from the
|
|
79
|
+
pages actually read:
|
|
80
|
+
|
|
81
|
+
| Contract field | Required evidence |
|
|
82
|
+
|---|---|
|
|
83
|
+
| Business question | Metric, entity, dimensions, filters, comparison, and requested output |
|
|
84
|
+
| Asset chain | Exact type, ID, name, and parent-child relation for dashboards, reports, metrics, or other saved assets |
|
|
85
|
+
| Statistical definition | Event or metric, aggregation, distinct entity, dimensions, and filters |
|
|
86
|
+
| Saved parameters | Exact parameter names, value domains, defaults, selectors, and the requested overrides |
|
|
87
|
+
| Time contract | Fixed or dynamic window, inclusion of today, timezone, and whether an override is supported |
|
|
88
|
+
| Authored context | Folder, dashboard name, remarks, notes, and business filters, with their applicable scope |
|
|
89
|
+
| Decision boundaries | Case-only, frontend-only, adoption-only, not revenue, non-generalizable, expired, conflicting, or human-decision-required constraints |
|
|
90
|
+
| KB evidence | Exact KB name, page path, and section actually read |
|
|
91
|
+
|
|
92
|
+
Classify the contract before querying:
|
|
93
|
+
|
|
94
|
+
- `executable`: exact asset identity and semantics cover the question, with no
|
|
95
|
+
unresolved conflict.
|
|
96
|
+
- `partially_executable`: evidence covers only some subquestions; query and
|
|
97
|
+
answer only those parts.
|
|
98
|
+
- `blocked`: a required asset, metric, aggregation, entity, filter, parameter,
|
|
99
|
+
time rule, or decision boundary is missing or conflicting; stop the affected
|
|
100
|
+
query and report the gap.
|
|
101
|
+
|
|
102
|
+
Do not fill a contract gap with general knowledge, a similarly named asset, or
|
|
103
|
+
a technically valid query. When the task forbids clarification, return that the
|
|
104
|
+
available evidence cannot answer the affected part instead of choosing an
|
|
105
|
+
interpretation silently.
|
|
106
|
+
|
|
107
|
+
## Execute the exact saved-asset chain
|
|
108
|
+
|
|
109
|
+
An exact asset identified by a source page takes priority over fuzzy search and
|
|
110
|
+
ad-hoc analysis:
|
|
111
|
+
|
|
112
|
+
1. For a dashboard ID, call `analysis dashboard get` once with the verified
|
|
113
|
+
project ID. Verify its name, child reports, `effective_settings`,
|
|
114
|
+
`filter_config`, remarks, and notes, then execute the child report identified
|
|
115
|
+
by the KB evidence.
|
|
116
|
+
2. For a report ID, call `analysis report get` with the verified project ID.
|
|
117
|
+
Verify its model, metric, aggregation, dimensions, filters, saved parameters,
|
|
118
|
+
and time definition before querying data.
|
|
119
|
+
3. Read the matching `ae-analysis` data-command reference before execution. Use
|
|
120
|
+
[`report_data_run.md`](../../ae-analysis/references/report_data_run.md) for a
|
|
121
|
+
bounded saved report result and
|
|
122
|
+
[`dashboard_report_data_run.md`](../../ae-analysis/references/dashboard_report_data_run.md)
|
|
123
|
+
when dashboard execution context is required. Use the corresponding export
|
|
124
|
+
reference only for complete, unknown-size, over-limit, or long-running output.
|
|
125
|
+
4. For an SQL report, use `analysis report-data run` with only names present in
|
|
126
|
+
the live report's `definition.params`, passed through `--sql-params`. Date
|
|
127
|
+
changes must use the saved date/time parameter. Dashboard generic filter or
|
|
128
|
+
time overrides do not apply to SQL reports.
|
|
129
|
+
5. For a non-SQL report, use the saved report or dashboard-report data command
|
|
130
|
+
and only the supported filter, grouping, and time overrides documented by
|
|
131
|
+
`ae-analysis`.
|
|
132
|
+
6. For a metric or another saved asset, use its exact identity and corresponding
|
|
133
|
+
command. Never replace it with a same-name object.
|
|
134
|
+
7. Use the saved-asset discovery procedure from `ae-analysis` only when the KB
|
|
135
|
+
page provides no exact identity. A discovered candidate still requires
|
|
136
|
+
semantic equality, not title similarity.
|
|
137
|
+
|
|
138
|
+
If the user asks for multiple groupings that one saved dynamic report supports,
|
|
139
|
+
execute that same report once per required parameter variant. Keep the common
|
|
140
|
+
metric, time, environment, and other filters identical. Do not repeat an
|
|
141
|
+
identical data command merely to inspect output that was locally truncated;
|
|
142
|
+
capture or export the complete result through the supported data command.
|
|
143
|
+
|
|
144
|
+
The statement "the KB contains definitions but not current values" means that
|
|
145
|
+
the matched saved asset must be attempted first. It does not authorize jumping
|
|
146
|
+
directly to a reconstructed SQL or ad-hoc query. If the attempt cannot produce
|
|
147
|
+
a usable result, follow the explicit ordinary-analysis fallback below.
|
|
148
|
+
|
|
149
|
+
When the live definition agrees with the KB, use the query result as data
|
|
150
|
+
evidence and the KB page as routing, semantic, and boundary evidence.
|
|
151
|
+
|
|
152
|
+
## Preserve authored parameter semantics
|
|
153
|
+
|
|
154
|
+
- Copy exact saved parameter names and allowed values from `analysis report get`.
|
|
155
|
+
Map the user's requested time, environment, member/company grouping, and
|
|
156
|
+
limit to those parameters without renaming or reinterpreting them.
|
|
157
|
+
- A saved selector, lookup table, user group, or dashboard filter is part of the
|
|
158
|
+
definition. Do not replace it with a convenient event property or a guessed
|
|
159
|
+
equivalent. For example, a saved "formal environment" selector backed by a
|
|
160
|
+
lookup table cannot be replaced with `is_dev=false` unless the KB or current
|
|
161
|
+
saved definition explicitly establishes that equivalence.
|
|
162
|
+
- If a dependency used by the saved report is not expanded in the KB snapshot,
|
|
163
|
+
execute the saved report as authored. Do not rebuild that dependency from
|
|
164
|
+
partial KB text.
|
|
165
|
+
- Inspect the returned effective time, route, warnings, partial failures, and
|
|
166
|
+
pagination/truncation signals before computing or presenting results.
|
|
167
|
+
|
|
168
|
+
If the live asset differs from the KB snapshot, determine whether the difference
|
|
169
|
+
affects the question. A difference in metric, aggregation, distinct entity,
|
|
170
|
+
filter, saved parameter, time window, or applicable scope is a conflict: stop
|
|
171
|
+
the affected conclusion, show the conflict, and do not silently choose one
|
|
172
|
+
definition or hide it with a replacement query.
|
|
173
|
+
|
|
174
|
+
## Fall back without hiding the knowledge-base result
|
|
175
|
+
|
|
176
|
+
None of these conditions alone authorizes an ad-hoc or SQL reconstruction:
|
|
177
|
+
|
|
178
|
+
- The exact saved asset has not yet been attempted.
|
|
179
|
+
- The exact saved asset returns an empty result.
|
|
180
|
+
- The exact asset has a validation, transport, capability, or definition
|
|
181
|
+
execution failure.
|
|
182
|
+
- Only part of a multi-report or multi-variant request succeeds.
|
|
183
|
+
- Its definition contains a semantic conflict, label mismatch, or disagreement
|
|
184
|
+
between the metric name and aggregation.
|
|
185
|
+
- It has a fixed historical window while the user asks about the current period,
|
|
186
|
+
a recent period, or another date range.
|
|
187
|
+
- The page limits the evidence to one case, frontend behavior, adoption, one
|
|
188
|
+
customer, or one version.
|
|
189
|
+
- The result is unexpected, while another similar asset would be easier to run.
|
|
190
|
+
- A direct SQL or ad-hoc query appears faster or easier to parameterize.
|
|
191
|
+
|
|
192
|
+
Handle these states without changing the contract:
|
|
193
|
+
|
|
194
|
+
- Empty result: report that the saved asset is empty under its complete saved
|
|
195
|
+
context. Recheck effective parameters, time, warnings, and cache behavior on
|
|
196
|
+
that asset when useful. A diagnostic query may explain the empty result, but
|
|
197
|
+
it must be labeled separately and must not replace the empty saved-asset
|
|
198
|
+
result.
|
|
199
|
+
- Validation or parameter error: re-read `analysis report get` and correct only
|
|
200
|
+
the input mapping allowed by its saved definition. Do not translate the report
|
|
201
|
+
into SQL.
|
|
202
|
+
- Partial success: retain successful saved-asset results and apply these rules
|
|
203
|
+
independently to each failed part. Do not discard valid sub-results or replace
|
|
204
|
+
the whole request with one reconstructed query.
|
|
205
|
+
- Permission denial: preserve the denied asset, error, and request ID. Do not
|
|
206
|
+
retry the denied operation or use an undocumented lower-level API. The
|
|
207
|
+
ordinary analysis fallback may still use another standard `ae-analysis`
|
|
208
|
+
capability, whose permission is independently enforced by the backend.
|
|
209
|
+
Permission denial on a dashboard or report is not, by itself, a prohibition
|
|
210
|
+
on ad-hoc analysis. If the required events, metrics, properties, metadata,
|
|
211
|
+
and ad-hoc capability are accessible through their documented commands, the
|
|
212
|
+
fallback may query them under a separately stated temporary definition.
|
|
213
|
+
- Capability unavailable: report a capability gap only after the saved command
|
|
214
|
+
actually returns the corresponding unavailable-capability evidence. Do not
|
|
215
|
+
infer the gap from documentation or skip the attempt. A temporary fallback is
|
|
216
|
+
possible only under the explicit entry and equivalence rules below.
|
|
217
|
+
- Transport or transient failure: retry the same saved-asset command only when
|
|
218
|
+
the error contract recommends retry. If the failure persists, preserve its
|
|
219
|
+
evidence and apply the explicit fallback rules below rather than switching
|
|
220
|
+
paths silently.
|
|
221
|
+
- Semantic conflict: show the conflicting fields and their impact. A fallback
|
|
222
|
+
may answer under a different, independently verified definition, but it must
|
|
223
|
+
not claim to resolve the KB asset's conflict or present the result as
|
|
224
|
+
definition-equivalent.
|
|
225
|
+
- Fixed historical window: answer only for that window. If it cannot answer a
|
|
226
|
+
current-period question, state that it cannot be extrapolated.
|
|
227
|
+
- Limited applicability: keep the conclusion within the declared scope. Do not
|
|
228
|
+
expand adoption into revenue or intent, one module into the whole product, or
|
|
229
|
+
one case into all customers.
|
|
230
|
+
|
|
231
|
+
Technical success is not semantic correctness. A query that changes the
|
|
232
|
+
contract's event, metric, aggregation, entity, filter, parameter, time, or
|
|
233
|
+
applicable scope is not an equivalent validation.
|
|
234
|
+
|
|
235
|
+
## Degrade to the ordinary analysis path
|
|
236
|
+
|
|
237
|
+
The KB path is preferred, not exclusive. If the exact KB-selected asset cannot
|
|
238
|
+
produce the requested live result after a real attempt, continue as though no
|
|
239
|
+
executable KB asset had been found and follow the ordinary `ae-analysis`
|
|
240
|
+
"Existing business asset before ad-hoc" workflow:
|
|
241
|
+
|
|
242
|
+
1. Search for another accessible saved report or dashboard whose current live
|
|
243
|
+
definition covers the request.
|
|
244
|
+
2. Verify semantic equality before using it. A title match is not enough.
|
|
245
|
+
3. If no saved definition matches, use ad-hoc analysis only when the normal
|
|
246
|
+
`ae-analysis` rules permit it and the required event, properties, metric,
|
|
247
|
+
aggregation, entity, filters, time, and timezone can be established.
|
|
248
|
+
4. Use only documented standard capabilities. Each fallback command remains
|
|
249
|
+
subject to the backend's independent authorization checks.
|
|
250
|
+
|
|
251
|
+
Fallback is available when the KB-selected asset is missing from the live
|
|
252
|
+
project, inaccessible, empty for the requested scope, outside its supported
|
|
253
|
+
time or breakdown, or persistently fails after the documented correction or
|
|
254
|
+
retry path. The user does not need to restate the original data request merely
|
|
255
|
+
to allow this ordinary fallback.
|
|
256
|
+
|
|
257
|
+
Ad-hoc analysis must still satisfy the safety conditions below. SQL must also
|
|
258
|
+
satisfy the additional SQL constraints in `ae-analysis`.
|
|
259
|
+
|
|
260
|
+
1. The event, properties, metric, aggregation, distinct entity, filters, time
|
|
261
|
+
window, and timezone must be established independently from readable KB
|
|
262
|
+
evidence, another verified saved asset, or verified metadata. Do not infer
|
|
263
|
+
hidden selectors or dependencies from the failed asset.
|
|
264
|
+
2. Do not describe a different definition as equivalent when metric,
|
|
265
|
+
aggregation, entity, filter, parameter, time, or scope differs.
|
|
266
|
+
3. Do not use fallback to modify, repair, certify, or overwrite the KB-selected
|
|
267
|
+
asset.
|
|
268
|
+
4. Do not use an undocumented API or suppress permission, conflict, empty-result,
|
|
269
|
+
warning, or failure evidence from the KB path.
|
|
270
|
+
|
|
271
|
+
Present the KB path and fallback path separately. State why fallback occurred,
|
|
272
|
+
which alternative asset or ad-hoc definition produced the data, and every
|
|
273
|
+
material difference from the KB-selected definition. Never claim that the KB
|
|
274
|
+
asset produced a fallback result. An empty or denied KB result remains part of
|
|
275
|
+
the audit record even when the fallback succeeds.
|
|
276
|
+
|
|
277
|
+
## Answer with traceable boundaries
|
|
278
|
+
|
|
279
|
+
Make these three layers distinguishable in the final answer:
|
|
280
|
+
|
|
281
|
+
1. **Query result:** saved asset used, actual time window, metric value, filter
|
|
282
|
+
scope, and effective execution settings.
|
|
283
|
+
2. **Knowledge basis:** KB name, page path, and section used, plus the asset,
|
|
284
|
+
parameter, and semantic choices it constrained.
|
|
285
|
+
3. **Limits and unresolved issues:** fixed windows, limited applicability,
|
|
286
|
+
definition conflicts, permissions, warnings, partial failures, or data gaps,
|
|
287
|
+
and the questions they prevent you from answering.
|
|
288
|
+
|
|
289
|
+
Cite at least the KB name and page path for knowledge evidence. Use the asset
|
|
290
|
+
name and available link for data evidence rather than presenting a raw ID as the
|
|
291
|
+
primary label. Never present historical values copied from a KB page as a
|
|
292
|
+
current query result, and never present an inference as verified fact.
|
|
@@ -20,7 +20,12 @@ candidate rather than searching everything blindly.
|
|
|
20
20
|
1. **Index the candidate.** Call `+index --sources` with the discovery pick.
|
|
21
21
|
Use `index.md` for navigation, a fit check, and **query wording** — the real
|
|
22
22
|
terms in the index (product names, API identifiers, section titles) become
|
|
23
|
-
your `+grep` keywords.
|
|
23
|
+
your `+grep` keywords. The root index routes at module level only; when a
|
|
24
|
+
module is too coarse for your question (it has many detail pages), read that
|
|
25
|
+
module's catalog page (`wiki/modules/<module>/catalog.md`) — it groups
|
|
26
|
+
detail pages by topic with one-line summaries. **Copy** detail-page paths
|
|
27
|
+
from the catalog as additional `--paths` candidates; the catalog itself is
|
|
28
|
+
navigation, not an answer source.
|
|
24
29
|
|
|
25
30
|
**Done when:** you have the candidate's `index.md`, and a list of `wiki/...`
|
|
26
31
|
links you can **copy** (0 items still counts as done).
|
|
@@ -29,36 +34,52 @@ candidate rather than searching everything blindly.
|
|
|
29
34
|
such as `wiki/sandbox.md`, or a subdirectory such as `wiki/guides`). Call
|
|
30
35
|
`+grep` with the candidate `--sources` and the copied list as `--paths`. Search
|
|
31
36
|
with the index terms. If the first grep misses, rewrite the query **once**
|
|
32
|
-
using different index terms —
|
|
33
|
-
|
|
37
|
+
using different index terms **only** — never paraphrase the user's wording
|
|
38
|
+
from memory — still with this same `--paths`. If the rewrite also misses,
|
|
39
|
+
stop grepping entirely: `+read --outline` the index page whose title or
|
|
40
|
+
section name relates to the question and read the matching heading range
|
|
41
|
+
from it. A third rewrite of the same idea produces no new recall.
|
|
34
42
|
|
|
35
43
|
**Done when:** you have hits, or you have rewritten once, or step 1 copied
|
|
36
44
|
0 paths. Copied 0 paths → skip grep and `+read --outline` the likeliest
|
|
37
45
|
title page, or go back to discovery for the next candidate.
|
|
38
46
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
47
|
+
**Reading the result — the page-level `results` view.** The response is a page-level
|
|
48
|
+
`results` array: each entry is one page with its full `hitCount`, a
|
|
49
|
+
`pageKind`, and up to 4 `sections` previews (each with its breadcrumb,
|
|
50
|
+
`sectionStartLine`/`sectionEndLine`, and a text preview). Read the top
|
|
51
|
+
relevant pages until every subquestion of the question is backed by
|
|
52
|
+
sections you have actually read. `hitCount` tells you how dense the matches
|
|
53
|
+
are on a page; `pageKind: "catalog"` marks a module directory page — its
|
|
54
|
+
previews are detail-page entries, so treat them as navigation: add the
|
|
55
|
+
detail-page paths you see there to your read list instead of reading the
|
|
56
|
+
catalog as an answer source. When a page has `moreSections > 0` and the
|
|
57
|
+
answer is not in the previews, re-grep that single page to see all its
|
|
58
|
+
hits.
|
|
59
|
+
|
|
60
|
+
Each page-group section preview carries its enclosing heading-section
|
|
61
|
+
boundaries:
|
|
62
|
+
|
|
63
|
+
- `sectionStartLine` / `sectionEndLine` are the section boundaries. Use
|
|
64
|
+
them as the read window (or as the maximum boundary when choosing a
|
|
65
|
+
smaller window under them).
|
|
46
66
|
- `+read --offset` / `--limit` are the actual read window. Choose the
|
|
47
67
|
smallest reliable window that preserves the needed evidence; do not
|
|
48
68
|
shell-truncate with `| head`.
|
|
69
|
+
- `+read --expand block` may include the rest of a Markdown block just
|
|
70
|
+
outside the requested window. Use `+read --expand none` when the line
|
|
71
|
+
window must be exact. Omit the flag to keep the server default, `block`.
|
|
49
72
|
|
|
50
73
|
3. **Choose the section locator.** Pick one locator for the current target
|
|
51
74
|
page:
|
|
52
75
|
|
|
53
|
-
- **
|
|
54
|
-
fact/table/code evidence, read a bounded window anchored at `line`; stay
|
|
55
|
-
within `sectionStartLine`–`sectionEndLine`. For section-level meaning,
|
|
56
|
-
field definitions, caveats, or rows that depend on the heading context,
|
|
57
|
-
read the section range with
|
|
76
|
+
- **Section preview of a page group:** read the section range with
|
|
58
77
|
`--offset sectionStartLine` and
|
|
59
|
-
`--limit sectionEndLine - sectionStartLine + 1`.
|
|
60
|
-
|
|
61
|
-
|
|
78
|
+
`--limit sectionEndLine - sectionStartLine + 1`. For narrow
|
|
79
|
+
fact/table/code evidence, narrow the window under the section boundary
|
|
80
|
+
once you see the preview text. If the window turns out too small, widen
|
|
81
|
+
once up to the section range. Do not crawl by shifting offsets line by
|
|
82
|
+
line.
|
|
62
83
|
- **Linked or related page:** if you follow a catalog/detail/related link to
|
|
63
84
|
a different page, the old grep range no longer applies. If you have
|
|
64
85
|
concrete terms for that new page, run `+grep --paths '["<new-page>"]'`
|
|
@@ -78,32 +99,41 @@ candidate rather than searching everything blindly.
|
|
|
78
99
|
page response.
|
|
79
100
|
|
|
80
101
|
4. **Read the selected window.** Read the selected window in one call. Windows
|
|
81
|
-
come from
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
102
|
+
come from a page-group section preview's boundaries or two adjacent outline
|
|
103
|
+
headings (`heading.line` of the target section to `heading.line - 1` of the
|
|
104
|
+
next). If a window turns out too small, widen to the section boundary in one
|
|
105
|
+
more call.
|
|
85
106
|
|
|
86
107
|
**Done when:** the needed evidence is in context without shell truncation,
|
|
87
108
|
or the page response is complete and untruncated.
|
|
88
109
|
|
|
110
|
+
**Read coverage:** read the relevant candidate pages from the page results
|
|
111
|
+
until every subquestion of the user's question is backed by sections you
|
|
112
|
+
have actually read — not until a page "looks like the answer". Do not stop
|
|
113
|
+
to compose the answer while any subquestion still has no read evidence
|
|
114
|
+
behind it, and do not pick a single page by surface similarity between the
|
|
115
|
+
question wording and the page/module name or hit line.
|
|
116
|
+
|
|
89
117
|
5. **Assess coverage, then answer or iterate.** Map the user's question into
|
|
90
118
|
subquestions and check each one against the sections you actually read. If a
|
|
91
119
|
subquestion is covered, answer with citations (knowledge base + page path +
|
|
92
120
|
section). If a gap remains, go back to step 2 with another set of `--paths`
|
|
93
121
|
**copied** from the index, or return to discovery for the next candidate.
|
|
94
|
-
If the evidence is missing after the allowed search,
|
|
95
|
-
not covered
|
|
122
|
+
If the evidence is missing after the allowed search, the only acceptable
|
|
123
|
+
output for that subquestion is "not covered by the knowledge base" — do not
|
|
124
|
+
attach a confident value from general knowledge, not even with a disclaimer
|
|
125
|
+
or a self-declared boundary.
|
|
96
126
|
|
|
97
127
|
**Done when:** every answered subquestion is supported by read sections, or
|
|
98
128
|
the remaining gaps are explicitly reported as missing evidence.
|
|
99
129
|
|
|
100
130
|
## Anti-pattern: same-page offset crawling
|
|
101
131
|
|
|
102
|
-
The failure this workflow prevents:
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
132
|
+
The failure this workflow prevents: reading a tiny window, finding it cut
|
|
133
|
+
mid-evidence, and nudging the window one line at a time. That wastes calls and
|
|
134
|
+
never shows page structure. Instead: read the page-group section range, widen
|
|
135
|
+
once up to the section boundary, or open `--outline` and read the selected
|
|
136
|
+
heading range.
|
|
107
137
|
|
|
108
138
|
## Related
|
|
109
139
|
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Replace and Restore Source Drafts
|
|
2
|
+
|
|
3
|
+
These commands require a host exposing the External KB source-mutation and preview APIs. They do not compile or publish. Do not substitute `+add`, delete/re-add a source, or use whole-KB `+rollback` when the host lacks these routes.
|
|
4
|
+
|
|
5
|
+
## Discover the exact target
|
|
6
|
+
|
|
7
|
+
1. Use `kb +list` to copy the exact knowledge base name and `personal` or `company` scope.
|
|
8
|
+
2. Use `kb +list-sources --name "<name>" --scope <scope>` to copy the current source `id`, `sourceType`, and `contentRevision`.
|
|
9
|
+
3. For restoration, use `kb +versions` and `kb +version-sources` to select a published version containing this source. To discard unpublished changes, use the latest published **version number**, not `latestVersionId`.
|
|
10
|
+
4. The source must still exist. URL/Feishu sources and deleted parent sources cannot use these commands. Never guess IDs, revisions or historical paths.
|
|
11
|
+
|
|
12
|
+
All new commands use `kb source <action>`. Existing `+source-put`, `+source-rm` and whole-KB `+rollback` keep their original behavior.
|
|
13
|
+
|
|
14
|
+
## Replace a file source
|
|
15
|
+
|
|
16
|
+
```bash
|
|
17
|
+
ae-cli kb source replace --name "<name>" --scope personal --id <source-id> \
|
|
18
|
+
--source-type file --expected-revision <contentRevision> --file ./revised.md --dry-run
|
|
19
|
+
|
|
20
|
+
ae-cli kb source replace --name "<name>" --scope personal --id <source-id> \
|
|
21
|
+
--source-type file --expected-revision <contentRevision> --file ./revised.md
|
|
22
|
+
```
|
|
23
|
+
|
|
24
|
+
- Sends multipart `PUT /agent/api/external/knowledge-bases/sources/<id>/raw?name=...&scope=...` with `file` and `expectedRevision`.
|
|
25
|
+
- Different filenames are allowed, but the extension must match the current source's format. The host enforces this against the actual source. A `.pdf` cannot replace `.md`; ZIP cannot replace an ordinary file.
|
|
26
|
+
- At most 50 MB. Supported ordinary extensions: `.md`, `.markdown`, `.txt`, `.csv`, `.pdf`, `.doc`, `.docx`, `.xls`, `.xlsx`, `.ppt`, `.pptx`, `.jpg`, `.jpeg`, `.png`, `.gif`, `.webp`, `.bmp`, `.svg`.
|
|
27
|
+
- Updates the existing source draft immediately, preserving source ID, display name and raw path. Response `kind=mutation` reports the actual outcome and current revision; identical content may return `outcome=unchanged`.
|
|
28
|
+
- Dry-run validates local metadata but sends no request and does not disclose file content. It cannot prove host permissions, current format, revision or archive validity.
|
|
29
|
+
|
|
30
|
+
## Replace a ZIP archive
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
ae-cli kb source replace --name "<name>" --scope personal --id <zip-source-id> \
|
|
34
|
+
--source-type zip --expected-revision <contentRevision> --file ./revised.zip
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
Sends multipart `POST .../sources/<id>/directory/previews` with `file`, `expectedRevision`, and `mode=archive`. Only `.zip` is accepted (case-insensitive); the host validates archive contents and limits. This prepares a candidate, not a source update. Whole-archive replacement can remove children missing from the uploaded archive.
|
|
38
|
+
|
|
39
|
+
If `kind=preview` is returned, retain the `previewId` and `expectedRevision`. Read the preview pages and review additions, replacements and deletions before committing. If `kind=mutation` and `outcome=unchanged` is returned, there is nothing to commit. Do not invent a preview ID.
|
|
40
|
+
|
|
41
|
+
## Restore one source or ZIP child
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
# Ordinary file: restores its draft immediately.
|
|
45
|
+
ae-cli kb source restore --name "<name>" --scope personal --id <source-id> \
|
|
46
|
+
--source-type file --version <version-number> --expected-revision <contentRevision>
|
|
47
|
+
|
|
48
|
+
# Whole ZIP: prepares a preview.
|
|
49
|
+
ae-cli kb source restore --name "<name>" --scope personal --id <zip-source-id> \
|
|
50
|
+
--source-type zip --version <version-number> --expected-revision <contentRevision>
|
|
51
|
+
|
|
52
|
+
# One historical ZIP file: prepares a preview; copy path from +version-tree.
|
|
53
|
+
ae-cli kb source restore --name "<name>" --scope personal --id <zip-source-id> \
|
|
54
|
+
--source-type zip --version <version-number> --expected-revision <contentRevision> \
|
|
55
|
+
--path "guides/intro.md"
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Sends `POST .../versions/<version>/sources/<id>/restore`. Ordinary files send only `expectedRevision`. ZIP sends `target=source`, or `target=file` plus `path`. ZIP directory-level restoration is not supported. A historical deleted ZIP child can be restored if its parent source still exists and the host accepts the candidate.
|
|
59
|
+
|
|
60
|
+
This restores the selected source draft from immutable published bytes; it does not create a published version, restore an unpublished intermediate draft, or roll back other sources. Ordinary-file format compatibility and all historical snapshot checks remain enforced by the host.
|
|
61
|
+
|
|
62
|
+
## Review, commit or cancel a ZIP preview
|
|
63
|
+
|
|
64
|
+
```bash
|
|
65
|
+
ae-cli kb source preview --name "<name>" --scope personal --id <zip-source-id> \
|
|
66
|
+
--preview-id <preview-id> --limit 100
|
|
67
|
+
# Follow nextCursor, if present, with --cursor <nextCursor>.
|
|
68
|
+
|
|
69
|
+
ae-cli kb source commit --name "<name>" --scope personal --id <zip-source-id> \
|
|
70
|
+
--preview-id <preview-id> --expected-revision <preview-expectedRevision>
|
|
71
|
+
|
|
72
|
+
ae-cli kb source cancel --name "<name>" --scope personal --id <zip-source-id> \
|
|
73
|
+
--preview-id <preview-id>
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
- `preview`: `GET .../directory/previews/<previewId>`, cursor up to 4096 characters, limit 1–200. Reading a preview does not update the source.
|
|
77
|
+
- `commit`: `POST .../directory/previews/<previewId>/commit` with `expectedRevision` and `confirmed=true`. This can delete files and is `high-risk-write`; obtain explicit user intent, then use `--yes` for authorized non-interactive execution. It updates the draft only.
|
|
78
|
+
- `cancel`: `DELETE .../directory/previews/<previewId>`, expects HTTP 204 and returns `{previewId, cancelled:true}`. It discards an uncommitted candidate without changing the source. Also requires confirmation (`--yes` only after explicit authorization).
|
|
79
|
+
- The candidate belongs to the caller and source, has an expiry, and can be replaced by a newer preparation. Never automatically prepare or confirm another candidate after expiry, a revision conflict or an uncertain result.
|
|
80
|
+
- All five commands support `--dry-run`; it performs no server calls. `replace` includes local file metadata with redacted content; the others show the exact request.
|
|
81
|
+
|
|
82
|
+
After a successful draft change, re-read `+list-sources`, then run `+compile` only when requested to publish it. Historical versions remain unchanged.
|
|
83
|
+
|
|
84
|
+
## Errors and retry boundaries
|
|
85
|
+
|
|
86
|
+
Keep the structured `error.code` and `hint`. `SOURCE_CONTENT_REVISION_CONFLICT`, format mismatch, missing/expired/replaced preview, permissions and damaged historical snapshot errors must not trigger delete/re-add or whole-KB rollback fallbacks. Commands do not automatically retry writes, including authentication failures. For `COMMIT_UNKNOWN`, `UNCERTAIN`, `REVIEW_REQUIRED`, or a lost response, inspect current source revision/state and the same candidate before deciding whether another write is safe; do not report failure as proof that nothing changed.
|
|
87
|
+
|
|
88
|
+
## Transitional admission
|
|
89
|
+
|
|
90
|
+
- Transition status: transitional
|
|
91
|
+
- Owning module: te-claude External Knowledge Base source mutation/version APIs
|
|
92
|
+
- Current transport: authenticated external REST through `kbApi` / `kbUpload`, using only the standard CLI token
|
|
93
|
+
- Gateway target: TBD; no equivalent typed source replacement/restore capability is registered in the current backend implementation
|
|
94
|
+
- Review after: 2026-12-15
|
|
95
|
+
- Exit condition: migrate to equivalent Gateway capabilities while retaining typed file handling, revision guards, preview confirmation and stable outcomes, or remove redundant wrappers when dynamic invocation provides the same contract
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Published knowledge-base versions
|
|
2
|
+
|
|
3
|
+
Versions are immutable successful publications. No historical version is created until the first successful compile. Failed or cancelled compiles do not consume a version number. Existing `+compile`, `+status` and `+list-sources` responses pass through server version labels and draft state; `+index`, `+grep`, `+read` and `+ask` always address current content.
|
|
4
|
+
|
|
5
|
+
When `+status` returns `wiki_review_required`, inspect `publicationReview.code`, report that administrator review is required, and stop ordinary compile polling. The active Run and write lock remain in place; do not cancel or force another compile. This also covers an interrupted publication after server restart.
|
|
6
|
+
|
|
7
|
+
Discover exact names/scopes via `kb +list`, then inspect history:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
ae-cli kb +versions --name handbook --scope company --limit 100
|
|
11
|
+
ae-cli kb +version-show --name handbook --scope company --version 2
|
|
12
|
+
ae-cli kb +version-sources --name handbook --scope company --version 2 --source-type zip
|
|
13
|
+
ae-cli kb +version-diff --name handbook --scope company --from 1 --to 2
|
|
14
|
+
ae-cli kb +version-tree --name handbook --scope company --version 2 --id <historical-source-id>
|
|
15
|
+
ae-cli kb +version-read --name handbook --scope company --version 2 --id <historical-source-id> --path guides/start.md
|
|
16
|
+
ae-cli kb +version-download --name handbook --scope company --version 2 --id <historical-file-source-id> --output ./manual.pdf
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
- `--version`, `--from` and `--to` use integer version numbers, without a `v` prefix. `+version-sources` IDs come from that historical snapshot; never substitute current source metadata.
|
|
20
|
+
- `+versions`, `+version-sources` and `+version-tree` return one page. Use `--cursor` with the returned `nextCursor`, retaining the same target and filters. `--limit` is 1–200.
|
|
21
|
+
- `--scope personal|company` is exact. Omitting it keeps the existing personal-then-company lookup. A missing target in an explicit scope never falls back.
|
|
22
|
+
- `+version-tree/+version-read` accept ZIP or URL parent sources. Paths are source-relative and cannot contain absolute, parent or backslash segments. Text preview is bounded; supported PDF/images use a typed data URL. Unsupported or oversized files return metadata and `previewable: false`.
|
|
23
|
+
- `+version-download` accepts ordinary file sources only and creates a new local file with exclusive creation. It never overwrites an existing file. Directory sources return `KB_VERSION_DIRECTORY_DOWNLOAD_UNSUPPORTED`; the CLI does not reconstruct ZIPs or export an entire version.
|
|
24
|
+
|
|
25
|
+
## Rollback
|
|
26
|
+
|
|
27
|
+
Copy `latestVersionId` and an earlier target version from `+versions`. Explicitly explain the effects before requesting rollback: target-source edits and deletion intents are replaced; target-external sources with a previous successful publication are soft-deleted; target-external unpublished additions and their files remain unchanged.
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
ae-cli kb +rollback --name handbook --scope company --version 1 --expected-latest-version-id <latestVersionId> --request-id <stable-request-id> --dry-run
|
|
31
|
+
ae-cli kb +rollback --name handbook --scope company --version 1 --expected-latest-version-id <latestVersionId> --request-id <stable-request-id>
|
|
32
|
+
ae-cli kb +rollback-status --name handbook --scope company --operation-id <operationId>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
`+rollback` is `high-risk-write`; use `--yes` only for an already authorized exact operation. A target must be strictly older than the current version. Success creates a new version (for example v3 → v1 produces v4), retaining all previous snapshots.
|
|
36
|
+
|
|
37
|
+
The caller must supply a stable ASCII `request-id` containing letters, digits, underscores or hyphens (1–191 characters). Reuse that exact ID, target and expected latest ID after a network interruption. The CLI does not generate another request ID, pick a different target, or retry a 409 automatically. A changed request under the same ID returns `KB_VERSION_OPERATION_REQUEST_CONFLICT`.
|
|
38
|
+
|
|
39
|
+
`queued/running` means accepted but not completed. Query `+rollback-status` using the returned `operationId`; only `status: success` with `resultVersionId` proves publication. `failed` is a terminal result; a later intentional attempt needs a new request ID. When `running` includes `KB_PUBLICATION_COMMIT_UNKNOWN`, `KB_PUBLICATION_ROLLBACK_INCOMPLETE`, or `KB_PUBLICATION_REVIEW_REQUIRED`, tell the user administrator review is required and writes remain blocked. Stop normal progress/polling; do not start another rollback. Status remains readable.
|
|
40
|
+
|
|
41
|
+
Transition status: transitional
|
|
42
|
+
Owning module: te-claude External Knowledge Base Versions API
|
|
43
|
+
Current transport: authenticated External REST via kbApi
|
|
44
|
+
Gateway target: TBD (published history and persistent rollback operations)
|
|
45
|
+
Review after: 2026-12-07
|
|
46
|
+
Exit condition: migrate when equivalent immutable-history and idempotent rollback Gateway capabilities exist; retain stable request IDs, exact-scope targeting and local file safety.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ae-kb-discovery
|
|
3
3
|
description: >
|
|
4
|
-
Discover which AE
|
|
4
|
+
Discover which AE (Agentic Engine) knowledge bases accessible to the current user are worth searching, and decide whether to search at all, through read-only operations. Use when the user explicitly asks to search knowledge bases, internal documentation, or company materials. Also use when a task requires internal facts or business context, including product design and rules, events, campaign or operations calendars, release and iteration records, workflows, policies, and terminology; use it as well when this context is needed to explain data analysis results, anomalies, or trends and form evidence-backed conclusions. Do not use if the user explicitly asks not to access knowledge bases. This skill covers discovery and candidate selection; run the actual `+index` / `+grep` / `+read` / `+ask` retrieval with the `ae-kb` skill.
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# Knowledge Base Discovery
|
|
@@ -55,6 +55,8 @@ Select one preferred knowledge base by default. When several candidates are high
|
|
|
55
55
|
|
|
56
56
|
Once a preferred knowledge base is selected, hand off to the `ae-kb` skill and follow its `references/query-workflow.md` for the entire retrieval procedure — including when `+ask` is appropriate.
|
|
57
57
|
|
|
58
|
+
If the retrieved source pages will guide project-scoped business data analysis, also read and follow the `ae-kb` skill's [`references/analysis-workflow.md`](../ae-kb/references/analysis-workflow.md) before running data queries. It converts exact saved-asset identity, definitions, parameters, time rules, conflicts, and decision boundaries into an execution contract; do not jump directly from a KB hit to an ad-hoc or SQL reconstruction.
|
|
59
|
+
|
|
58
60
|
## Assess Coverage
|
|
59
61
|
|
|
60
62
|
- Full coverage: The page content read supports the key conclusions required for the information request or analysis.
|
|
@@ -65,6 +67,8 @@ A candidate returned by `+list`, navigation returned by `+index`, a successful c
|
|
|
65
67
|
|
|
66
68
|
## Use Knowledge Base Evidence in Analysis
|
|
67
69
|
|
|
70
|
+
For project-scoped business data analysis, the `analysis-workflow.md` handoff above is mandatory after relevant source pages have been read. In particular, a KB statement that current values require live execution means attempting the matched saved asset first. If that attempt cannot produce a usable result, the workflow permits a traceable fallback to ordinary analysis.
|
|
71
|
+
|
|
68
72
|
When using internal context to explain data analysis results, anomalies, or trends:
|
|
69
73
|
|
|
70
74
|
1. First state what the analysis itself demonstrates, including the metric change, time range, affected entity, and magnitude.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: ae-metadata
|
|
3
3
|
version: 1.0.1
|
|
4
|
-
description: "AE
|
|
4
|
+
description: "AE metadata capability-gateway CLI: metadata data-table management and property dimension-table binding. Metadata CLI routes through the analysis gateway. Input-file upload and event/property detail belong to ae-analysis."
|
|
5
5
|
---
|
|
6
6
|
|
|
7
7
|
# ae-metadata
|