@thinkingai/ae-cli 6.1.20 → 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.
Files changed (338) hide show
  1. package/README.md +2 -1
  2. package/README.zh.md +2 -1
  3. package/dist/{auth-FUM37MHF.js → auth-XZNXFRJS.js} +5 -5
  4. package/dist/{capability-AXFQW5WM.js → capability-FYTU3X6L.js} +42 -12
  5. package/dist/{chunk-LNZBEQXW.js → chunk-4NRCTUZJ.js} +27041 -474
  6. package/dist/{chunk-VXNMYUXU.js → chunk-57RRFUEZ.js} +23 -7
  7. package/dist/{chunk-WZ6YVQSF.js → chunk-7FTTULED.js} +1 -1
  8. package/dist/{chunk-ATSM5XAW.js → chunk-7XGFSUOM.js} +2 -2
  9. package/dist/chunk-CCS66K4K.js +155 -0
  10. package/dist/{chunk-I4WQAEYB.js → chunk-DVMLWQD4.js} +8 -186
  11. package/dist/{chunk-CZU3V3DQ.js → chunk-DX5CDO34.js} +27 -6
  12. package/dist/chunk-EQ255HKO.js +38248 -0
  13. package/dist/{chunk-BBEFP4SB.js → chunk-HBGADCKA.js} +3 -3
  14. package/dist/{chunk-QJQZH5GQ.js → chunk-HFGZGYCG.js} +10 -6
  15. package/dist/{chunk-ECBLHAZO.js → chunk-JOCDD4ON.js} +1 -1
  16. package/dist/{chunk-TKHSULJT.js → chunk-KPQY44JQ.js} +6 -0
  17. package/dist/{chunk-4P355ZWB.js → chunk-MAPZ7VB6.js} +21 -1
  18. package/dist/chunk-V2NUHPXF.js +196 -0
  19. package/dist/{chunk-RSG4ONOI.js → chunk-VYXXOKYS.js} +5 -5
  20. package/dist/{community-report-client-XXWGSBSD.js → community-report-client-CU22W53K.js} +1 -1
  21. package/dist/{config-EXUGQN5T.js → config-XO3LI3SA.js} +4 -4
  22. package/dist/context-IFJI3LIT.js +46 -0
  23. package/dist/{data-integration-4NZ53OMT.js → data-integration-HNGUKFIC.js} +44 -35
  24. package/dist/index.js +101 -64
  25. package/dist/{local-data-upload-client-KYOKVYZV.js → local-data-upload-client-GTRIT64F.js} +3 -2
  26. package/dist/{memory-ATNKZNW5.js → memory-QGPSNCQS.js} +4 -4
  27. package/dist/{metadata-VZVC7YMH.js → metadata-DI5BMYFU.js} +8 -8
  28. package/dist/{model-E4JMQ4V2.js → model-RNPQXIBI.js} +4 -4
  29. package/dist/{personal-semantic-preference-7S2SQ3UV.js → personal-semantic-preference-5C3WUXFI.js} +11 -8
  30. package/dist/{project-semantic-2SZP2OPO.js → project-semantic-3LF6Q6JZ.js} +27 -21
  31. package/dist/{sync-YV3E66IF.js → sync-O45NXEQY.js} +7 -6
  32. package/dist/{te-agent-JB5T3PO7.js → te-agent-K5MSPNHJ.js} +5 -5
  33. package/dist/{te-analysis-3YJAAT2D.js → te-analysis-AISWCOOZ.js} +1086 -354
  34. package/dist/{te-community-UDBI672N.js → te-community-4OYU3BDA.js} +4 -4
  35. package/dist/{te-dataops-ZLYOCXZ4.js → te-dataops-NFIPB6FX.js} +5 -5
  36. package/dist/{te-engage-4XG6OJML.js → te-engage-BAM3GBFX.js} +7 -7
  37. package/dist/{te-experiment-VXUWPINJ.js → te-experiment-GUTZXZ5Z.js} +132 -14
  38. package/dist/{te-kb-WYQWHFSC.js → te-kb-3TS73NO6.js} +454 -194
  39. package/dist/{te-system-7G6F2LJA.js → te-system-STMHLS5J.js} +12 -7
  40. package/dist/{te-team-E7FBBXMQ.js → te-team-3I5AOX3N.js} +6 -6
  41. package/dist/{update-D47BUG25.js → update-RZXLPCRH.js} +4 -4
  42. package/package.json +21 -14
  43. package/skills/ae-analysis/SKILL.md +91 -78
  44. package/skills/ae-analysis/references/adhoc_export.md +11 -18
  45. package/skills/ae-analysis/references/adhoc_run.md +15 -7
  46. package/skills/ae-analysis/references/agent_review_detail.md +11 -0
  47. package/skills/ae-analysis/references/agent_review_evidence.md +46 -0
  48. package/skills/ae-analysis/references/agent_review_list.md +9 -0
  49. package/skills/ae-analysis/references/agent_review_preflight.md +96 -0
  50. package/skills/ae-analysis/references/agent_review_priorities_comparisons.md +76 -0
  51. package/skills/ae-analysis/references/agent_review_records.md +9 -0
  52. package/skills/ae-analysis/references/agent_review_retry.md +12 -0
  53. package/skills/ae-analysis/references/agent_review_review.md +16 -0
  54. package/skills/ae-analysis/references/agent_review_submit_to_page.md +184 -0
  55. package/skills/ae-analysis/references/ai_models/attribution.md +29 -0
  56. package/skills/ae-analysis/references/ai_models/distribution.md +40 -0
  57. package/skills/ae-analysis/references/ai_models/event.md +108 -0
  58. package/skills/ae-analysis/references/ai_models/funnel.md +46 -0
  59. package/skills/ae-analysis/references/ai_models/heat_map.md +26 -0
  60. package/skills/ae-analysis/references/ai_models/interval.md +20 -0
  61. package/skills/ae-analysis/references/ai_models/path.md +38 -0
  62. package/skills/ae-analysis/references/ai_models/prop_analysis.md +39 -0
  63. package/skills/ae-analysis/references/ai_models/rank_list.md +25 -0
  64. package/skills/ae-analysis/references/ai_models/retention.md +70 -0
  65. package/skills/ae-analysis/references/ai_models/revenue.md +28 -0
  66. package/skills/ae-analysis/references/ai_models/sql.md +74 -0
  67. package/skills/ae-analysis/references/ai_models/tag.md +19 -0
  68. package/skills/ae-analysis/references/ai_models.md +32 -473
  69. package/skills/ae-analysis/references/alert_create.md +7 -7
  70. package/skills/ae-analysis/references/alert_delete.md +4 -6
  71. package/skills/ae-analysis/references/alert_detail_list.md +7 -9
  72. package/skills/ae-analysis/references/alert_get.md +5 -7
  73. package/skills/ae-analysis/references/alert_job_list.md +4 -6
  74. package/skills/ae-analysis/references/alert_list.md +6 -8
  75. package/skills/ae-analysis/references/alert_notice_config_list.md +4 -6
  76. package/skills/ae-analysis/references/alert_start.md +5 -7
  77. package/skills/ae-analysis/references/alert_stop.md +5 -7
  78. package/skills/ae-analysis/references/alert_update.md +8 -8
  79. package/skills/ae-analysis/references/analysis_data_export.md +72 -0
  80. package/skills/ae-analysis/references/analysis_data_retrieval.md +32 -196
  81. package/skills/ae-analysis/references/analysis_gateway_assets.md +23 -180
  82. package/skills/ae-analysis/references/analysis_interpretation.md +37 -17
  83. package/skills/ae-analysis/references/asset_abnormal_get.md +0 -1
  84. package/skills/ae-analysis/references/asset_abnormal_list.md +0 -1
  85. package/skills/ae-analysis/references/asset_authentication_export.md +4 -0
  86. package/skills/ae-analysis/references/asset_authentication_list.md +7 -1
  87. package/skills/ae-analysis/references/asset_authentication_update.md +5 -1
  88. package/skills/ae-analysis/references/asset_batch_dashboard_schedule_freeze.md +8 -6
  89. package/skills/ae-analysis/references/asset_batch_delete.md +6 -6
  90. package/skills/ae-analysis/references/asset_batch_disable_auto_backup.md +4 -5
  91. package/skills/ae-analysis/references/asset_batch_disable_auto_update.md +5 -6
  92. package/skills/ae-analysis/references/asset_batch_handover.md +4 -5
  93. package/skills/ae-analysis/references/asset_batch_info_export.md +4 -5
  94. package/skills/ae-analysis/references/asset_batch_sql_export.md +5 -6
  95. package/skills/ae-analysis/references/asset_dependency_list.md +4 -5
  96. package/skills/ae-analysis/references/asset_export.md +4 -5
  97. package/skills/ae-analysis/references/asset_impact_list.md +5 -9
  98. package/skills/ae-analysis/references/asset_lineage_get.md +5 -6
  99. package/skills/ae-analysis/references/asset_list.md +4 -5
  100. package/skills/ae-analysis/references/asset_query_history_list.md +4 -8
  101. package/skills/ae-analysis/references/asset_recent_list.md +0 -1
  102. package/skills/ae-analysis/references/asset_search.md +12 -9
  103. package/skills/ae-analysis/references/asset_url_get.md +3 -4
  104. package/skills/ae-analysis/references/bi_panel_copy.md +2 -2
  105. package/skills/ae-analysis/references/bi_panel_page_data_export.md +4 -12
  106. package/skills/ae-analysis/references/bi_panel_page_data_run.md +2 -0
  107. package/skills/ae-analysis/references/catalog_export.md +4 -17
  108. package/skills/ae-analysis/references/catalog_list.md +4 -4
  109. package/skills/ae-analysis/references/check_delete.md +5 -7
  110. package/skills/ae-analysis/references/check_export.md +11 -11
  111. package/skills/ae-analysis/references/check_get.md +8 -10
  112. package/skills/ae-analysis/references/check_list.md +4 -6
  113. package/skills/ae-analysis/references/check_retry.md +8 -10
  114. package/skills/ae-analysis/references/check_run.md +2 -4
  115. package/skills/ae-analysis/references/command_index.md +44 -26
  116. package/skills/ae-analysis/references/dashboard_report_data_export.md +5 -13
  117. package/skills/ae-analysis/references/dashboard_report_data_run.md +1 -1
  118. package/skills/ae-analysis/references/dashboard_update.md +14 -3
  119. package/skills/ae-analysis/references/datatable_columns_get.md +0 -1
  120. package/skills/ae-analysis/references/datatable_influence_list.md +0 -1
  121. package/skills/ae-analysis/references/datatable_version_get.md +0 -1
  122. package/skills/ae-analysis/references/datatable_version_list.md +0 -1
  123. package/skills/ae-analysis/references/debug_device_add.md +1 -2
  124. package/skills/ae-analysis/references/drilldown_entities_export.md +3 -3
  125. package/skills/ae-analysis/references/drilldown_events_export.md +3 -2
  126. package/skills/ae-analysis/references/drilldown_user_events_export.md +2 -2
  127. package/skills/ae-analysis/references/entity_detail_export.md +3 -2
  128. package/skills/ae-analysis/references/entity_detail_run.md +1 -0
  129. package/skills/ae-analysis/references/event_blacklist_add.md +5 -7
  130. package/skills/ae-analysis/references/event_blacklist_list.md +4 -6
  131. package/skills/ae-analysis/references/event_blacklist_update.md +6 -8
  132. package/skills/ae-analysis/references/event_changelog_list.md +0 -1
  133. package/skills/ae-analysis/references/event_create.md +0 -1
  134. package/skills/ae-analysis/references/event_detail_export.md +3 -2
  135. package/skills/ae-analysis/references/event_detail_run.md +1 -0
  136. package/skills/ae-analysis/references/event_export.md +0 -1
  137. package/skills/ae-analysis/references/event_get.md +0 -1
  138. package/skills/ae-analysis/references/event_hide_update.md +0 -1
  139. package/skills/ae-analysis/references/event_influence_list.md +0 -1
  140. package/skills/ae-analysis/references/event_list.md +0 -1
  141. package/skills/ae-analysis/references/event_property_bundle_export.md +5 -14
  142. package/skills/ae-analysis/references/event_property_bundle_import.md +2 -6
  143. package/skills/ae-analysis/references/event_relation_update.md +0 -1
  144. package/skills/ae-analysis/references/event_update.md +0 -1
  145. package/skills/ae-analysis/references/exchange_config_update.md +0 -1
  146. package/skills/ae-analysis/references/exchange_rate_refresh.md +0 -1
  147. package/skills/ae-analysis/references/exchange_rule_list.md +0 -1
  148. package/skills/ae-analysis/references/exchange_rule_update.md +0 -1
  149. package/skills/ae-analysis/references/exchange_rule_validate.md +0 -1
  150. package/skills/ae-analysis/references/governance_recommendation_decisions.md +23 -0
  151. package/skills/ae-analysis/references/governance_recommendation_export.md +108 -0
  152. package/skills/ae-analysis/references/governance_recommendation_submit.md +41 -0
  153. package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +4 -4
  154. package/skills/ae-analysis/references/history_tag_data_export.md +3 -3
  155. package/skills/ae-analysis/references/ingest_error_list.md +7 -9
  156. package/skills/ae-analysis/references/ingest_summary.md +6 -8
  157. package/skills/ae-analysis/references/live_data_export.md +10 -10
  158. package/skills/ae-analysis/references/live_data_list.md +7 -9
  159. package/skills/ae-analysis/references/metadata_resolution.md +78 -0
  160. package/skills/ae-analysis/references/metric_export.md +0 -1
  161. package/skills/ae-analysis/references/metric_get.md +0 -1
  162. package/skills/ae-analysis/references/metric_list.md +4 -5
  163. package/skills/ae-analysis/references/metric_update.md +0 -1
  164. package/skills/ae-analysis/references/operation_record_export.md +4 -5
  165. package/skills/ae-analysis/references/operation_record_list.md +4 -5
  166. package/skills/ae-analysis/references/personal_semantic_preference_list.md +18 -1
  167. package/skills/ae-analysis/references/plan_change_log_export.md +10 -10
  168. package/skills/ae-analysis/references/plan_change_log_list.md +4 -6
  169. package/skills/ae-analysis/references/plan_delete_items.md +2 -4
  170. package/skills/ae-analysis/references/plan_export.md +9 -9
  171. package/skills/ae-analysis/references/plan_generate.md +2 -4
  172. package/skills/ae-analysis/references/plan_get.md +4 -6
  173. package/skills/ae-analysis/references/plan_import_excel.md +6 -8
  174. package/skills/ae-analysis/references/plan_save_items.md +2 -4
  175. package/skills/ae-analysis/references/plan_sync_from_meta.md +4 -6
  176. package/skills/ae-analysis/references/project_access_detail_get.md +0 -1
  177. package/skills/ae-analysis/references/project_data_power_get.md +0 -1
  178. package/skills/ae-analysis/references/project_data_power_list.md +0 -1
  179. package/skills/ae-analysis/references/project_data_power_upsert.md +0 -1
  180. package/skills/ae-analysis/references/project_entity_create.md +0 -1
  181. package/skills/ae-analysis/references/project_entity_event_list.md +0 -1
  182. package/skills/ae-analysis/references/project_entity_get.md +0 -1
  183. package/skills/ae-analysis/references/project_entity_list.md +0 -1
  184. package/skills/ae-analysis/references/project_entity_update.md +0 -1
  185. package/skills/ae-analysis/references/project_function_list.md +0 -1
  186. package/skills/ae-analysis/references/project_info_get.md +0 -1
  187. package/skills/ae-analysis/references/project_info_list.md +0 -1
  188. package/skills/ae-analysis/references/project_info_update.md +0 -1
  189. package/skills/ae-analysis/references/project_mark_time_create.md +0 -1
  190. package/skills/ae-analysis/references/project_mark_time_list.md +0 -1
  191. package/skills/ae-analysis/references/project_mark_time_update.md +0 -1
  192. package/skills/ae-analysis/references/project_member_add.md +6 -5
  193. package/skills/ae-analysis/references/project_member_batch_update.md +0 -1
  194. package/skills/ae-analysis/references/project_member_candidate_list.md +4 -3
  195. package/skills/ae-analysis/references/project_member_handover_run.md +2 -3
  196. package/skills/ae-analysis/references/project_member_list.md +0 -1
  197. package/skills/ae-analysis/references/project_member_receiver_list.md +0 -1
  198. package/skills/ae-analysis/references/project_member_update.md +0 -1
  199. package/skills/ae-analysis/references/project_owner_update.md +0 -1
  200. package/skills/ae-analysis/references/project_permission_binding_list.md +0 -1
  201. package/skills/ae-analysis/references/project_role_function_list.md +0 -1
  202. package/skills/ae-analysis/references/project_role_get.md +0 -1
  203. package/skills/ae-analysis/references/project_role_list.md +0 -1
  204. package/skills/ae-analysis/references/project_role_upsert.md +32 -2
  205. package/skills/ae-analysis/references/project_role_user_list.md +0 -1
  206. package/skills/ae-analysis/references/project_semantic_knowledge_wiki.md +214 -0
  207. package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +93 -0
  208. package/skills/ae-analysis/references/project_timezone_get.md +0 -1
  209. package/skills/ae-analysis/references/project_timezone_overview.md +0 -1
  210. package/skills/ae-analysis/references/project_timezone_update.md +0 -1
  211. package/skills/ae-analysis/references/project_user_id_items_update.md +0 -1
  212. package/skills/ae-analysis/references/property_changelog_list.md +0 -1
  213. package/skills/ae-analysis/references/property_create.md +0 -1
  214. package/skills/ae-analysis/references/property_export.md +0 -1
  215. package/skills/ae-analysis/references/property_get.md +0 -1
  216. package/skills/ae-analysis/references/property_hide_update.md +0 -1
  217. package/skills/ae-analysis/references/property_influence_list.md +0 -1
  218. package/skills/ae-analysis/references/property_list.md +3 -4
  219. package/skills/ae-analysis/references/property_related_events.md +0 -1
  220. package/skills/ae-analysis/references/property_relation_update.md +0 -1
  221. package/skills/ae-analysis/references/property_update.md +0 -1
  222. package/skills/ae-analysis/references/report_create.md +4 -2
  223. package/skills/ae-analysis/references/report_data_export.md +11 -9
  224. package/skills/ae-analysis/references/report_data_run.md +14 -7
  225. package/skills/ae-analysis/references/report_get.md +5 -3
  226. package/skills/ae-analysis/references/report_list.md +2 -0
  227. package/skills/ae-analysis/references/report_update.md +5 -3
  228. package/skills/ae-analysis/references/rule_create.md +5 -6
  229. package/skills/ae-analysis/references/rule_delete.md +5 -5
  230. package/skills/ae-analysis/references/rule_list.md +3 -4
  231. package/skills/ae-analysis/references/rule_schema.md +3 -4
  232. package/skills/ae-analysis/references/rule_update.md +5 -6
  233. package/skills/ae-analysis/references/sdk_sample_generate.md +2 -4
  234. package/skills/ae-analysis/references/sql_table_columns.md +1 -1
  235. package/skills/ae-analysis/references/super_metadata_batch_create.md +1 -1
  236. package/skills/ae-analysis/references/super_metadata_batch_edit.md +1 -1
  237. package/skills/ae-analysis/references/system_member_add.md +1 -2
  238. package/skills/ae-analysis/references/system_member_status_update.md +1 -1
  239. package/skills/ae-analysis/references/system_ops_alert_contact_list.md +1 -1
  240. package/skills/ae-analysis/references/system_ops_alert_contact_test.md +0 -1
  241. package/skills/ae-analysis/references/system_query_monitor_overview.md +3 -3
  242. package/skills/ae-analysis/references/system_query_task_export.md +4 -14
  243. package/skills/ae-analysis/references/system_query_task_get.md +1 -1
  244. package/skills/ae-analysis/references/system_query_task_list.md +5 -6
  245. package/skills/ae-analysis/references/system_receiver_address_upsert.md +3 -3
  246. package/skills/ae-analysis/references/system_receiver_detection_get.md +1 -1
  247. package/skills/ae-analysis/references/system_third_party_login_disable.md +1 -1
  248. package/skills/ae-analysis/references/system_usage_trend_export.md +3 -12
  249. package/skills/ae-analysis/references/user_cluster_list.md +1 -1
  250. package/skills/ae-analysis/references/user_cluster_member_export.md +4 -4
  251. package/skills/ae-analysis/references/user_tag_list.md +1 -1
  252. package/skills/ae-analysis/references/user_tag_member_export.md +4 -4
  253. package/skills/ae-analysis/references/virtual_event_create.md +10 -5
  254. package/skills/ae-analysis/references/virtual_event_get.md +0 -1
  255. package/skills/ae-analysis/references/virtual_property_create.md +0 -1
  256. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +0 -1
  257. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +1054 -0
  258. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs +112 -0
  259. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-rules.md +30 -0
  260. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +2735 -0
  261. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/package-wiki-source-zip.mjs +376 -0
  262. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/plan-kb-source-sync.mjs +264 -0
  263. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/precompiled-source.mjs +49 -0
  264. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/upload-kb-sources-concurrently.mjs +200 -0
  265. package/skills/ae-analysis/scripts/read_results.py +197 -0
  266. package/skills/ae-analysis-global/SKILL.md +1 -1
  267. package/skills/ae-capability/SKILL.md +1 -1
  268. package/skills/ae-community/SKILL.md +1 -1
  269. package/skills/ae-current-context/SKILL.md +53 -0
  270. package/skills/ae-data-integration/SKILL.md +5 -4
  271. package/skills/ae-data-integration/references/lark-bitable-source.md +288 -0
  272. package/skills/ae-data-integration/references/lark-sheet-source.md +130 -0
  273. package/skills/ae-data-integration/references/manual-export-source.md +83 -0
  274. package/skills/ae-data-integration/references/reuse.md +2 -0
  275. package/skills/ae-data-integration/references/sink-upload.md +32 -0
  276. package/skills/ae-data-integration/references/tracking-plan.md +4 -1
  277. package/skills/ae-data-integration/references/ue-mapping.md +2 -2
  278. package/skills/ae-data-integration-helper/SKILL.md +5 -5
  279. package/skills/ae-data-integration-helper/references/android_sdk_faq.md +3 -3
  280. package/skills/ae-data-integration-helper/references/c_sdk_faq.md +3 -3
  281. package/skills/ae-data-integration-helper/references/cocoscreator_sdk_faq.md +1 -1
  282. package/skills/ae-data-integration-helper/references/cpp_server_sdk_faq.md +3 -3
  283. package/skills/ae-data-integration-helper/references/ios_sdk_faq.md +1 -1
  284. package/skills/ae-data-integration-helper/references/java_sdk_faq.md +3 -3
  285. package/skills/ae-data-integration-helper/references/javascript_sdk_faq.md +1 -1
  286. package/skills/ae-data-integration-helper/references/logbus2_guide.md +1 -1
  287. package/skills/ae-data-integration-helper/references/logbus2_parser_plugin.md +2 -2
  288. package/skills/ae-data-integration-helper/references/minigame_sdk_faq.md +2 -2
  289. package/skills/ae-data-integration-helper/references/miniprogram_sdk_faq.md +1 -1
  290. package/skills/ae-data-integration-helper/references/python_sdk_faq.md +2 -2
  291. package/skills/ae-data-integration-helper/references/restful_api_notes.md +2 -2
  292. package/skills/ae-data-integration-helper/references/sdk_log_guide.md +3 -3
  293. package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +11 -11
  294. package/skills/ae-data-integration-helper/references/unity_sdk_faq.md +1 -1
  295. package/skills/ae-dataops/SKILL.md +1 -1
  296. package/skills/ae-engage/SKILL.md +4 -3
  297. package/skills/ae-engage/references/build-task-save-guide.md +3 -0
  298. package/skills/ae-engage/references/flow-metric-update.md +115 -1
  299. package/skills/ae-engage/references/save-flow.md +3 -0
  300. package/skills/ae-engage/references/save-task.md +21 -0
  301. package/skills/ae-engage/references/task-metric-update.md +151 -0
  302. package/skills/ae-experiment/SKILL.md +14 -7
  303. package/skills/ae-experiment/references/save_submit_external_experiment.md +52 -0
  304. package/skills/ae-experiment-design/SKILL.md +3 -3
  305. package/skills/ae-experiment-design/references/platform-operations.md +1 -1
  306. package/skills/ae-experiment-insight/SKILL.md +2 -2
  307. package/skills/ae-experiment-insight/references/platform-operations.md +1 -1
  308. package/skills/ae-generate-tracking-code/SKILL.md +2 -1
  309. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +1 -1
  310. package/skills/ae-generate-tracking-code/references/datax-config.md +1 -1
  311. package/skills/ae-generate-tracking-code/references/logbus-config.md +1 -1
  312. package/skills/ae-generate-tracking-code/references/modes.md +1 -1
  313. package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +5 -5
  314. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +3 -3
  315. package/skills/ae-generate-tracking-plan/SKILL.md +2 -2
  316. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -0
  317. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +3 -2
  318. package/skills/ae-kb/SKILL.md +41 -2
  319. package/skills/ae-kb/references/analysis-workflow.md +292 -0
  320. package/skills/ae-kb/references/source-mutations.md +95 -0
  321. package/skills/ae-kb-discovery/SKILL.md +5 -1
  322. package/skills/ae-metadata/SKILL.md +1 -1
  323. package/skills/ae-migrate-tracking-code/SKILL.md +195 -0
  324. package/skills/ae-migrate-tracking-code/references/ae-preset-properties.md +76 -0
  325. package/skills/ae-migrate-tracking-code/references/ir.md +167 -0
  326. package/skills/ae-migrate-tracking-code/references/mapping-framework.md +112 -0
  327. package/skills/ae-migrate-tracking-code/references/providers/README.md +58 -0
  328. package/skills/ae-migrate-tracking-code/references/providers/amplitude.md +208 -0
  329. package/skills/ae-migrate-tracking-code/references/providers/firebase.md +160 -0
  330. package/skills/ae-migrate-tracking-code/references/providers/ga4.md +92 -0
  331. package/skills/ae-migrate-tracking-code/references/providers/mixpanel.md +150 -0
  332. package/skills/ae-migrate-tracking-code/references/providers/sensors-data.md +146 -0
  333. package/skills/ae-project-semantic/SKILL.md +1 -1
  334. package/skills/ae-system/SKILL.md +4 -4
  335. package/skills/ae-team/SKILL.md +2 -2
  336. package/skills/ae-use-agent/references/local-agent.md +1 -1
  337. package/dist/chunk-TAL6CZH6.js +0 -72
  338. package/skills/ae-analysis/metadata_resolution.md +0 -184
@@ -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.1
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. Check readiness with `experiment experiment ready-check`.
65
- 5. For a non-mutex traffic layer, run `experiment experiment conflict-check` before submit (needs `feature_key_list` from context or `experiment get`).
66
- 6. Move status with `experiment experiment manage`.
67
- 7. Query reports with `experiment report summary`, `experiment report sample-size`, and `experiment report metric-trend`.
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/TE 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."
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/TE platform interaction. Do not substitute raw HTTP, browser automation, direct database queries, or application SDKs.
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/TE platform read or write | [`references/platform-operations.md`](references/platform-operations.md) |
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
  # Platform Operations
2
2
 
3
- Read this reference before any AE/TE platform interaction.
3
+ Read this reference before any AE platform interaction.
4
4
 
5
5
  ## Hard boundary
6
6
 
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ae-experiment-insight
3
- description: "Diagnose and interpret AE/TE 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."
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/TE platform interaction and follow
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
 
@@ -1,6 +1,6 @@
1
1
  # Platform Operations
2
2
 
3
- Read this reference before retrieving any AE/TE experiment evidence.
3
+ Read this reference before retrieving any AE experiment evidence.
4
4
 
5
5
  ## Hard boundary
6
6
 
@@ -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()` in code to associate user IDs
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 = TE receiver 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 = TE 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)
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 TE) |
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 TE | 架构 = architecture | 异步上报 = async upload | 批量上传 = batch upload | 重试策略 = retry strategy | 公共属性 = super property (公共事件属性; never "超级属性") | 用户属性 = user property | 依赖管理 = dependency management
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 based on `meta.user_identity`:
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
 
@@ -640,7 +640,7 @@ Draft
640
640
  }
641
641
  ```
642
642
 
643
- > `update_type` is one of: `user_set` (overwrite), `user_setOnce` (first-set-only), `user_add` (numeric accumulate).
643
+ > `update_type` is one of: `user_set` (overwrite), `user_setOnce` (first-set-only), `user_add` (numeric accumulate), `user_append` (array append).
644
644
 
645
645
  **User identity fields (`meta.user_identity`)**:
646
646
 
@@ -1359,7 +1359,7 @@ AE_LANG=<user_lang> ae-cli tracking plan upload --project <projectId> --xlsx .ae
1359
1359
  #### Auto-fix Flow
1360
1360
 
1361
1361
  CLI auto-executes:
1362
- 1. Upload xlsx to TE
1362
+ 1. Upload xlsx to AE
1363
1363
  2. Check if `eventErrorMap` has errors
1364
1364
  3. Fixable errors → auto-fix draft.json → regenerate xlsx → re-upload
1365
1365
  4. Loop up to 3 times; prompt user for manual intervention if exceeded
@@ -124,6 +124,7 @@ Upload is a two-step capability-gateway flow:
124
124
  | `user_set` | 覆盖赋值 |
125
125
  | `user_setOnce` | 仅首次赋值 |
126
126
  | `user_add` | 数值累加 |
127
+ | `user_append` | 列表追加 |
127
128
 
128
129
  ## v2(暂未实现)
129
130
 
@@ -119,10 +119,11 @@ A-E 在 writer 里用 `mergeCells` 合并。
119
119
  | `user_set` | 覆盖赋值(默认) |
120
120
  | `user_setOnce` | 仅首次赋值 |
121
121
  | `user_add` | 数值累加 |
122
+ | `user_append` | 列表追加 |
122
123
 
123
124
  xlsx 里填写英文 canonical 值本身,不翻译。
124
125
 
125
- 官方文档提及 `user_append`(字符串数组追加),样本中无实例,暂不实现。
126
+ 官方模板 `#用户数据` 隐藏说明行「更新方式:取值user_set、user_setOnce、user_add、user_append」已确认 `user_append` 在方案枚举内。`user_unset`(删除属性)不在方案枚举内——它是数据接入层 `#type` 的操作(见 data-rules.md),不是方案声明。
126
127
 
127
128
  ---
128
129
 
@@ -150,5 +151,5 @@ xlsx 里填写英文 canonical 值本身,不翻译。
150
151
  ## 开放问题(记一下,不影响 v1)
151
152
 
152
153
  1. ~~AE 后端是否区分 `object`(单对象)与 `array_row`(对象数组)~~ —— 已确认:AE 支持,wiki/te-docs/raw/preparations-before-data-ingestion.md 明确区分两种类型
153
- 2. `user_append` updateType 是否真的可用 —— 待构造测试
154
+ 2. ~~`user_append` updateType 是否真的可用~~ —— 已确认:官方模板 `#用户数据` 隐藏说明行「更新方式:取值user_set、user_setOnce、user_add、user_append」,枚举含 `user_append`(`user_unset` 不在方案枚举内)
154
155
  3. 严格错误码 —— 所有校验失败目前都是 `return_code=0 success` + 静默丢弃,无法从响应区分成功/失败;UI 上传才显示错误文案
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: ae-kb
3
3
  version: 1.0.0
4
- description: 'AE/TE knowledge base CLI manual for creating, importing read-only compiled snapshots, querying, LLM-powered ask, listing accessible knowledge bases and their sources, deterministic index/grep/read retrieval, checking status, ZIP source upload and directory management, raw child-file reading, revision-checked child updates and deletion, compiling, schema generation, URL sources, source deletion, and knowledge base deletion. Use when the user asks to manage TE/AE/ThinkingEngine knowledge bases, import a compiled Markdown ZIP snapshot, upload documents or URLs to a knowledge base, query knowledge, ask knowledge bases with an LLM, list accessible knowledge bases or source metadata, inspect knowledge base indexes, search knowledge base pages, read a specific knowledge base page, check knowledge base status, generate schemas, compile knowledge, remove sources, or delete a knowledge base. To choose which knowledge base is worth searching, use the ae-kb-discovery skill first; this skill runs the retrieval once a target is chosen. Must use ae-cli kb commands and must not guess knowledge base names, scopes, page paths, source IDs, source display names, JSON payload shapes, or URL formats.'
4
+ description: 'AE knowledge base CLI manual for creating, importing read-only compiled snapshots, querying, LLM-powered ask, listing accessible knowledge bases and their sources, deterministic index/grep/read retrieval, checking status, ZIP source upload and directory management, raw child-file reading, revision-checked child updates and deletion, compiling, schema generation, URL sources, source deletion, file/ZIP source draft replacement and restoration, and knowledge base deletion. Use when the user asks to manage AE (Agentic Engine) knowledge bases, import a compiled Markdown ZIP snapshot, upload documents or URLs to a knowledge base, query knowledge, ask knowledge bases with an LLM, list accessible knowledge bases or source metadata, inspect knowledge base indexes, search knowledge base pages, read a specific knowledge base page, check knowledge base status, generate schemas, compile knowledge, remove sources, or delete a knowledge base. To choose which knowledge base is worth searching, use the ae-kb-discovery skill first; this skill runs the retrieval once a target is chosen. Must use ae-cli kb commands and must not guess knowledge base names, scopes, page paths, source IDs, source display names, JSON payload shapes, or URL formats.'
5
5
  ---
6
6
 
7
7
  # ae-kb
@@ -10,12 +10,14 @@ AE CLI (`ae-cli`) knowledge base commands are invoked through:
10
10
 
11
11
  ```bash
12
12
  ae-cli kb +<command> [options]
13
+ ae-cli kb source <replace|restore|preview|commit|cancel|check-updates> [options]
13
14
  ```
14
15
 
15
16
  ## Global Rules
16
17
 
17
- - Use this skill for TE/AE knowledge base tasks: create, import a compiled snapshot, query, ask with LLM, list accessible knowledge bases and their sources, inspect indexes, grep pages, read pages, check status, upload sources, add URL sources, generate schema, compile, remove source files, and delete knowledge bases.
18
+ - Use this skill for AE knowledge base tasks: create, import a compiled snapshot, query, ask with LLM, list accessible knowledge bases and their sources, inspect indexes, grep pages, read pages, check status, upload sources, add URL sources, generate schema, compile, remove source files, and delete knowledge bases.
18
19
  - **Searching a knowledge base for an answer is the most common task. If that is what you are doing, go straight to [Explore Knowledge Base Pages](#explore-knowledge-base-pages) and read [`references/query-workflow.md`](references/query-workflow.md) first — it is the retrieval procedure. The other commands below are for managing knowledge bases, not answering from them.**
20
+ - **When retrieved pages will guide project-scoped business data analysis, read and follow [`references/analysis-workflow.md`](references/analysis-workflow.md) before running any data query. This is mandatory after a KB hit identifies a saved asset, definition, parameter, time rule, conflict, or decision boundary; do not jump directly to ad-hoc analysis or SQL.**
19
21
  - Read operations can run directly after required inputs are known. Write operations require explicit user intent and normally keep the confirmation prompt unless the user asks to bypass it.
20
22
  - Prefer `--dry-run` before destructive or broad writes when the user has not already validated the target.
21
23
  - Do not invent knowledge base names, scopes, source IDs, source display names, or JSON payloads. Ask the user or query known context when values are missing.
@@ -30,6 +32,7 @@ ae-cli kb +<command> [options]
30
32
 
31
33
  | Command | Risk | Purpose |
32
34
  |---|---:|---|
35
+ | `source check-updates` | write | Check one compiled Feishu source with the scheduled detector; mark changes without compiling. |
33
36
  | `+ask` | read | LLM-powered Q&A over knowledge bases; for multi-page synthesis or multi-hop questions. |
34
37
  | `+ask-status` | read | Query the current status of an ask execution by `--execution-id` without polling. |
35
38
  | `+list` | read | List accessible knowledge bases filtered by buildStatus (default: compiled). |
@@ -64,6 +67,20 @@ Use the nine version commands described in [`references/versions.md`](references
64
67
  | `+rollback` | high-risk-write | Restore an earlier version and create a new version. |
65
68
  | `+rollback-status` | read | Query a persisted rollback Operation without polling. |
66
69
 
70
+ ## Source Draft Replacement and Restoration
71
+
72
+ Use [`references/source-mutations.md`](references/source-mutations.md) for file/ZIP source replacement and restoration. These new commands use `kb source <action>`; `+rollback` remains a whole-KB publication operation.
73
+
74
+ | Command | Risk | Purpose |
75
+ |---|---|---|
76
+ | `source replace` | write | Replace an ordinary file draft, or prepare a ZIP archive replacement preview. |
77
+ | `source restore` | write | Restore a file draft from a published version, or prepare a ZIP source/child restore preview. |
78
+ | `source preview` | read | Read a page of ZIP candidate changes before confirmation. |
79
+ | `source commit` | high-risk-write | Confirm a reviewed ZIP candidate, including any deletions. |
80
+ | `source cancel` | high-risk-write | Discard an uncommitted ZIP candidate. |
81
+
82
+ Require exact `--name`, `--scope`, current `--id`, and a current `--expected-revision` for mutations. File replacements keep the original format but allow different filenames. ZIP requires `.zip`. URL/Feishu and deleted parent sources are not supported. Updates affect the draft only; publication still requires compilation. ZIP previews must not be auto-committed. Do not retry uncertain writes.
83
+
67
84
  ## ZIP Directory Sources
68
85
 
69
86
  Use `+add --files '["./sources.zip"]'` to upload one ZIP as one editable parent source, preserving its internal hierarchy. Archive validation and limits are enforced by the server. This is different from `+import`, which creates a read-only compiled snapshot. Passing a local directory to `+add` still uploads only its immediate supported files; it does not recursively package that directory.
@@ -533,3 +550,25 @@ ae-cli kb +rm-source --name "<name>" --id "<source-id>" [--scope personal|compan
533
550
  ```bash
534
551
  ae-cli kb +remove --name "<name>" [--scope personal|company]
535
552
  ```
553
+
554
+ ## Check a Feishu source for updates
555
+
556
+ ```bash
557
+ ae-cli kb source check-updates --name "Engineering Handbook" --id "<source-id>" --scope company --dry-run
558
+ ae-cli kb source check-updates --name "Engineering Handbook" --id "<source-id>" --scope company
559
+ ```
560
+
561
+ Copy the ID from `kb +list-sources`. Requires source write permission. Only compiled, non-deleted Feishu URL sources are eligible. The API uses the same detector as the scheduled task, including existing pending-change skips and source-owner sandbox credentials. It never starts compilation or clears pending changes.
562
+
563
+ The synchronous response contains `sourceId`, `scanned`, `updated`, `failed`, `urlChangeState`, and `updateStatus`. `scanned` counts candidates, not completed content comparisons; `updated` counts newly marked sources. Zero updates can mean unchanged content, an already pending change, unavailable old raw, or a concurrent state change. It must not be reported as proof that all content is identical. Failed checks return a non-2xx response and a CLI error. A timeout does not prove completion or cancellation; read `kb +list-sources` before deciding whether to retry.
564
+
565
+ Transport: `POST /agent/api/external/knowledge-bases/sources/check-updates`, body `{name, sourceId, scope?}`. `--dry-run` only previews the request and does not authenticate or check remote permissions.
566
+
567
+ ### Admission record: source check-updates
568
+
569
+ - Classification: Transitional (no Gateway equivalent for this new detector trigger).
570
+ - Owning module: te-claude knowledge-base source management.
571
+ - Current transport: KB external REST through `kbApi` and CLI token.
572
+ - Gateway target: TBD; reuse an equivalent source update-check capability when available.
573
+ - Review after: 2026-10-16.
574
+ - Exit condition: once the Gateway exposes equivalent authorization and detector semantics, migrate the typed command to L2 or use L3 if it adds no value.