@thinkingai/ae-cli 6.1.19 → 6.1.21

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/README.md +96 -38
  2. package/README.zh.md +96 -38
  3. package/dist/{auth-QPEVVBKT.js → auth-XZNXFRJS.js} +236 -127
  4. package/dist/{capability-ASI62I4A.js → capability-FYTU3X6L.js} +80 -37
  5. package/dist/{chunk-QL6R6TSK.js → chunk-4NRCTUZJ.js} +27045 -477
  6. package/dist/{chunk-JYMGHGCE.js → chunk-57RRFUEZ.js} +42 -15
  7. package/dist/chunk-6ZIQV5GW.js +26 -0
  8. package/dist/{chunk-KZ6ZHF5J.js → chunk-7FTTULED.js} +14 -14
  9. package/dist/chunk-7XGFSUOM.js +623 -0
  10. package/dist/chunk-CCS66K4K.js +155 -0
  11. package/dist/{chunk-B5HMQAOM.js → chunk-DVMLWQD4.js} +8 -186
  12. package/dist/{chunk-KEWVSO64.js → chunk-DX5CDO34.js} +28 -18
  13. package/dist/chunk-EQ255HKO.js +38248 -0
  14. package/dist/{chunk-6QK7SYYY.js → chunk-HBGADCKA.js} +29 -37
  15. package/dist/{chunk-GJXRF7Y6.js → chunk-HFGZGYCG.js} +54 -81
  16. package/dist/chunk-JOCDD4ON.js +15 -0
  17. package/dist/{chunk-TKHSULJT.js → chunk-KPQY44JQ.js} +6 -0
  18. package/dist/{chunk-FR2EDAQM.js → chunk-MAPZ7VB6.js} +90 -2
  19. package/dist/chunk-V2NUHPXF.js +196 -0
  20. package/dist/{chunk-S5PONFBM.js → chunk-VYXXOKYS.js} +9 -9
  21. package/dist/{community-report-client-6OL6GBQW.js → community-report-client-CU22W53K.js} +2 -4
  22. package/dist/{config-XNMACCKX.js → config-XO3LI3SA.js} +8 -9
  23. package/dist/context-IFJI3LIT.js +46 -0
  24. package/dist/{data-integration-4NZGZ45E.js → data-integration-HNGUKFIC.js} +55 -44
  25. package/dist/index.js +122 -112
  26. package/dist/{local-data-upload-client-EFHDLXFG.js → local-data-upload-client-GTRIT64F.js} +4 -5
  27. package/dist/{memory-HBJQ2GC5.js → memory-QGPSNCQS.js} +4 -6
  28. package/dist/{metadata-62EWBEIG.js → metadata-DI5BMYFU.js} +8 -10
  29. package/dist/{model-BHLJ2QMT.js → model-RNPQXIBI.js} +4 -6
  30. package/dist/{personal-semantic-preference-JBVMAI7L.js → personal-semantic-preference-5C3WUXFI.js} +11 -10
  31. package/dist/{project-semantic-BQ4MPUS5.js → project-semantic-3LF6Q6JZ.js} +29 -25
  32. package/dist/{sync-MUWPRM5I.js → sync-O45NXEQY.js} +7 -8
  33. package/dist/{te-agent-WQZTMEK4.js → te-agent-K5MSPNHJ.js} +393 -90
  34. package/dist/{te-analysis-MNCG65LU.js → te-analysis-AISWCOOZ.js} +1175 -377
  35. package/dist/{te-community-BNE6KREL.js → te-community-4OYU3BDA.js} +10 -33
  36. package/dist/{te-dataops-TXLKM2W6.js → te-dataops-NFIPB6FX.js} +19 -20
  37. package/dist/{te-engage-TPKLRVTL.js → te-engage-BAM3GBFX.js} +13 -15
  38. package/dist/{te-experiment-6BYKTCY7.js → te-experiment-GUTZXZ5Z.js} +132 -16
  39. package/dist/te-kb-3TS73NO6.js +1992 -0
  40. package/dist/{te-system-44LZJDTQ.js → te-system-STMHLS5J.js} +12 -9
  41. package/dist/{te-team-XMP47YXE.js → te-team-3I5AOX3N.js} +6 -8
  42. package/dist/{update-UODFOZ4P.js → update-RZXLPCRH.js} +7 -8
  43. package/package.json +29 -19
  44. package/skills/ae-agent/SKILL.md +30 -13
  45. package/skills/ae-agent/references/agent-distribution.md +94 -0
  46. package/skills/ae-agent/references/approval-request.md +4 -0
  47. package/skills/ae-agent/references/command_index.md +9 -2
  48. package/skills/ae-agent/references/create-automation.md +20 -2
  49. package/skills/ae-agent/references/get-agent-context.md +70 -0
  50. package/skills/ae-agent/references/list-automations.md +18 -3
  51. package/skills/ae-agent/references/list-mcp-credentials.md +1 -1
  52. package/skills/ae-agent/references/mcp-token.md +3 -3
  53. package/skills/ae-agent/references/set-mcp-credential.md +0 -1
  54. package/skills/ae-agent/references/update-automation.md +18 -0
  55. package/skills/ae-analysis/SKILL.md +101 -79
  56. package/skills/ae-analysis/references/adhoc_export.md +11 -18
  57. package/skills/ae-analysis/references/adhoc_run.md +17 -7
  58. package/skills/ae-analysis/references/agent_review_detail.md +11 -0
  59. package/skills/ae-analysis/references/agent_review_evidence.md +46 -0
  60. package/skills/ae-analysis/references/agent_review_list.md +9 -0
  61. package/skills/ae-analysis/references/agent_review_preflight.md +96 -0
  62. package/skills/ae-analysis/references/agent_review_priorities_comparisons.md +76 -0
  63. package/skills/ae-analysis/references/agent_review_records.md +9 -0
  64. package/skills/ae-analysis/references/agent_review_retry.md +12 -0
  65. package/skills/ae-analysis/references/agent_review_review.md +16 -0
  66. package/skills/ae-analysis/references/agent_review_submit_to_page.md +184 -0
  67. package/skills/ae-analysis/references/ai_models/attribution.md +29 -0
  68. package/skills/ae-analysis/references/ai_models/distribution.md +40 -0
  69. package/skills/ae-analysis/references/ai_models/event.md +108 -0
  70. package/skills/ae-analysis/references/ai_models/funnel.md +46 -0
  71. package/skills/ae-analysis/references/ai_models/heat_map.md +26 -0
  72. package/skills/ae-analysis/references/ai_models/interval.md +20 -0
  73. package/skills/ae-analysis/references/ai_models/path.md +38 -0
  74. package/skills/ae-analysis/references/ai_models/prop_analysis.md +39 -0
  75. package/skills/ae-analysis/references/ai_models/rank_list.md +25 -0
  76. package/skills/ae-analysis/references/ai_models/retention.md +70 -0
  77. package/skills/ae-analysis/references/ai_models/revenue.md +28 -0
  78. package/skills/ae-analysis/references/ai_models/sql.md +74 -0
  79. package/skills/ae-analysis/references/ai_models/tag.md +19 -0
  80. package/skills/ae-analysis/references/ai_models.md +32 -453
  81. package/skills/ae-analysis/references/alert_create.md +7 -7
  82. package/skills/ae-analysis/references/alert_delete.md +4 -6
  83. package/skills/ae-analysis/references/alert_detail_list.md +7 -9
  84. package/skills/ae-analysis/references/alert_get.md +5 -7
  85. package/skills/ae-analysis/references/alert_job_list.md +4 -6
  86. package/skills/ae-analysis/references/alert_list.md +6 -8
  87. package/skills/ae-analysis/references/alert_notice_config_list.md +4 -6
  88. package/skills/ae-analysis/references/alert_start.md +5 -7
  89. package/skills/ae-analysis/references/alert_stop.md +5 -7
  90. package/skills/ae-analysis/references/alert_update.md +8 -8
  91. package/skills/ae-analysis/references/analysis_data_export.md +72 -0
  92. package/skills/ae-analysis/references/analysis_data_retrieval.md +32 -196
  93. package/skills/ae-analysis/references/analysis_gateway_assets.md +23 -180
  94. package/skills/ae-analysis/references/analysis_interpretation.md +37 -17
  95. package/skills/ae-analysis/references/asset_abnormal_get.md +0 -1
  96. package/skills/ae-analysis/references/asset_abnormal_list.md +0 -1
  97. package/skills/ae-analysis/references/asset_authentication_export.md +4 -0
  98. package/skills/ae-analysis/references/asset_authentication_list.md +7 -1
  99. package/skills/ae-analysis/references/asset_authentication_update.md +5 -1
  100. package/skills/ae-analysis/references/asset_batch_dashboard_schedule_freeze.md +8 -6
  101. package/skills/ae-analysis/references/asset_batch_delete.md +6 -6
  102. package/skills/ae-analysis/references/asset_batch_disable_auto_backup.md +4 -5
  103. package/skills/ae-analysis/references/asset_batch_disable_auto_update.md +5 -6
  104. package/skills/ae-analysis/references/asset_batch_handover.md +4 -5
  105. package/skills/ae-analysis/references/asset_batch_info_export.md +4 -5
  106. package/skills/ae-analysis/references/asset_batch_sql_export.md +5 -6
  107. package/skills/ae-analysis/references/asset_dependency_list.md +4 -5
  108. package/skills/ae-analysis/references/asset_export.md +4 -5
  109. package/skills/ae-analysis/references/asset_impact_list.md +5 -9
  110. package/skills/ae-analysis/references/asset_lineage_get.md +5 -6
  111. package/skills/ae-analysis/references/asset_list.md +4 -5
  112. package/skills/ae-analysis/references/asset_query_history_list.md +4 -8
  113. package/skills/ae-analysis/references/asset_recent_list.md +0 -1
  114. package/skills/ae-analysis/references/asset_search.md +12 -9
  115. package/skills/ae-analysis/references/asset_url_get.md +3 -4
  116. package/skills/ae-analysis/references/bi_panel_copy.md +2 -2
  117. package/skills/ae-analysis/references/bi_panel_page_data_export.md +4 -12
  118. package/skills/ae-analysis/references/bi_panel_page_data_run.md +2 -0
  119. package/skills/ae-analysis/references/catalog_export.md +4 -17
  120. package/skills/ae-analysis/references/catalog_list.md +4 -4
  121. package/skills/ae-analysis/references/check_delete.md +5 -7
  122. package/skills/ae-analysis/references/check_export.md +11 -11
  123. package/skills/ae-analysis/references/check_get.md +8 -10
  124. package/skills/ae-analysis/references/check_list.md +4 -6
  125. package/skills/ae-analysis/references/check_retry.md +8 -10
  126. package/skills/ae-analysis/references/check_run.md +2 -4
  127. package/skills/ae-analysis/references/command_index.md +46 -28
  128. package/skills/ae-analysis/references/cross_source_config.md +84 -0
  129. package/skills/ae-analysis/references/dashboard_report_data_export.md +5 -13
  130. package/skills/ae-analysis/references/dashboard_report_data_run.md +1 -1
  131. package/skills/ae-analysis/references/dashboard_update.md +15 -4
  132. package/skills/ae-analysis/references/datatable_columns_get.md +0 -1
  133. package/skills/ae-analysis/references/datatable_influence_list.md +0 -1
  134. package/skills/ae-analysis/references/datatable_version_get.md +0 -1
  135. package/skills/ae-analysis/references/datatable_version_list.md +0 -1
  136. package/skills/ae-analysis/references/debug_device_add.md +1 -2
  137. package/skills/ae-analysis/references/drilldown_entities_export.md +3 -3
  138. package/skills/ae-analysis/references/drilldown_events_export.md +3 -2
  139. package/skills/ae-analysis/references/drilldown_user_events_export.md +2 -2
  140. package/skills/ae-analysis/references/entity_detail_export.md +3 -2
  141. package/skills/ae-analysis/references/entity_detail_run.md +1 -0
  142. package/skills/ae-analysis/references/event_blacklist_add.md +5 -7
  143. package/skills/ae-analysis/references/event_blacklist_list.md +4 -6
  144. package/skills/ae-analysis/references/event_blacklist_update.md +6 -8
  145. package/skills/ae-analysis/references/event_changelog_list.md +0 -1
  146. package/skills/ae-analysis/references/event_create.md +0 -1
  147. package/skills/ae-analysis/references/event_detail_export.md +3 -2
  148. package/skills/ae-analysis/references/event_detail_run.md +1 -0
  149. package/skills/ae-analysis/references/event_export.md +0 -1
  150. package/skills/ae-analysis/references/event_get.md +0 -1
  151. package/skills/ae-analysis/references/event_hide_update.md +0 -1
  152. package/skills/ae-analysis/references/event_influence_list.md +0 -1
  153. package/skills/ae-analysis/references/event_list.md +0 -1
  154. package/skills/ae-analysis/references/event_property_bundle_export.md +5 -14
  155. package/skills/ae-analysis/references/event_property_bundle_import.md +2 -6
  156. package/skills/ae-analysis/references/event_relation_update.md +0 -1
  157. package/skills/ae-analysis/references/event_update.md +0 -1
  158. package/skills/ae-analysis/references/exchange_config_update.md +0 -1
  159. package/skills/ae-analysis/references/exchange_rate_refresh.md +0 -1
  160. package/skills/ae-analysis/references/exchange_rule_list.md +0 -1
  161. package/skills/ae-analysis/references/exchange_rule_update.md +0 -1
  162. package/skills/ae-analysis/references/exchange_rule_validate.md +0 -1
  163. package/skills/ae-analysis/references/governance_recommendation_decisions.md +23 -0
  164. package/skills/ae-analysis/references/governance_recommendation_export.md +108 -0
  165. package/skills/ae-analysis/references/governance_recommendation_submit.md +41 -0
  166. package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +4 -4
  167. package/skills/ae-analysis/references/history_tag_data_export.md +3 -3
  168. package/skills/ae-analysis/references/ingest_error_list.md +7 -9
  169. package/skills/ae-analysis/references/ingest_summary.md +6 -8
  170. package/skills/ae-analysis/references/live_data_export.md +10 -10
  171. package/skills/ae-analysis/references/live_data_list.md +7 -9
  172. package/skills/ae-analysis/references/metadata_resolution.md +78 -0
  173. package/skills/ae-analysis/references/metric_export.md +0 -1
  174. package/skills/ae-analysis/references/metric_get.md +0 -1
  175. package/skills/ae-analysis/references/metric_list.md +4 -5
  176. package/skills/ae-analysis/references/metric_update.md +0 -1
  177. package/skills/ae-analysis/references/operation_record_export.md +4 -5
  178. package/skills/ae-analysis/references/operation_record_list.md +4 -5
  179. package/skills/ae-analysis/references/personal_semantic_preference_list.md +18 -1
  180. package/skills/ae-analysis/references/plan_change_log_export.md +10 -10
  181. package/skills/ae-analysis/references/plan_change_log_list.md +4 -6
  182. package/skills/ae-analysis/references/plan_delete_items.md +2 -4
  183. package/skills/ae-analysis/references/plan_export.md +9 -9
  184. package/skills/ae-analysis/references/plan_generate.md +2 -4
  185. package/skills/ae-analysis/references/plan_get.md +4 -6
  186. package/skills/ae-analysis/references/plan_import_excel.md +6 -8
  187. package/skills/ae-analysis/references/plan_save_items.md +2 -4
  188. package/skills/ae-analysis/references/plan_sync_from_meta.md +4 -6
  189. package/skills/ae-analysis/references/project_access_detail_get.md +0 -1
  190. package/skills/ae-analysis/references/project_data_power_get.md +0 -1
  191. package/skills/ae-analysis/references/project_data_power_list.md +0 -1
  192. package/skills/ae-analysis/references/project_data_power_upsert.md +0 -1
  193. package/skills/ae-analysis/references/project_entity_create.md +0 -1
  194. package/skills/ae-analysis/references/project_entity_event_list.md +0 -1
  195. package/skills/ae-analysis/references/project_entity_get.md +0 -1
  196. package/skills/ae-analysis/references/project_entity_list.md +0 -1
  197. package/skills/ae-analysis/references/project_entity_update.md +0 -1
  198. package/skills/ae-analysis/references/project_function_list.md +0 -1
  199. package/skills/ae-analysis/references/project_info_get.md +0 -1
  200. package/skills/ae-analysis/references/project_info_list.md +0 -1
  201. package/skills/ae-analysis/references/project_info_update.md +0 -1
  202. package/skills/ae-analysis/references/project_mark_time_create.md +0 -1
  203. package/skills/ae-analysis/references/project_mark_time_list.md +0 -1
  204. package/skills/ae-analysis/references/project_mark_time_update.md +0 -1
  205. package/skills/ae-analysis/references/project_member_add.md +6 -5
  206. package/skills/ae-analysis/references/project_member_batch_update.md +0 -1
  207. package/skills/ae-analysis/references/project_member_candidate_list.md +4 -3
  208. package/skills/ae-analysis/references/project_member_handover_run.md +2 -3
  209. package/skills/ae-analysis/references/project_member_list.md +0 -1
  210. package/skills/ae-analysis/references/project_member_receiver_list.md +0 -1
  211. package/skills/ae-analysis/references/project_member_update.md +0 -1
  212. package/skills/ae-analysis/references/project_owner_update.md +0 -1
  213. package/skills/ae-analysis/references/project_permission_binding_list.md +0 -1
  214. package/skills/ae-analysis/references/project_role_function_list.md +0 -1
  215. package/skills/ae-analysis/references/project_role_get.md +0 -1
  216. package/skills/ae-analysis/references/project_role_list.md +0 -1
  217. package/skills/ae-analysis/references/project_role_upsert.md +32 -2
  218. package/skills/ae-analysis/references/project_role_user_list.md +0 -1
  219. package/skills/ae-analysis/references/project_semantic_knowledge_wiki.md +214 -0
  220. package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +93 -0
  221. package/skills/ae-analysis/references/project_timezone_get.md +0 -1
  222. package/skills/ae-analysis/references/project_timezone_overview.md +0 -1
  223. package/skills/ae-analysis/references/project_timezone_update.md +0 -1
  224. package/skills/ae-analysis/references/project_user_id_items_update.md +0 -1
  225. package/skills/ae-analysis/references/property_changelog_list.md +0 -1
  226. package/skills/ae-analysis/references/property_create.md +0 -1
  227. package/skills/ae-analysis/references/property_export.md +0 -1
  228. package/skills/ae-analysis/references/property_get.md +0 -1
  229. package/skills/ae-analysis/references/property_hide_update.md +0 -1
  230. package/skills/ae-analysis/references/property_influence_list.md +0 -1
  231. package/skills/ae-analysis/references/property_list.md +3 -4
  232. package/skills/ae-analysis/references/property_related_events.md +0 -1
  233. package/skills/ae-analysis/references/property_relation_update.md +0 -1
  234. package/skills/ae-analysis/references/property_update.md +0 -1
  235. package/skills/ae-analysis/references/report_create.md +4 -2
  236. package/skills/ae-analysis/references/report_data_export.md +11 -9
  237. package/skills/ae-analysis/references/report_data_run.md +14 -7
  238. package/skills/ae-analysis/references/report_get.md +5 -3
  239. package/skills/ae-analysis/references/report_list.md +2 -0
  240. package/skills/ae-analysis/references/report_update.md +5 -3
  241. package/skills/ae-analysis/references/rule_create.md +5 -6
  242. package/skills/ae-analysis/references/rule_delete.md +5 -5
  243. package/skills/ae-analysis/references/rule_list.md +3 -4
  244. package/skills/ae-analysis/references/rule_schema.md +3 -4
  245. package/skills/ae-analysis/references/rule_update.md +5 -6
  246. package/skills/ae-analysis/references/sdk_sample_generate.md +2 -4
  247. package/skills/ae-analysis/references/sql_table_columns.md +1 -1
  248. package/skills/ae-analysis/references/super_metadata_batch_create.md +1 -1
  249. package/skills/ae-analysis/references/super_metadata_batch_edit.md +1 -1
  250. package/skills/ae-analysis/references/system_member_add.md +1 -2
  251. package/skills/ae-analysis/references/system_member_status_update.md +1 -1
  252. package/skills/ae-analysis/references/system_ops_alert_contact_list.md +1 -1
  253. package/skills/ae-analysis/references/system_ops_alert_contact_test.md +0 -1
  254. package/skills/ae-analysis/references/system_query_monitor_overview.md +3 -3
  255. package/skills/ae-analysis/references/system_query_task_export.md +4 -14
  256. package/skills/ae-analysis/references/system_query_task_get.md +1 -1
  257. package/skills/ae-analysis/references/system_query_task_list.md +5 -6
  258. package/skills/ae-analysis/references/system_receiver_address_upsert.md +3 -3
  259. package/skills/ae-analysis/references/system_receiver_detection_get.md +1 -1
  260. package/skills/ae-analysis/references/system_third_party_login_disable.md +1 -1
  261. package/skills/ae-analysis/references/system_usage_trend_export.md +3 -12
  262. package/skills/ae-analysis/references/user_cluster_list.md +1 -1
  263. package/skills/ae-analysis/references/user_cluster_member_export.md +4 -4
  264. package/skills/ae-analysis/references/user_tag_create.md +23 -1
  265. package/skills/ae-analysis/references/user_tag_list.md +1 -1
  266. package/skills/ae-analysis/references/user_tag_member_export.md +4 -4
  267. package/skills/ae-analysis/references/user_tag_models.md +9 -1
  268. package/skills/ae-analysis/references/user_tag_update.md +14 -2
  269. package/skills/ae-analysis/references/virtual_event_create.md +10 -5
  270. package/skills/ae-analysis/references/virtual_event_get.md +0 -1
  271. package/skills/ae-analysis/references/virtual_property_create.md +0 -1
  272. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +0 -1
  273. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +1054 -0
  274. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs +112 -0
  275. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-rules.md +30 -0
  276. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +2735 -0
  277. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/package-wiki-source-zip.mjs +376 -0
  278. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/plan-kb-source-sync.mjs +264 -0
  279. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/precompiled-source.mjs +49 -0
  280. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/upload-kb-sources-concurrently.mjs +200 -0
  281. package/skills/ae-analysis/scripts/read_results.py +197 -0
  282. package/skills/ae-analysis-global/SKILL.md +1 -1
  283. package/skills/ae-capability/SKILL.md +1 -1
  284. package/skills/ae-community/SKILL.md +1 -1
  285. package/skills/ae-current-context/SKILL.md +53 -0
  286. package/skills/ae-data-integration/SKILL.md +6 -4
  287. package/skills/ae-data-integration/references/dimension-routing.md +36 -0
  288. package/skills/ae-data-integration/references/lark-bitable-source.md +288 -0
  289. package/skills/ae-data-integration/references/lark-sheet-source.md +130 -0
  290. package/skills/ae-data-integration/references/local-analysis.md +2 -0
  291. package/skills/ae-data-integration/references/manual-export-source.md +83 -0
  292. package/skills/ae-data-integration/references/reuse.md +2 -0
  293. package/skills/ae-data-integration/references/sink-upload.md +32 -0
  294. package/skills/ae-data-integration/references/source-inspect.md +1 -1
  295. package/skills/ae-data-integration/references/tracking-plan.md +5 -2
  296. package/skills/ae-data-integration/references/transform.md +1 -1
  297. package/skills/ae-data-integration/references/ue-mapping.md +7 -4
  298. package/skills/ae-data-integration/references/ue-routing.md +17 -1
  299. package/skills/ae-data-integration-helper/SKILL.md +5 -5
  300. package/skills/ae-data-integration-helper/references/android_sdk_faq.md +3 -3
  301. package/skills/ae-data-integration-helper/references/c_sdk_faq.md +3 -3
  302. package/skills/ae-data-integration-helper/references/cocoscreator_sdk_faq.md +1 -1
  303. package/skills/ae-data-integration-helper/references/cpp_server_sdk_faq.md +3 -3
  304. package/skills/ae-data-integration-helper/references/ios_sdk_faq.md +1 -1
  305. package/skills/ae-data-integration-helper/references/java_sdk_faq.md +3 -3
  306. package/skills/ae-data-integration-helper/references/javascript_sdk_faq.md +1 -1
  307. package/skills/ae-data-integration-helper/references/logbus2_guide.md +1 -1
  308. package/skills/ae-data-integration-helper/references/logbus2_parser_plugin.md +2 -2
  309. package/skills/ae-data-integration-helper/references/minigame_sdk_faq.md +2 -2
  310. package/skills/ae-data-integration-helper/references/miniprogram_sdk_faq.md +1 -1
  311. package/skills/ae-data-integration-helper/references/python_sdk_faq.md +2 -2
  312. package/skills/ae-data-integration-helper/references/restful_api_notes.md +2 -2
  313. package/skills/ae-data-integration-helper/references/sdk_log_guide.md +3 -3
  314. package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +11 -11
  315. package/skills/ae-data-integration-helper/references/unity_sdk_faq.md +1 -1
  316. package/skills/ae-dataops/SKILL.md +1 -1
  317. package/skills/ae-engage/SKILL.md +4 -3
  318. package/skills/ae-engage/references/build-task-save-guide.md +3 -0
  319. package/skills/ae-engage/references/flow-metric-update.md +115 -1
  320. package/skills/ae-engage/references/save-flow.md +3 -0
  321. package/skills/ae-engage/references/save-task.md +21 -0
  322. package/skills/ae-engage/references/task-metric-update.md +151 -0
  323. package/skills/ae-experiment/SKILL.md +14 -7
  324. package/skills/ae-experiment/references/save_submit_external_experiment.md +52 -0
  325. package/skills/ae-experiment-design/SKILL.md +3 -3
  326. package/skills/ae-experiment-design/references/platform-operations.md +1 -1
  327. package/skills/ae-experiment-insight/SKILL.md +2 -2
  328. package/skills/ae-experiment-insight/references/platform-operations.md +1 -1
  329. package/skills/ae-generate-tracking-code/SKILL.md +2 -1
  330. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +1 -1
  331. package/skills/ae-generate-tracking-code/references/datax-config.md +1 -1
  332. package/skills/ae-generate-tracking-code/references/logbus-config.md +1 -1
  333. package/skills/ae-generate-tracking-code/references/modes.md +1 -1
  334. package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +5 -5
  335. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +3 -3
  336. package/skills/ae-generate-tracking-plan/SKILL.md +27 -15
  337. package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +1 -1
  338. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -0
  339. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +3 -2
  340. package/skills/ae-kb/SKILL.md +147 -37
  341. package/skills/ae-kb/references/analysis-workflow.md +292 -0
  342. package/skills/ae-kb/references/query-workflow.md +59 -29
  343. package/skills/ae-kb/references/source-mutations.md +95 -0
  344. package/skills/ae-kb/references/versions.md +46 -0
  345. package/skills/ae-kb-discovery/SKILL.md +5 -1
  346. package/skills/ae-metadata/SKILL.md +1 -1
  347. package/skills/ae-migrate-tracking-code/SKILL.md +195 -0
  348. package/skills/ae-migrate-tracking-code/references/ae-preset-properties.md +76 -0
  349. package/skills/ae-migrate-tracking-code/references/ir.md +167 -0
  350. package/skills/ae-migrate-tracking-code/references/mapping-framework.md +112 -0
  351. package/skills/ae-migrate-tracking-code/references/providers/README.md +58 -0
  352. package/skills/ae-migrate-tracking-code/references/providers/amplitude.md +208 -0
  353. package/skills/ae-migrate-tracking-code/references/providers/firebase.md +160 -0
  354. package/skills/ae-migrate-tracking-code/references/providers/ga4.md +92 -0
  355. package/skills/ae-migrate-tracking-code/references/providers/mixpanel.md +150 -0
  356. package/skills/ae-migrate-tracking-code/references/providers/sensors-data.md +146 -0
  357. package/skills/ae-project-semantic/SKILL.md +1 -1
  358. package/skills/ae-system/SKILL.md +5 -5
  359. package/skills/ae-team/SKILL.md +2 -2
  360. package/skills/ae-use-agent/SKILL.md +42 -0
  361. package/skills/ae-use-agent/references/local-agent.md +114 -0
  362. package/dist/auth-UMJAA72O.js +0 -15
  363. package/dist/chunk-533JK3YX.js +0 -72
  364. package/dist/chunk-DKEXH6Q5.js +0 -72
  365. package/dist/chunk-O6K2ODUE.js +0 -318
  366. package/dist/chunk-RWXIXOZG.js +0 -326
  367. package/dist/client-N7NGZUNI.js +0 -204
  368. package/dist/te-kb-BUD6N3NI.js +0 -1222
  369. package/skills/ae-agent/references/auto-provision-mcp-credentials.md +0 -57
  370. package/skills/ae-analysis/metadata_resolution.md +0 -184
@@ -0,0 +1,196 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ __commonJS,
4
+ __require
5
+ } from "./chunk-MAPZ7VB6.js";
6
+
7
+ // node_modules/process-nextick-args/index.js
8
+ var require_process_nextick_args = __commonJS({
9
+ "node_modules/process-nextick-args/index.js"(exports, module) {
10
+ "use strict";
11
+ if (typeof process === "undefined" || !process.version || process.version.indexOf("v0.") === 0 || process.version.indexOf("v1.") === 0 && process.version.indexOf("v1.8.") !== 0) {
12
+ module.exports = { nextTick };
13
+ } else {
14
+ module.exports = process;
15
+ }
16
+ function nextTick(fn, arg1, arg2, arg3) {
17
+ if (typeof fn !== "function") {
18
+ throw new TypeError('"callback" argument must be a function');
19
+ }
20
+ var len = arguments.length;
21
+ var args, i;
22
+ switch (len) {
23
+ case 0:
24
+ case 1:
25
+ return process.nextTick(fn);
26
+ case 2:
27
+ return process.nextTick(function afterTickOne() {
28
+ fn.call(null, arg1);
29
+ });
30
+ case 3:
31
+ return process.nextTick(function afterTickTwo() {
32
+ fn.call(null, arg1, arg2);
33
+ });
34
+ case 4:
35
+ return process.nextTick(function afterTickThree() {
36
+ fn.call(null, arg1, arg2, arg3);
37
+ });
38
+ default:
39
+ args = new Array(len - 1);
40
+ i = 0;
41
+ while (i < args.length) {
42
+ args[i++] = arguments[i];
43
+ }
44
+ return process.nextTick(function afterTick() {
45
+ fn.apply(null, args);
46
+ });
47
+ }
48
+ }
49
+ }
50
+ });
51
+
52
+ // node_modules/isarray/index.js
53
+ var require_isarray = __commonJS({
54
+ "node_modules/isarray/index.js"(exports, module) {
55
+ "use strict";
56
+ var toString = {}.toString;
57
+ module.exports = Array.isArray || function(arr) {
58
+ return toString.call(arr) == "[object Array]";
59
+ };
60
+ }
61
+ });
62
+
63
+ // node_modules/core-util-is/lib/util.js
64
+ var require_util = __commonJS({
65
+ "node_modules/core-util-is/lib/util.js"(exports) {
66
+ "use strict";
67
+ function isArray(arg) {
68
+ if (Array.isArray) {
69
+ return Array.isArray(arg);
70
+ }
71
+ return objectToString(arg) === "[object Array]";
72
+ }
73
+ exports.isArray = isArray;
74
+ function isBoolean(arg) {
75
+ return typeof arg === "boolean";
76
+ }
77
+ exports.isBoolean = isBoolean;
78
+ function isNull(arg) {
79
+ return arg === null;
80
+ }
81
+ exports.isNull = isNull;
82
+ function isNullOrUndefined(arg) {
83
+ return arg == null;
84
+ }
85
+ exports.isNullOrUndefined = isNullOrUndefined;
86
+ function isNumber(arg) {
87
+ return typeof arg === "number";
88
+ }
89
+ exports.isNumber = isNumber;
90
+ function isString(arg) {
91
+ return typeof arg === "string";
92
+ }
93
+ exports.isString = isString;
94
+ function isSymbol(arg) {
95
+ return typeof arg === "symbol";
96
+ }
97
+ exports.isSymbol = isSymbol;
98
+ function isUndefined(arg) {
99
+ return arg === void 0;
100
+ }
101
+ exports.isUndefined = isUndefined;
102
+ function isRegExp(re) {
103
+ return objectToString(re) === "[object RegExp]";
104
+ }
105
+ exports.isRegExp = isRegExp;
106
+ function isObject(arg) {
107
+ return typeof arg === "object" && arg !== null;
108
+ }
109
+ exports.isObject = isObject;
110
+ function isDate(d) {
111
+ return objectToString(d) === "[object Date]";
112
+ }
113
+ exports.isDate = isDate;
114
+ function isError(e) {
115
+ return objectToString(e) === "[object Error]" || e instanceof Error;
116
+ }
117
+ exports.isError = isError;
118
+ function isFunction(arg) {
119
+ return typeof arg === "function";
120
+ }
121
+ exports.isFunction = isFunction;
122
+ function isPrimitive(arg) {
123
+ return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
124
+ typeof arg === "undefined";
125
+ }
126
+ exports.isPrimitive = isPrimitive;
127
+ exports.isBuffer = __require("buffer").Buffer.isBuffer;
128
+ function objectToString(o) {
129
+ return Object.prototype.toString.call(o);
130
+ }
131
+ }
132
+ });
133
+
134
+ // node_modules/inherits/inherits_browser.js
135
+ var require_inherits_browser = __commonJS({
136
+ "node_modules/inherits/inherits_browser.js"(exports, module) {
137
+ "use strict";
138
+ if (typeof Object.create === "function") {
139
+ module.exports = function inherits(ctor, superCtor) {
140
+ if (superCtor) {
141
+ ctor.super_ = superCtor;
142
+ ctor.prototype = Object.create(superCtor.prototype, {
143
+ constructor: {
144
+ value: ctor,
145
+ enumerable: false,
146
+ writable: true,
147
+ configurable: true
148
+ }
149
+ });
150
+ }
151
+ };
152
+ } else {
153
+ module.exports = function inherits(ctor, superCtor) {
154
+ if (superCtor) {
155
+ ctor.super_ = superCtor;
156
+ var TempCtor = function() {
157
+ };
158
+ TempCtor.prototype = superCtor.prototype;
159
+ ctor.prototype = new TempCtor();
160
+ ctor.prototype.constructor = ctor;
161
+ }
162
+ };
163
+ }
164
+ }
165
+ });
166
+
167
+ // node_modules/inherits/inherits.js
168
+ var require_inherits = __commonJS({
169
+ "node_modules/inherits/inherits.js"(exports, module) {
170
+ "use strict";
171
+ try {
172
+ util = __require("util");
173
+ if (typeof util.inherits !== "function") throw "";
174
+ module.exports = util.inherits;
175
+ } catch (e) {
176
+ module.exports = require_inherits_browser();
177
+ }
178
+ var util;
179
+ }
180
+ });
181
+
182
+ // node_modules/util-deprecate/node.js
183
+ var require_node = __commonJS({
184
+ "node_modules/util-deprecate/node.js"(exports, module) {
185
+ "use strict";
186
+ module.exports = __require("util").deprecate;
187
+ }
188
+ });
189
+
190
+ export {
191
+ require_process_nextick_args,
192
+ require_isarray,
193
+ require_util,
194
+ require_inherits,
195
+ require_node
196
+ };
@@ -1,20 +1,20 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ CapabilityGatewayError,
4
+ fetchCapabilityGateway,
5
+ requestCapabilityGateway
6
+ } from "./chunk-HFGZGYCG.js";
2
7
  import {
3
8
  resolveGatewayDomain
4
- } from "./chunk-TKHSULJT.js";
9
+ } from "./chunk-KPQY44JQ.js";
5
10
  import {
6
11
  readOutputMetadata,
7
12
  unwrapOutputData,
8
13
  withOutputMetadata
9
- } from "./chunk-KEWVSO64.js";
10
- import {
11
- CapabilityGatewayError,
12
- fetchCapabilityGateway,
13
- requestCapabilityGateway
14
- } from "./chunk-GJXRF7Y6.js";
14
+ } from "./chunk-DX5CDO34.js";
15
15
  import {
16
16
  PermissionError
17
- } from "./chunk-533JK3YX.js";
17
+ } from "./chunk-MAPZ7VB6.js";
18
18
 
19
19
  // src/core/analysis-async-artifact.ts
20
20
  import { randomBytes } from "crypto";
@@ -263,7 +263,7 @@ async function downloadAnalysisArtifact(host, runId, artifactId, output, options
263
263
  }
264
264
  tempPresent = true;
265
265
  const source = Readable.fromWeb(response.body);
266
- await pipeline(source, createWriteStream(tempPath, { flags: "wx" }), {
266
+ await pipeline(source, createWriteStream(tempPath, { flags: "wx", mode: options.mode }), {
267
267
  signal: options.signal
268
268
  });
269
269
  const file = await stat(tempPath);
@@ -1,10 +1,8 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
- CommunityReportError
4
- } from "./chunk-533JK3YX.js";
5
- import {
3
+ CommunityReportError,
6
4
  logger
7
- } from "./chunk-FR2EDAQM.js";
5
+ } from "./chunk-MAPZ7VB6.js";
8
6
 
9
7
  // src/core/community-report-client.ts
10
8
  var DEFAULT_TIMEOUT_MS = 3e4;
@@ -3,15 +3,15 @@ import {
3
3
  MultiselectCancelled,
4
4
  promptSingleSelect
5
5
  } from "./chunk-7K24F7T2.js";
6
- import {
7
- printError,
8
- printOutput
9
- } from "./chunk-KEWVSO64.js";
10
- import "./chunk-RWXIXOZG.js";
11
6
  import {
12
7
  AE_TRIAL_URL,
13
8
  missingAeHostHint
14
- } from "./chunk-O6K2ODUE.js";
9
+ } from "./chunk-6ZIQV5GW.js";
10
+ import {
11
+ printError,
12
+ printOutput
13
+ } from "./chunk-DX5CDO34.js";
14
+ import "./chunk-7XGFSUOM.js";
15
15
  import {
16
16
  addHost,
17
17
  listHosts,
@@ -21,9 +21,8 @@ import {
21
21
  resolveHostSelector,
22
22
  setActiveHost,
23
23
  updateHostLabel
24
- } from "./chunk-KZ6ZHF5J.js";
25
- import "./chunk-533JK3YX.js";
26
- import "./chunk-FR2EDAQM.js";
24
+ } from "./chunk-7FTTULED.js";
25
+ import "./chunk-MAPZ7VB6.js";
27
26
 
28
27
  // src/commands/config.ts
29
28
  import * as readline2 from "readline";
@@ -0,0 +1,46 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ getFromMainApp
4
+ } from "./chunk-HBGADCKA.js";
5
+ import "./chunk-Y74WTIKJ.js";
6
+ import "./chunk-7XGFSUOM.js";
7
+ import "./chunk-7FTTULED.js";
8
+ import {
9
+ CliValidationError
10
+ } from "./chunk-MAPZ7VB6.js";
11
+
12
+ // src/commands/context/current.ts
13
+ var CURRENT_PAGE_CONTEXT_PATH = "/api/sandbox/agent/context/current";
14
+ function createCurrentPageContextCommand(read = getFromMainApp, readConversationId = () => process.env.TE_AGENT_CONVERSATION_ID) {
15
+ return {
16
+ service: "context",
17
+ command: "+current",
18
+ description: "Read the current page context bound to the active Agent Run",
19
+ flags: [],
20
+ risk: "read",
21
+ usesAeHost: false,
22
+ execute: async () => {
23
+ const conversationId = readConversationId()?.trim();
24
+ if (!conversationId) {
25
+ throw new CliValidationError(
26
+ "Current page context is available only inside an active Agent Run.",
27
+ {
28
+ code: "CURRENT_PAGE_CONTEXT_RUN_REQUIRED",
29
+ hint: "Open AE Agent from a supported product page and ask about the current page."
30
+ }
31
+ );
32
+ }
33
+ const query = new URLSearchParams({ conversationId });
34
+ return read(`${CURRENT_PAGE_CONTEXT_PATH}?${query.toString()}`);
35
+ }
36
+ };
37
+ }
38
+ var currentPageContext = createCurrentPageContextCommand();
39
+
40
+ // src/commands/context/index.ts
41
+ var commands = [currentPageContext];
42
+ var context_default = commands;
43
+ export {
44
+ currentPageContext,
45
+ context_default as default
46
+ };
@@ -1,22 +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-QL6R6TSK.js";
9
- import "./chunk-B5HMQAOM.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-KZ6ZHF5J.js";
19
+ } from "./chunk-7FTTULED.js";
13
20
  import {
14
21
  CliValidationError,
15
- LocalDataUploadError
16
- } from "./chunk-533JK3YX.js";
17
- import {
22
+ LocalDataUploadError,
18
23
  __toESM
19
- } from "./chunk-FR2EDAQM.js";
24
+ } from "./chunk-MAPZ7VB6.js";
20
25
 
21
26
  // src/commands/data-integration/inspect.ts
22
27
  import { basename as basename3 } from "path";
@@ -114,18 +119,18 @@ var import_exceljs = __toESM(require_excel(), 1);
114
119
  var import_worksheet_reader = __toESM(require_worksheet_reader(), 1);
115
120
  var import_styles_xform = __toESM(require_styles_xform(), 1);
116
121
  import { createHash } from "crypto";
122
+ import * as nodeFs from "fs";
117
123
  import { createReadStream as createReadStream2, statSync } from "fs";
118
124
  import { extname, basename } from "path";
119
125
  import { createInterface } from "readline";
120
126
  import { StringDecoder } from "string_decoder";
121
127
  import { pipeline } from "stream/promises";
122
- import XLSXMod from "xlsx";
123
128
  import { parse as parseCsv } from "csv-parse";
124
129
  import { parse as parseCsvSync } from "csv-parse/sync";
125
130
  import createJsonParser from "stream-json";
126
- import Pick from "stream-json/filters/Pick.js";
127
- import StreamArray from "stream-json/streamers/StreamArray.js";
128
- 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";
129
134
  import * as unzipper from "unzipper";
130
135
  import { SaxesParser } from "saxes";
131
136
 
@@ -550,7 +555,9 @@ function buildObjectChildren(objects, parentPath) {
550
555
  }
551
556
  function buildNode(path, name, values, nonEmpty) {
552
557
  const arrays = values.filter(Array.isArray);
553
- 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
+ );
554
561
  const structural = arrays.length + objects.length;
555
562
  if (structural > 0 && structural >= values.length - structural) {
556
563
  if (arrays.length > objects.length) {
@@ -635,7 +642,7 @@ function isStrongDateTime(value) {
635
642
  }
636
643
 
637
644
  // src/commands/data-integration/input.ts
638
- var XLSX = XLSXMod.default ?? XLSXMod;
645
+ set_fs(nodeFs);
639
646
  function resolveLocalDataInputMeta(filePath) {
640
647
  let format = resolveFormat(filePath);
641
648
  let delimiter;
@@ -921,7 +928,7 @@ async function discoverDataSets(filePath, format) {
921
928
  return { visible: [{ id: "$", kind: "file", label: basename(filePath), selector: "$" }], hidden: [] };
922
929
  }
923
930
  if (format === "xls") {
924
- const workbook = XLSX.readFile(filePath, { dense: true });
931
+ const workbook = readFileSync(filePath, { dense: true });
925
932
  return {
926
933
  visible: workbook.SheetNames.map((name) => ({ id: `sheet:${name}`, kind: "sheet", label: name, selector: name })),
927
934
  hidden: []
@@ -1057,9 +1064,9 @@ async function streamJsonLines(filePath, onRow, options) {
1057
1064
  async function streamJson(filePath, selector, onRow, options) {
1058
1065
  let count = 0;
1059
1066
  const parser = createJsonParser();
1060
- const streamer = selector === "$object" ? StreamValues.streamValues() : StreamArray.streamArray();
1067
+ const streamer = selector === "$object" ? streamValues.asStream() : streamArray.asStream();
1061
1068
  const source = decodeTextStream(filePath, options.encoding ?? "utf-8");
1062
- 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);
1063
1070
  for await (const item of chain) {
1064
1071
  count += 1;
1065
1072
  await onRow(flattenLocalDataRow(item.value, options.flattenRules, options.flattenMisses), count);
@@ -1224,10 +1231,10 @@ async function readExcelSheetHeaders(filePath, format) {
1224
1231
  return format === "xls" ? readXlsSheetHeaders(filePath) : readXlsxSheetHeaders(filePath);
1225
1232
  }
1226
1233
  function readXlsSheetHeaders(filePath) {
1227
- const workbook = XLSX.readFile(filePath, { dense: true });
1234
+ const workbook = readFileSync(filePath, { dense: true });
1228
1235
  return workbook.SheetNames.map((name) => {
1229
1236
  const sheet = workbook.Sheets[name];
1230
- 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 }) : [];
1231
1238
  return { name, headers: firstRowHeaders(rows[0] ?? []) };
1232
1239
  });
1233
1240
  }
@@ -1489,7 +1496,7 @@ function decodeXml(source) {
1489
1496
  return source.replace(/&quot;/g, '"').replace(/&apos;/g, "'").replace(/&lt;/g, "<").replace(/&gt;/g, ">").replace(/&amp;/g, "&");
1490
1497
  }
1491
1498
  async function streamXls(filePath, sheetName, onRow, options) {
1492
- const workbook = XLSX.readFile(filePath, { cellDates: true, dense: true });
1499
+ const workbook = readFileSync(filePath, { cellDates: true, dense: true });
1493
1500
  const names = options.mergeSheets ? workbook.SheetNames : workbook.SheetNames.includes(sheetName) ? [sheetName] : [];
1494
1501
  if (names.length === 0) {
1495
1502
  throw new CliValidationError("The requested Excel Sheet was not found.", { code: "LOCAL_DATA_SET_NOT_FOUND" });
@@ -1499,7 +1506,7 @@ async function streamXls(filePath, sheetName, onRow, options) {
1499
1506
  for (const name of names) {
1500
1507
  const sheet = workbook.Sheets[name];
1501
1508
  if (!sheet) continue;
1502
- 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 });
1503
1510
  const rows = allRows.slice(skipRows);
1504
1511
  if (rows.length === 0) continue;
1505
1512
  let headers = options.headerNames;
@@ -1678,7 +1685,7 @@ async function firstNonWhitespaceCharacter(filePath, encoding) {
1678
1685
  }
1679
1686
 
1680
1687
  // src/commands/data-integration/mapping.ts
1681
- import { readFileSync } from "fs";
1688
+ import { readFileSync as readFileSync2 } from "fs";
1682
1689
 
1683
1690
  // src/commands/data-integration/types.ts
1684
1691
  var MAPPING_VERSION = "ae-data-integration-mapping/v1";
@@ -1686,6 +1693,7 @@ var MAPPING_VERSION = "ae-data-integration-mapping/v1";
1686
1693
  // src/commands/data-integration/mapping.ts
1687
1694
  var VALID_PROPERTY_NAME = /^[a-z][a-z0-9_]{0,49}$/;
1688
1695
  var VALID_CHILD_PROPERTY_NAME = /^[a-z][a-z0-9_]{0,49}(\.[a-z][a-z0-9_]{0,49})+$/;
1696
+ var VALID_EVENT_NAME = /^[A-Za-z][A-Za-z0-9_]{0,49}$/;
1689
1697
  var FLATTEN_SUPPORTED_FORMATS = ["csv", "tsv", "json", "jsonl", "xls", "xlsx"];
1690
1698
  var SKIP_ROWS_SUPPORTED_FORMATS = ["csv", "tsv", "xls", "xlsx"];
1691
1699
  var XLSX_STRUCTURE_SUPPORTED_FORMATS = ["xlsx"];
@@ -1698,7 +1706,7 @@ function readLocalDataMapping(raw, options) {
1698
1706
  text = trimmed;
1699
1707
  } else {
1700
1708
  const filePath = trimmed.startsWith("@") ? trimmed.slice(1) : trimmed;
1701
- text = readFileSync(filePath, "utf8");
1709
+ text = readFileSync2(filePath, "utf8");
1702
1710
  }
1703
1711
  } catch {
1704
1712
  throw new CliValidationError("The local-data mapping could not be read.", {
@@ -1745,7 +1753,7 @@ function validateMapping(value, options) {
1745
1753
  if (value.mode !== "user_set" && !value.event_name_field && !value.default_event_name) {
1746
1754
  throw mappingError("Track mappings require an event field or default event name.");
1747
1755
  }
1748
- if (value.default_event_name && !VALID_PROPERTY_NAME.test(value.default_event_name)) {
1756
+ if (value.default_event_name && !VALID_EVENT_NAME.test(value.default_event_name)) {
1749
1757
  throw mappingError("The default event name is not a legal AE event name.");
1750
1758
  }
1751
1759
  if (!Array.isArray(value.properties)) throw mappingError("Mapping properties must be an array.");
@@ -1779,7 +1787,7 @@ function validateMapping(value, options) {
1779
1787
  if (value.event_meta !== void 0) {
1780
1788
  if (!isRecord(value.event_meta)) throw mappingError("event_meta must be an object keyed by AE event name.");
1781
1789
  for (const [name, meta] of Object.entries(value.event_meta)) {
1782
- if (!VALID_PROPERTY_NAME.test(name) || !isRecord(meta) || meta.desc !== void 0 && (typeof meta.desc !== "string" || !meta.desc.trim() || meta.desc.length > 200) || meta.tag !== void 0 && (typeof meta.tag !== "string" || !meta.tag.trim() || meta.tag.length > 64)) {
1790
+ if (!VALID_EVENT_NAME.test(name) || !isRecord(meta) || meta.desc !== void 0 && (typeof meta.desc !== "string" || !meta.desc.trim() || meta.desc.length > 200) || meta.tag !== void 0 && (typeof meta.tag !== "string" || !meta.tag.trim() || meta.tag.length > 64)) {
1783
1791
  throw mappingError("event_meta entries need a legal AE event name and non-empty desc/tag strings.");
1784
1792
  }
1785
1793
  }
@@ -1792,7 +1800,7 @@ function validateMapping(value, options) {
1792
1800
  if (!isStringMap(map)) throw mappingError(`value_mapping.${key} must map strings to strings.`);
1793
1801
  if (key === "event_name") {
1794
1802
  for (const target of Object.values(map)) {
1795
- if (!VALID_PROPERTY_NAME.test(target)) {
1803
+ if (!VALID_EVENT_NAME.test(target)) {
1796
1804
  throw mappingError("value_mapping.event_name values must be legal AE event names.");
1797
1805
  }
1798
1806
  }
@@ -1876,6 +1884,9 @@ function validateMapping(value, options) {
1876
1884
  function isValidAeName(value) {
1877
1885
  return VALID_PROPERTY_NAME.test(value);
1878
1886
  }
1887
+ function isValidEventName(value) {
1888
+ return VALID_EVENT_NAME.test(value);
1889
+ }
1879
1890
  function sourceColumns(mapping) {
1880
1891
  const columns = /* @__PURE__ */ new Set();
1881
1892
  const flattenOut = new Set(Object.keys(mapping.flatten_rules ?? {}));
@@ -3145,7 +3156,7 @@ function splitHeaders(raw) {
3145
3156
  // src/commands/data-integration/plan.ts
3146
3157
  import { writeFile } from "fs/promises";
3147
3158
  var VALID_LOCALES = /* @__PURE__ */ new Set(["zh", "en", "ja", "ko"]);
3148
- var EVENT_NAME_RE = /^[a-z][a-z0-9_]*$/;
3159
+ var EVENT_NAME_RE = /^[A-Za-z][A-Za-z0-9_]*$/;
3149
3160
  function toPropType(type) {
3150
3161
  switch (type) {
3151
3162
  case "number":
@@ -3222,7 +3233,7 @@ function resolveEventNames(options) {
3222
3233
  if (!EVENT_NAME_RE.test(name)) {
3223
3234
  throw new CliValidationError(`The event name "${name}" is not a legal AE event name.`, {
3224
3235
  code: "LOCAL_DATA_PLAN_INVALID_EVENT_NAME",
3225
- hint: "Event names must match ^[a-z][a-z0-9_]*$.",
3236
+ hint: "Event names must match ^[A-Za-z][A-Za-z0-9_]*$.",
3226
3237
  location: { field: "event-name" }
3227
3238
  });
3228
3239
  }
@@ -3320,7 +3331,7 @@ import {
3320
3331
  existsSync,
3321
3332
  mkdirSync,
3322
3333
  readdirSync,
3323
- readFileSync as readFileSync2,
3334
+ readFileSync as readFileSync3,
3324
3335
  renameSync,
3325
3336
  statSync as statSync2,
3326
3337
  unlinkSync,
@@ -3593,7 +3604,7 @@ function convertRow(row, rowNumber, mapping, now) {
3593
3604
  if (recordType === "track") {
3594
3605
  const rawEvent = String(stripQuotes(mapping.event_name_field ? row[mapping.event_name_field] ?? "" : mapping.default_event_name ?? ""));
3595
3606
  eventName = mapping.value_mapping?.event_name && mapping.value_mapping.event_name[rawEvent] !== void 0 ? mapping.value_mapping.event_name[rawEvent] : rawEvent;
3596
- if (!isValidAeName(eventName)) {
3607
+ if (!isValidEventName(eventName)) {
3597
3608
  errors.push({ code: "INVALID_EVENT_NAME", field: mapping.event_name_field });
3598
3609
  }
3599
3610
  }
@@ -3688,7 +3699,7 @@ function readZoneOffset(row, field) {
3688
3699
  function readSalvageRowNumbers(path) {
3689
3700
  let text;
3690
3701
  try {
3691
- text = readFileSync2(path, "utf8");
3702
+ text = readFileSync3(path, "utf8");
3692
3703
  } catch {
3693
3704
  throw new CliValidationError("The salvage file could not be read.", {
3694
3705
  code: "LOCAL_DATA_SALVAGE_INVALID",
@@ -3710,13 +3721,14 @@ function readSalvageRowNumbers(path) {
3710
3721
  location: { field: "salvage-from", record: lineNumber }
3711
3722
  });
3712
3723
  }
3713
- 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) {
3714
3726
  throw new CliValidationError("The salvage file is not an invalid.rows.jsonl quarantine file.", {
3715
3727
  code: "LOCAL_DATA_SALVAGE_INVALID",
3716
3728
  location: { field: "salvage-from", record: lineNumber }
3717
3729
  });
3718
3730
  }
3719
- rows.add(value.row_number);
3731
+ rows.add(rowNumber);
3720
3732
  }
3721
3733
  if (rows.size === 0) {
3722
3734
  throw new CliValidationError("The salvage file contains no rows.", {
@@ -4089,7 +4101,7 @@ var dataIntegrationConvert = {
4089
4101
  };
4090
4102
 
4091
4103
  // src/commands/data-integration/upload.ts
4092
- 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";
4093
4105
  import { basename as basename5, dirname, resolve as resolve2 } from "path";
4094
4106
  import { createInterface as createInterface3 } from "readline";
4095
4107
  var DEFAULT_BATCH_SIZE = 500;
@@ -4323,7 +4335,7 @@ async function prepareUpload(ctx, enforceReady) {
4323
4335
  function readManifest(path) {
4324
4336
  let value;
4325
4337
  try {
4326
- value = JSON.parse(readFileSync3(path, "utf8"));
4338
+ value = JSON.parse(readFileSync4(path, "utf8"));
4327
4339
  } catch {
4328
4340
  throw new CliValidationError("The local-data manifest could not be read as JSON.", {
4329
4341
  code: "LOCAL_DATA_MANIFEST_INVALID",
@@ -4435,18 +4447,18 @@ function isRecord3(value) {
4435
4447
 
4436
4448
  // src/commands/data-integration/handoff.ts
4437
4449
  import { createHash as createHash3 } from "crypto";
4438
- 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";
4439
4451
  import { dirname as dirname2, join as join3, resolve as resolve3 } from "path";
4440
4452
  import { tmpdir } from "os";
4441
4453
 
4442
4454
  // src/commands/data-integration/archive.ts
4443
- import { ZipArchive } from "archiver";
4455
+ var import_archiver = __toESM(require_archiver(), 1);
4444
4456
  import { createWriteStream as createWriteStream2, readdirSync as readdirSync2, statSync as statSync4 } from "fs";
4445
4457
  import { join as join2, relative, sep } from "path";
4446
4458
  async function zipPackage(dir, zipPath) {
4447
4459
  await new Promise((resolvePromise, rejectPromise) => {
4448
4460
  const output = createWriteStream2(zipPath, { mode: 384 });
4449
- const zip = new ZipArchive({ zlib: { level: 9 } });
4461
+ const zip = (0, import_archiver.default)("zip", { zlib: { level: 9 } });
4450
4462
  output.on("close", resolvePromise);
4451
4463
  output.on("error", rejectPromise);
4452
4464
  zip.on("error", rejectPromise);
@@ -5367,7 +5379,7 @@ function buildHandoffPackage(outDir, mapping, planFile) {
5367
5379
  function readHandoffIndex(path) {
5368
5380
  let raw;
5369
5381
  try {
5370
- raw = readFileSync4(path, "utf8");
5382
+ raw = readFileSync5(path, "utf8");
5371
5383
  } catch {
5372
5384
  return { version: HANDOFF_INDEX_VERSION, entries: [] };
5373
5385
  }
@@ -5391,7 +5403,7 @@ function readHandoffIndex(path) {
5391
5403
  function readPlanFile(path) {
5392
5404
  let raw;
5393
5405
  try {
5394
- raw = readFileSync4(path, "utf8");
5406
+ raw = readFileSync5(path, "utf8");
5395
5407
  } catch {
5396
5408
  throw new CliValidationError("The tracking-plan file could not be read.", {
5397
5409
  code: "LOCAL_DATA_HANDOFF_PLAN_NOT_FOUND",
@@ -5483,7 +5495,7 @@ var dataIntegrationHandoff = {
5483
5495
  index_file: join3(outDir, "index.json"),
5484
5496
  pipeline_file: join3(outDir, "pipeline.json"),
5485
5497
  shape_file: join3(outDir, "shape.json"),
5486
- zip_path: zipPathFor(outDir, fingerprints[0])
5498
+ zip_path: fingerprints[0] ? zipPathFor(outDir, fingerprints[0]) : void 0
5487
5499
  };
5488
5500
  },
5489
5501
  execute: async (ctx) => {
@@ -5539,7 +5551,6 @@ var dataIntegrationHandoff = {
5539
5551
  }
5540
5552
  };
5541
5553
  function zipPathFor(outDir, fingerprint) {
5542
- if (!fingerprint) return void 0;
5543
5554
  return join3(dirname2(resolve3(outDir)), `ae-data-integration-handoff-${fingerprint.slice(0, 8)}.zip`);
5544
5555
  }
5545
5556
  var RELAY_FILE_PATHS = [
@@ -5600,7 +5611,7 @@ function stageScopedPackage(outDir, mappingDirs, entries, relayFiles) {
5600
5611
  for (const rel of mappingDirFiles(dirName, planFile)) {
5601
5612
  const dest = join3(staging, rel);
5602
5613
  mkdirSync2(dirname2(dest), { recursive: true, mode: 448 });
5603
- writeFileSync2(dest, readFileSync4(join3(outDir, rel), "utf8"), { encoding: "utf8", mode: 384 });
5614
+ writeFileSync2(dest, readFileSync5(join3(outDir, rel), "utf8"), { encoding: "utf8", mode: 384 });
5604
5615
  chmodSync2(dest, 384);
5605
5616
  }
5606
5617
  }
@@ -5608,7 +5619,7 @@ function stageScopedPackage(outDir, mappingDirs, entries, relayFiles) {
5608
5619
  }
5609
5620
 
5610
5621
  // src/commands/data-integration/reuse.ts
5611
- import { readFileSync as readFileSync5 } from "fs";
5622
+ import { readFileSync as readFileSync6 } from "fs";
5612
5623
  import { dirname as dirname4, join as join5, resolve as resolve5 } from "path";
5613
5624
 
5614
5625
  // src/commands/data-integration/handoff-root.ts
@@ -5667,7 +5678,7 @@ function detectReuse(mapping, outDir) {
5667
5678
  function readFrozenEventName(path) {
5668
5679
  let value;
5669
5680
  try {
5670
- value = JSON.parse(readFileSync5(path, "utf8"));
5681
+ value = JSON.parse(readFileSync6(path, "utf8"));
5671
5682
  } catch {
5672
5683
  return {};
5673
5684
  }