@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
@@ -1,20 +1,27 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
+ readFileSync,
3
4
  require_excel,
4
5
  require_styles_xform,
5
6
  require_worksheet_reader,
7
+ set_fs,
8
+ utils,
6
9
  validateAndFix,
7
10
  validateDraft
8
- } from "./chunk-LNZBEQXW.js";
9
- import "./chunk-I4WQAEYB.js";
11
+ } from "./chunk-4NRCTUZJ.js";
12
+ import "./chunk-DVMLWQD4.js";
13
+ import {
14
+ require_archiver
15
+ } from "./chunk-EQ255HKO.js";
16
+ import "./chunk-V2NUHPXF.js";
10
17
  import {
11
18
  getConfigDir
12
- } from "./chunk-WZ6YVQSF.js";
19
+ } from "./chunk-7FTTULED.js";
13
20
  import {
14
21
  CliValidationError,
15
22
  LocalDataUploadError,
16
23
  __toESM
17
- } from "./chunk-4P355ZWB.js";
24
+ } from "./chunk-MAPZ7VB6.js";
18
25
 
19
26
  // src/commands/data-integration/inspect.ts
20
27
  import { basename as basename3 } from "path";
@@ -112,18 +119,18 @@ var import_exceljs = __toESM(require_excel(), 1);
112
119
  var import_worksheet_reader = __toESM(require_worksheet_reader(), 1);
113
120
  var import_styles_xform = __toESM(require_styles_xform(), 1);
114
121
  import { createHash } from "crypto";
122
+ import * as nodeFs from "fs";
115
123
  import { createReadStream as createReadStream2, statSync } from "fs";
116
124
  import { extname, basename } from "path";
117
125
  import { createInterface } from "readline";
118
126
  import { StringDecoder } from "string_decoder";
119
127
  import { pipeline } from "stream/promises";
120
- import XLSXMod from "xlsx";
121
128
  import { parse as parseCsv } from "csv-parse";
122
129
  import { parse as parseCsvSync } from "csv-parse/sync";
123
130
  import createJsonParser from "stream-json";
124
- import Pick from "stream-json/filters/Pick.js";
125
- import StreamArray from "stream-json/streamers/StreamArray.js";
126
- import StreamValues from "stream-json/streamers/StreamValues.js";
131
+ import pick from "stream-json/filters/pick.js";
132
+ import streamArray from "stream-json/streamers/stream-array.js";
133
+ import streamValues from "stream-json/streamers/stream-values.js";
127
134
  import * as unzipper from "unzipper";
128
135
  import { SaxesParser } from "saxes";
129
136
 
@@ -548,7 +555,9 @@ function buildObjectChildren(objects, parentPath) {
548
555
  }
549
556
  function buildNode(path, name, values, nonEmpty) {
550
557
  const arrays = values.filter(Array.isArray);
551
- const objects = values.filter((value) => value !== null && typeof value === "object" && !Array.isArray(value));
558
+ const objects = values.filter(
559
+ (value) => value !== null && typeof value === "object" && !Array.isArray(value)
560
+ );
552
561
  const structural = arrays.length + objects.length;
553
562
  if (structural > 0 && structural >= values.length - structural) {
554
563
  if (arrays.length > objects.length) {
@@ -633,7 +642,7 @@ function isStrongDateTime(value) {
633
642
  }
634
643
 
635
644
  // src/commands/data-integration/input.ts
636
- var XLSX = XLSXMod.default ?? XLSXMod;
645
+ set_fs(nodeFs);
637
646
  function resolveLocalDataInputMeta(filePath) {
638
647
  let format = resolveFormat(filePath);
639
648
  let delimiter;
@@ -919,7 +928,7 @@ async function discoverDataSets(filePath, format) {
919
928
  return { visible: [{ id: "$", kind: "file", label: basename(filePath), selector: "$" }], hidden: [] };
920
929
  }
921
930
  if (format === "xls") {
922
- const workbook = XLSX.readFile(filePath, { dense: true });
931
+ const workbook = readFileSync(filePath, { dense: true });
923
932
  return {
924
933
  visible: workbook.SheetNames.map((name) => ({ id: `sheet:${name}`, kind: "sheet", label: name, selector: name })),
925
934
  hidden: []
@@ -1055,9 +1064,9 @@ async function streamJsonLines(filePath, onRow, options) {
1055
1064
  async function streamJson(filePath, selector, onRow, options) {
1056
1065
  let count = 0;
1057
1066
  const parser = createJsonParser();
1058
- const streamer = selector === "$object" ? StreamValues.streamValues() : StreamArray.streamArray();
1067
+ const streamer = selector === "$object" ? streamValues.asStream() : streamArray.asStream();
1059
1068
  const source = decodeTextStream(filePath, options.encoding ?? "utf-8");
1060
- const chain = selector === "$" || selector === "$object" ? source.pipe(parser).pipe(streamer) : source.pipe(parser).pipe(Pick.pick({ filter: selector })).pipe(streamer);
1069
+ const chain = selector === "$" || selector === "$object" ? source.pipe(parser).pipe(streamer) : source.pipe(parser).pipe(pick.asStream({ filter: selector })).pipe(streamer);
1061
1070
  for await (const item of chain) {
1062
1071
  count += 1;
1063
1072
  await onRow(flattenLocalDataRow(item.value, options.flattenRules, options.flattenMisses), count);
@@ -1222,10 +1231,10 @@ async function readExcelSheetHeaders(filePath, format) {
1222
1231
  return format === "xls" ? readXlsSheetHeaders(filePath) : readXlsxSheetHeaders(filePath);
1223
1232
  }
1224
1233
  function readXlsSheetHeaders(filePath) {
1225
- const workbook = XLSX.readFile(filePath, { dense: true });
1234
+ const workbook = readFileSync(filePath, { dense: true });
1226
1235
  return workbook.SheetNames.map((name) => {
1227
1236
  const sheet = workbook.Sheets[name];
1228
- const rows = sheet ? XLSX.utils.sheet_to_json(sheet, { header: 1, raw: true, defval: null }) : [];
1237
+ const rows = sheet ? utils.sheet_to_json(sheet, { header: 1, raw: true, defval: null }) : [];
1229
1238
  return { name, headers: firstRowHeaders(rows[0] ?? []) };
1230
1239
  });
1231
1240
  }
@@ -1487,7 +1496,7 @@ function decodeXml(source) {
1487
1496
  return source.replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&");
1488
1497
  }
1489
1498
  async function streamXls(filePath, sheetName, onRow, options) {
1490
- const workbook = XLSX.readFile(filePath, { cellDates: true, dense: true });
1499
+ const workbook = readFileSync(filePath, { cellDates: true, dense: true });
1491
1500
  const names = options.mergeSheets ? workbook.SheetNames : workbook.SheetNames.includes(sheetName) ? [sheetName] : [];
1492
1501
  if (names.length === 0) {
1493
1502
  throw new CliValidationError("The requested Excel Sheet was not found.", { code: "LOCAL_DATA_SET_NOT_FOUND" });
@@ -1497,7 +1506,7 @@ async function streamXls(filePath, sheetName, onRow, options) {
1497
1506
  for (const name of names) {
1498
1507
  const sheet = workbook.Sheets[name];
1499
1508
  if (!sheet) continue;
1500
- const allRows = XLSX.utils.sheet_to_json(sheet, { header: 1, raw: true, defval: null });
1509
+ const allRows = utils.sheet_to_json(sheet, { header: 1, raw: true, defval: null });
1501
1510
  const rows = allRows.slice(skipRows);
1502
1511
  if (rows.length === 0) continue;
1503
1512
  let headers = options.headerNames;
@@ -1676,7 +1685,7 @@ async function firstNonWhitespaceCharacter(filePath, encoding) {
1676
1685
  }
1677
1686
 
1678
1687
  // src/commands/data-integration/mapping.ts
1679
- import { readFileSync } from "fs";
1688
+ import { readFileSync as readFileSync2 } from "fs";
1680
1689
 
1681
1690
  // src/commands/data-integration/types.ts
1682
1691
  var MAPPING_VERSION = "ae-data-integration-mapping/v1";
@@ -1697,7 +1706,7 @@ function readLocalDataMapping(raw, options) {
1697
1706
  text = trimmed;
1698
1707
  } else {
1699
1708
  const filePath = trimmed.startsWith("@") ? trimmed.slice(1) : trimmed;
1700
- text = readFileSync(filePath, "utf8");
1709
+ text = readFileSync2(filePath, "utf8");
1701
1710
  }
1702
1711
  } catch {
1703
1712
  throw new CliValidationError("The local-data mapping could not be read.", {
@@ -3322,7 +3331,7 @@ import {
3322
3331
  existsSync,
3323
3332
  mkdirSync,
3324
3333
  readdirSync,
3325
- readFileSync as readFileSync2,
3334
+ readFileSync as readFileSync3,
3326
3335
  renameSync,
3327
3336
  statSync as statSync2,
3328
3337
  unlinkSync,
@@ -3690,7 +3699,7 @@ function readZoneOffset(row, field) {
3690
3699
  function readSalvageRowNumbers(path) {
3691
3700
  let text;
3692
3701
  try {
3693
- text = readFileSync2(path, "utf8");
3702
+ text = readFileSync3(path, "utf8");
3694
3703
  } catch {
3695
3704
  throw new CliValidationError("The salvage file could not be read.", {
3696
3705
  code: "LOCAL_DATA_SALVAGE_INVALID",
@@ -3712,13 +3721,14 @@ function readSalvageRowNumbers(path) {
3712
3721
  location: { field: "salvage-from", record: lineNumber }
3713
3722
  });
3714
3723
  }
3715
- if (typeof value !== "object" || value === null || Array.isArray(value) || !Number.isInteger(value.row_number) || value.row_number <= 0) {
3724
+ const rowNumber = typeof value === "object" && value !== null && !Array.isArray(value) ? value.row_number : void 0;
3725
+ if (typeof rowNumber !== "number" || !Number.isInteger(rowNumber) || rowNumber <= 0) {
3716
3726
  throw new CliValidationError("The salvage file is not an invalid.rows.jsonl quarantine file.", {
3717
3727
  code: "LOCAL_DATA_SALVAGE_INVALID",
3718
3728
  location: { field: "salvage-from", record: lineNumber }
3719
3729
  });
3720
3730
  }
3721
- rows.add(value.row_number);
3731
+ rows.add(rowNumber);
3722
3732
  }
3723
3733
  if (rows.size === 0) {
3724
3734
  throw new CliValidationError("The salvage file contains no rows.", {
@@ -4091,7 +4101,7 @@ var dataIntegrationConvert = {
4091
4101
  };
4092
4102
 
4093
4103
  // src/commands/data-integration/upload.ts
4094
- import { createReadStream as createReadStream4, readFileSync as readFileSync3, statSync as statSync3 } from "fs";
4104
+ import { createReadStream as createReadStream4, readFileSync as readFileSync4, statSync as statSync3 } from "fs";
4095
4105
  import { basename as basename5, dirname, resolve as resolve2 } from "path";
4096
4106
  import { createInterface as createInterface3 } from "readline";
4097
4107
  var DEFAULT_BATCH_SIZE = 500;
@@ -4325,7 +4335,7 @@ async function prepareUpload(ctx, enforceReady) {
4325
4335
  function readManifest(path) {
4326
4336
  let value;
4327
4337
  try {
4328
- value = JSON.parse(readFileSync3(path, "utf8"));
4338
+ value = JSON.parse(readFileSync4(path, "utf8"));
4329
4339
  } catch {
4330
4340
  throw new CliValidationError("The local-data manifest could not be read as JSON.", {
4331
4341
  code: "LOCAL_DATA_MANIFEST_INVALID",
@@ -4437,18 +4447,18 @@ function isRecord3(value) {
4437
4447
 
4438
4448
  // src/commands/data-integration/handoff.ts
4439
4449
  import { createHash as createHash3 } from "crypto";
4440
- import { chmodSync as chmodSync2, mkdirSync as mkdirSync2, mkdtempSync, readFileSync as readFileSync4, renameSync as renameSync2, rmSync, writeFileSync as writeFileSync2 } from "fs";
4450
+ import { chmodSync as chmodSync2, mkdirSync as mkdirSync2, mkdtempSync, readFileSync as readFileSync5, renameSync as renameSync2, rmSync, writeFileSync as writeFileSync2 } from "fs";
4441
4451
  import { dirname as dirname2, join as join3, resolve as resolve3 } from "path";
4442
4452
  import { tmpdir } from "os";
4443
4453
 
4444
4454
  // src/commands/data-integration/archive.ts
4445
- import archiver from "archiver";
4455
+ var import_archiver = __toESM(require_archiver(), 1);
4446
4456
  import { createWriteStream as createWriteStream2, readdirSync as readdirSync2, statSync as statSync4 } from "fs";
4447
4457
  import { join as join2, relative, sep } from "path";
4448
4458
  async function zipPackage(dir, zipPath) {
4449
4459
  await new Promise((resolvePromise, rejectPromise) => {
4450
4460
  const output = createWriteStream2(zipPath, { mode: 384 });
4451
- const zip = archiver("zip", { zlib: { level: 9 } });
4461
+ const zip = (0, import_archiver.default)("zip", { zlib: { level: 9 } });
4452
4462
  output.on("close", resolvePromise);
4453
4463
  output.on("error", rejectPromise);
4454
4464
  zip.on("error", rejectPromise);
@@ -5369,7 +5379,7 @@ function buildHandoffPackage(outDir, mapping, planFile) {
5369
5379
  function readHandoffIndex(path) {
5370
5380
  let raw;
5371
5381
  try {
5372
- raw = readFileSync4(path, "utf8");
5382
+ raw = readFileSync5(path, "utf8");
5373
5383
  } catch {
5374
5384
  return { version: HANDOFF_INDEX_VERSION, entries: [] };
5375
5385
  }
@@ -5393,7 +5403,7 @@ function readHandoffIndex(path) {
5393
5403
  function readPlanFile(path) {
5394
5404
  let raw;
5395
5405
  try {
5396
- raw = readFileSync4(path, "utf8");
5406
+ raw = readFileSync5(path, "utf8");
5397
5407
  } catch {
5398
5408
  throw new CliValidationError("The tracking-plan file could not be read.", {
5399
5409
  code: "LOCAL_DATA_HANDOFF_PLAN_NOT_FOUND",
@@ -5485,7 +5495,7 @@ var dataIntegrationHandoff = {
5485
5495
  index_file: join3(outDir, "index.json"),
5486
5496
  pipeline_file: join3(outDir, "pipeline.json"),
5487
5497
  shape_file: join3(outDir, "shape.json"),
5488
- zip_path: zipPathFor(outDir, fingerprints[0])
5498
+ zip_path: fingerprints[0] ? zipPathFor(outDir, fingerprints[0]) : void 0
5489
5499
  };
5490
5500
  },
5491
5501
  execute: async (ctx) => {
@@ -5541,7 +5551,6 @@ var dataIntegrationHandoff = {
5541
5551
  }
5542
5552
  };
5543
5553
  function zipPathFor(outDir, fingerprint) {
5544
- if (!fingerprint) return void 0;
5545
5554
  return join3(dirname2(resolve3(outDir)), `ae-data-integration-handoff-${fingerprint.slice(0, 8)}.zip`);
5546
5555
  }
5547
5556
  var RELAY_FILE_PATHS = [
@@ -5602,7 +5611,7 @@ function stageScopedPackage(outDir, mappingDirs, entries, relayFiles) {
5602
5611
  for (const rel of mappingDirFiles(dirName, planFile)) {
5603
5612
  const dest = join3(staging, rel);
5604
5613
  mkdirSync2(dirname2(dest), { recursive: true, mode: 448 });
5605
- writeFileSync2(dest, readFileSync4(join3(outDir, rel), "utf8"), { encoding: "utf8", mode: 384 });
5614
+ writeFileSync2(dest, readFileSync5(join3(outDir, rel), "utf8"), { encoding: "utf8", mode: 384 });
5606
5615
  chmodSync2(dest, 384);
5607
5616
  }
5608
5617
  }
@@ -5610,7 +5619,7 @@ function stageScopedPackage(outDir, mappingDirs, entries, relayFiles) {
5610
5619
  }
5611
5620
 
5612
5621
  // src/commands/data-integration/reuse.ts
5613
- import { readFileSync as readFileSync5 } from "fs";
5622
+ import { readFileSync as readFileSync6 } from "fs";
5614
5623
  import { dirname as dirname4, join as join5, resolve as resolve5 } from "path";
5615
5624
 
5616
5625
  // src/commands/data-integration/handoff-root.ts
@@ -5669,7 +5678,7 @@ function detectReuse(mapping, outDir) {
5669
5678
  function readFrozenEventName(path) {
5670
5679
  let value;
5671
5680
  try {
5672
- value = JSON.parse(readFileSync5(path, "utf8"));
5681
+ value = JSON.parse(readFileSync6(path, "utf8"));
5673
5682
  } catch {
5674
5683
  return {};
5675
5684
  }
package/dist/index.js CHANGED
@@ -7,53 +7,58 @@ import {
7
7
  extractErrors,
8
8
  fixDraft,
9
9
  getPackageRoot,
10
+ readFileSync,
11
+ set_fs,
10
12
  t,
13
+ utils,
11
14
  validateAndFix,
12
15
  validateDraft,
13
16
  writeDraftXlsx
14
- } from "./chunk-LNZBEQXW.js";
17
+ } from "./chunk-4NRCTUZJ.js";
15
18
  import {
16
19
  getLocalCliPackageInfo
17
20
  } from "./chunk-E2JKXMVO.js";
18
21
  import {
19
22
  requiresConfirmation
20
23
  } from "./chunk-AMBFK2K3.js";
21
- import "./chunk-I4WQAEYB.js";
24
+ import "./chunk-DVMLWQD4.js";
25
+ import "./chunk-EQ255HKO.js";
26
+ import "./chunk-V2NUHPXF.js";
22
27
  import {
23
28
  TeAgentApiError,
24
29
  TeAgentCredentialsError
25
- } from "./chunk-BBEFP4SB.js";
30
+ } from "./chunk-HBGADCKA.js";
26
31
  import {
27
32
  CapabilityGatewayError,
28
33
  executeCapability,
29
34
  uploadInputFileBytes
30
- } from "./chunk-QJQZH5GQ.js";
35
+ } from "./chunk-HFGZGYCG.js";
31
36
  import {
32
37
  resolveHost
33
- } from "./chunk-ECBLHAZO.js";
38
+ } from "./chunk-JOCDD4ON.js";
34
39
  import {
35
40
  formatCapabilityMissCompatHint,
36
41
  printError,
37
42
  printOutput,
38
43
  runHostCompatCheck
39
- } from "./chunk-CZU3V3DQ.js";
44
+ } from "./chunk-DX5CDO34.js";
40
45
  import "./chunk-Y74WTIKJ.js";
41
46
  import {
42
47
  SecureStoreAuthError,
43
48
  getCliToken
44
- } from "./chunk-ATSM5XAW.js";
49
+ } from "./chunk-7XGFSUOM.js";
45
50
  import {
46
51
  getActiveHost,
47
52
  getConfigDir,
48
53
  safeJsonParse
49
- } from "./chunk-WZ6YVQSF.js";
54
+ } from "./chunk-7FTTULED.js";
50
55
  import {
51
56
  CliValidationError,
52
57
  CommunityReportError,
53
58
  LocalDataUploadError,
54
59
  PermissionError,
55
60
  logger
56
- } from "./chunk-4P355ZWB.js";
61
+ } from "./chunk-MAPZ7VB6.js";
57
62
 
58
63
  // src/index.ts
59
64
  import { Command as CommanderCommand } from "commander";
@@ -208,7 +213,7 @@ async function runCommand(cmd, opts, globalOpts) {
208
213
  await ctx.out(result);
209
214
  } catch (err) {
210
215
  if (err?.type === "validation" && typeof err?.hint === "string" && String(err.message || "").includes("--jq")) {
211
- printError("validation", err.message, err.hint);
216
+ printError("validation", err.message, err.hint, err.code);
212
217
  process.exit(1);
213
218
  }
214
219
  const message = err.message || String(err);
@@ -228,7 +233,7 @@ async function runCommand(cmd, opts, globalOpts) {
228
233
  } else if (err instanceof PermissionError) {
229
234
  printError("permission", message, err.hint, err.code);
230
235
  } else if (err instanceof CapabilityGatewayError) {
231
- printError("api", message, err.hint ?? capabilityGatewayHint(err), err.code, err.meta);
236
+ printError(err.type, message, err.hint ?? capabilityGatewayHint(err), err.code, err.meta);
232
237
  } else if (err instanceof CommunityReportError) {
233
238
  printError("api", message, err.hint, err.code, err.meta, { log: false });
234
239
  } else if (err instanceof LocalDataUploadError) {
@@ -297,14 +302,14 @@ function createRuntimeContext(cmd, opts, globalOpts) {
297
302
  let _communityReportModule = null;
298
303
  async function getCommunityReportClient() {
299
304
  if (!_communityReportModule) {
300
- _communityReportModule = await import("./community-report-client-XXWGSBSD.js");
305
+ _communityReportModule = await import("./community-report-client-CU22W53K.js");
301
306
  }
302
307
  return _communityReportModule;
303
308
  }
304
309
  let _localDataUploadModule = null;
305
310
  async function getLocalDataUploadClient() {
306
311
  if (!_localDataUploadModule) {
307
- _localDataUploadModule = await import("./local-data-upload-client-KYOKVYZV.js");
312
+ _localDataUploadModule = await import("./local-data-upload-client-GTRIT64F.js");
308
313
  }
309
314
  return _localDataUploadModule;
310
315
  }
@@ -1114,7 +1119,8 @@ async function resolveTrackingTemplateByName(name) {
1114
1119
  import { existsSync as existsSync2, statSync } from "fs";
1115
1120
  var HOST_OPTION_DESC = "Override active AE host URL";
1116
1121
  function resolveTrackingHost(program2, opts) {
1117
- const root = program2.root ?? program2;
1122
+ let root = program2;
1123
+ while (root.parent) root = root.parent;
1118
1124
  const globalHost = root.opts()?.host;
1119
1125
  const explicitHost = opts.host || globalHost;
1120
1126
  const host = resolveHost(explicitHost);
@@ -1494,11 +1500,11 @@ async function detectProject(cwd) {
1494
1500
  }
1495
1501
 
1496
1502
  // src/tracking/xlsx/read.ts
1497
- import XLSXMod from "xlsx";
1503
+ import * as nodeFs from "fs";
1498
1504
  import path3 from "path";
1499
- var XLSX = XLSXMod.default ?? XLSXMod;
1505
+ set_fs(nodeFs);
1500
1506
  var VALID_PROP_TYPES = /* @__PURE__ */ new Set(["string", "number", "bool", "datetime", "object", "array_row", "array_string"]);
1501
- var VALID_UPDATE_TYPES = /* @__PURE__ */ new Set(["user_set", "user_setOnce", "user_add"]);
1507
+ var VALID_UPDATE_TYPES = /* @__PURE__ */ new Set(["user_set", "user_setOnce", "user_add", "user_append"]);
1502
1508
  function normalizeHeader(h) {
1503
1509
  return h.trim().replace(/[((]\s*(?:必填|必須|필수|required|Required)\s*[))]/g, "").trim().replace(/名称$/g, "\u540D");
1504
1510
  }
@@ -1801,7 +1807,7 @@ function fillDownMergedCells(rows, merges) {
1801
1807
  async function readTemplateXlsx(filePath) {
1802
1808
  let wb;
1803
1809
  try {
1804
- wb = XLSX.readFile(filePath);
1810
+ wb = readFileSync(filePath);
1805
1811
  } catch (err) {
1806
1812
  throw new Error(t("error.xlsx_read_failed", { path: filePath, error: String(err) }));
1807
1813
  }
@@ -1815,7 +1821,7 @@ async function readTemplateXlsx(filePath) {
1815
1821
  if (!sName.startsWith("#")) continue;
1816
1822
  if (allSheetNames("user_id").includes(sName)) continue;
1817
1823
  const ws = wb.Sheets[sName];
1818
- const rows = XLSX.utils.sheet_to_json(ws, {
1824
+ const rows = utils.sheet_to_json(ws, {
1819
1825
  header: 1,
1820
1826
  raw: false,
1821
1827
  defval: null
@@ -1875,7 +1881,7 @@ function findCol(colIndex, candidates, fallback) {
1875
1881
  }
1876
1882
  return fallback;
1877
1883
  }
1878
- var VALID_UPDATE_TYPES2 = /* @__PURE__ */ new Set(["user_set", "user_setOnce", "user_add"]);
1884
+ var VALID_UPDATE_TYPES2 = /* @__PURE__ */ new Set(["user_set", "user_setOnce", "user_add", "user_append"]);
1879
1885
  function parseType(raw) {
1880
1886
  const canonical = displayToType(raw);
1881
1887
  if (canonical) return canonical;
@@ -2165,13 +2171,13 @@ function registerCode(cmd) {
2165
2171
  }
2166
2172
 
2167
2173
  // src/tracking/wiki-query/query.ts
2168
- import { readFileSync, existsSync as existsSync4 } from "fs";
2174
+ import { readFileSync as readFileSync2, existsSync as existsSync4 } from "fs";
2169
2175
  import { join as join2 } from "path";
2170
2176
  var WIKI_ROOT = join2(getPackageRoot(), "wiki/te-docs");
2171
2177
  function searchIndex(keyword) {
2172
2178
  const indexPath = join2(WIKI_ROOT, "index.md");
2173
2179
  if (!existsSync4(indexPath)) return [];
2174
- const lines = readFileSync(indexPath, "utf8").split("\n");
2180
+ const lines = readFileSync2(indexPath, "utf8").split("\n");
2175
2181
  const kw = keyword.toLowerCase();
2176
2182
  const hits = [];
2177
2183
  for (const line of lines) {
@@ -2323,120 +2329,151 @@ program.name("ae-cli").version(version).description("CLI tool for ThinkingAI (AE
2323
2329
  "Optional: pre-execution preview without business logic (gateway /dry-run; other transports preview). Use alone to confirm a run; do not stack with --validate",
2324
2330
  false
2325
2331
  ).option("--yes", "Skip confirmation for high-risk write operations", false).option("--no-update-check", "Skip host compatibility checks", false);
2332
+ function warnLoadFailure(label, err) {
2333
+ const reason = err instanceof Error ? err.message : String(err);
2334
+ process.stderr.write(`warning: failed to load ${label}: ${reason}
2335
+ `);
2336
+ }
2326
2337
  async function loadCommands() {
2327
2338
  const commands = [];
2328
2339
  try {
2329
- const teAnalysis = await import("./te-analysis-3YJAAT2D.js");
2340
+ const teAnalysis = await import("./te-analysis-AISWCOOZ.js");
2330
2341
  commands.push(...teAnalysis.default);
2331
- } catch {
2342
+ } catch (err) {
2343
+ warnLoadFailure("domain te-analysis", err);
2332
2344
  }
2333
2345
  try {
2334
- const engage = await import("./te-engage-4XG6OJML.js");
2346
+ const engage = await import("./te-engage-BAM3GBFX.js");
2335
2347
  commands.push(...engage.default);
2336
- } catch {
2348
+ } catch (err) {
2349
+ warnLoadFailure("domain te-engage", err);
2337
2350
  }
2338
2351
  try {
2339
- const experiment = await import("./te-experiment-VXUWPINJ.js");
2352
+ const experiment = await import("./te-experiment-GUTZXZ5Z.js");
2340
2353
  commands.push(...experiment.default);
2341
- } catch {
2354
+ } catch (err) {
2355
+ warnLoadFailure("domain te-experiment", err);
2342
2356
  }
2343
2357
  try {
2344
- const community = await import("./te-community-UDBI672N.js");
2358
+ const community = await import("./te-community-4OYU3BDA.js");
2345
2359
  commands.push(...community.default);
2346
- } catch {
2360
+ } catch (err) {
2361
+ warnLoadFailure("domain te-community", err);
2347
2362
  }
2348
2363
  try {
2349
- const dataops = await import("./te-dataops-ZLYOCXZ4.js");
2364
+ const dataops = await import("./te-dataops-NFIPB6FX.js");
2350
2365
  commands.push(...dataops.default);
2351
- } catch {
2366
+ } catch (err) {
2367
+ warnLoadFailure("domain te-dataops", err);
2352
2368
  }
2353
2369
  try {
2354
- const teKb = await import("./te-kb-WYQWHFSC.js");
2370
+ const teKb = await import("./te-kb-3TS73NO6.js");
2355
2371
  commands.push(...teKb.default);
2356
- } catch {
2372
+ } catch (err) {
2373
+ warnLoadFailure("domain te-kb", err);
2357
2374
  }
2358
2375
  try {
2359
- const teTeam = await import("./te-team-E7FBBXMQ.js");
2376
+ const teTeam = await import("./te-team-3I5AOX3N.js");
2360
2377
  commands.push(...teTeam.default);
2361
- } catch {
2378
+ } catch (err) {
2379
+ warnLoadFailure("domain te-team", err);
2362
2380
  }
2363
2381
  try {
2364
- const teAgent = await import("./te-agent-JB5T3PO7.js");
2382
+ const teAgent = await import("./te-agent-K5MSPNHJ.js");
2365
2383
  commands.push(...teAgent.default);
2366
- } catch {
2384
+ } catch (err) {
2385
+ warnLoadFailure("domain te-agent", err);
2367
2386
  }
2368
2387
  try {
2369
- const memory = await import("./memory-ATNKZNW5.js");
2388
+ const memory = await import("./memory-QGPSNCQS.js");
2370
2389
  commands.push(...memory.default);
2371
- } catch {
2390
+ } catch (err) {
2391
+ warnLoadFailure("domain memory", err);
2372
2392
  }
2373
2393
  try {
2374
- const teSystem = await import("./te-system-7G6F2LJA.js");
2394
+ const teSystem = await import("./te-system-STMHLS5J.js");
2375
2395
  commands.push(...teSystem.default);
2376
- } catch {
2396
+ } catch (err) {
2397
+ warnLoadFailure("domain te-system", err);
2377
2398
  }
2378
2399
  try {
2379
- const metadata = await import("./metadata-VZVC7YMH.js");
2400
+ const metadata = await import("./metadata-DI5BMYFU.js");
2380
2401
  commands.push(...metadata.default);
2381
- } catch {
2402
+ } catch (err) {
2403
+ warnLoadFailure("domain metadata", err);
2382
2404
  }
2383
2405
  try {
2384
- const projectSemantic = await import("./project-semantic-2SZP2OPO.js");
2385
- commands.push(...projectSemantic.default);
2386
- } catch {
2406
+ const personalSemanticPreference = await import("./personal-semantic-preference-5C3WUXFI.js");
2407
+ commands.push(...personalSemanticPreference.default);
2408
+ } catch (err) {
2409
+ warnLoadFailure("domain personal-semantic-preference", err);
2387
2410
  }
2388
2411
  try {
2389
- const personalSemanticPreference = await import("./personal-semantic-preference-7S2SQ3UV.js");
2390
- commands.push(...personalSemanticPreference.default);
2391
- } catch {
2412
+ const projectSemantic = await import("./project-semantic-3LF6Q6JZ.js");
2413
+ commands.push(...projectSemantic.default);
2414
+ } catch (err) {
2415
+ warnLoadFailure("domain project-semantic", err);
2392
2416
  }
2393
2417
  try {
2394
- const dataIntegration = await import("./data-integration-4NZ53OMT.js");
2418
+ const dataIntegration = await import("./data-integration-HNGUKFIC.js");
2395
2419
  commands.push(...dataIntegration.default);
2396
- } catch {
2420
+ } catch (err) {
2421
+ warnLoadFailure("domain data-integration", err);
2422
+ }
2423
+ try {
2424
+ const context = await import("./context-IFJI3LIT.js");
2425
+ commands.push(...context.default);
2426
+ } catch (err) {
2427
+ warnLoadFailure("domain context", err);
2397
2428
  }
2398
2429
  return commands;
2399
2430
  }
2400
2431
  async function registerAuthCommands() {
2401
2432
  try {
2402
- const { registerAuth } = await import("./auth-FUM37MHF.js");
2433
+ const { registerAuth } = await import("./auth-XZNXFRJS.js");
2403
2434
  registerAuth(program);
2404
- } catch {
2435
+ } catch (err) {
2436
+ warnLoadFailure("auth commands", err);
2405
2437
  }
2406
2438
  }
2407
2439
  async function registerConfigCommands() {
2408
2440
  try {
2409
- const { registerConfig } = await import("./config-EXUGQN5T.js");
2441
+ const { registerConfig } = await import("./config-XO3LI3SA.js");
2410
2442
  registerConfig(program);
2411
- } catch {
2443
+ } catch (err) {
2444
+ warnLoadFailure("config commands", err);
2412
2445
  }
2413
2446
  }
2414
2447
  async function registerCapabilityCommands() {
2415
2448
  try {
2416
- const { registerCapability } = await import("./capability-AXFQW5WM.js");
2449
+ const { registerCapability } = await import("./capability-FYTU3X6L.js");
2417
2450
  registerCapability(program);
2418
- } catch {
2451
+ } catch (err) {
2452
+ warnLoadFailure("capability commands", err);
2419
2453
  }
2420
2454
  }
2421
2455
  async function registerSyncCommand() {
2422
2456
  try {
2423
- const { registerSync } = await import("./sync-YV3E66IF.js");
2457
+ const { registerSync } = await import("./sync-O45NXEQY.js");
2424
2458
  registerSync(program);
2425
- } catch {
2459
+ } catch (err) {
2460
+ warnLoadFailure("sync commands", err);
2426
2461
  }
2427
2462
  }
2428
2463
  async function registerModelCommand() {
2429
2464
  try {
2430
- const { registerModel } = await import("./model-E4JMQ4V2.js");
2465
+ const { registerModel } = await import("./model-RNPQXIBI.js");
2431
2466
  registerModel(program);
2432
- } catch {
2467
+ } catch (err) {
2468
+ warnLoadFailure("model commands", err);
2433
2469
  }
2434
2470
  }
2435
2471
  async function registerUpdateCommand() {
2436
2472
  try {
2437
- const { registerUpdate } = await import("./update-D47BUG25.js");
2473
+ const { registerUpdate } = await import("./update-RZXLPCRH.js");
2438
2474
  registerUpdate(program);
2439
- } catch {
2475
+ } catch (err) {
2476
+ warnLoadFailure("update commands", err);
2440
2477
  }
2441
2478
  }
2442
2479
  async function main() {
@@ -2,7 +2,7 @@ import { createRequire as __createRequire } from 'node:module'; const require =
2
2
  import {
3
3
  LocalDataUploadError,
4
4
  logger
5
- } from "./chunk-4P355ZWB.js";
5
+ } from "./chunk-MAPZ7VB6.js";
6
6
 
7
7
  // src/core/local-data-upload-client.ts
8
8
  import { createHash } from "crypto";
@@ -36,6 +36,7 @@ async function performAttempt(endpoint, body, options) {
36
36
  let response;
37
37
  let responseText = "";
38
38
  try {
39
+ const requestBody = typeof body === "string" ? body : Uint8Array.from(body).buffer;
39
40
  response = await fetchImpl(endpoint, {
40
41
  method: "POST",
41
42
  headers: {
@@ -43,7 +44,7 @@ async function performAttempt(endpoint, body, options) {
43
44
  "Accept": "application/json",
44
45
  ...compress ? { "Content-Encoding": "gzip" } : {}
45
46
  },
46
- body,
47
+ body: requestBody,
47
48
  redirect: "manual",
48
49
  signal: controller.signal
49
50
  });