@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
@@ -1,26 +1,23 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  registerCapabilityGatewayRoute
4
- } from "./chunk-TKHSULJT.js";
4
+ } from "./chunk-KPQY44JQ.js";
5
5
  import {
6
6
  internalCallSourceHeaders
7
7
  } from "./chunk-Y74WTIKJ.js";
8
8
  import {
9
- clearCliToken,
9
+ SecureStoreAuthError,
10
10
  getCliToken
11
- } from "./chunk-RWXIXOZG.js";
12
- import "./chunk-O6K2ODUE.js";
11
+ } from "./chunk-7XGFSUOM.js";
13
12
  import {
14
13
  getActiveHost,
15
14
  safeJsonParse
16
- } from "./chunk-KZ6ZHF5J.js";
15
+ } from "./chunk-7FTTULED.js";
17
16
  import {
18
17
  CliValidationError,
19
- PermissionError
20
- } from "./chunk-533JK3YX.js";
21
- import {
18
+ PermissionError,
22
19
  logger
23
- } from "./chunk-FR2EDAQM.js";
20
+ } from "./chunk-MAPZ7VB6.js";
24
21
 
25
22
  // src/core/mcp.ts
26
23
  async function permissionDetails(resp) {
@@ -106,30 +103,10 @@ async function mcpRequest(url, method, params = {}, hostOverride) {
106
103
  throw new PermissionError(permission.message, permission.code, permission.hint);
107
104
  }
108
105
  if (resp.status === 401) {
109
- logger.warn(`MCP request failed (HTTP 401) for ${hostUrl}, refreshing CLI token`);
110
- clearCliToken(hostUrl);
111
- const newToken = await getCliToken(hostUrl);
112
- logger.info(`CLI token refreshed for ${hostUrl}`);
113
- process.stderr.write(`[ae-cli] CLI token refreshed for ${hostUrl}
114
- `);
115
- Object.assign(headers, buildAuthHeaders(newToken));
116
- const retryResp = await fetch(url, {
117
- method: "POST",
118
- headers,
119
- body: JSON.stringify(body)
120
- });
121
- if (retryResp.status === 403) {
122
- const permission = await permissionDetails(retryResp);
123
- throw new PermissionError(permission.message, permission.code, permission.hint);
124
- }
125
- if (!retryResp.ok) {
126
- throw new Error(`MCP HTTP error: ${retryResp.status} ${retryResp.statusText}`);
127
- }
128
- const retryData = safeJsonParse(await retryResp.text());
129
- if (retryData.error) {
130
- throw new Error(`MCP error: ${retryData.error.message || JSON.stringify(retryData.error)}`);
131
- }
132
- return retryData.result;
106
+ logger.warn(`MCP request failed (HTTP 401) for ${hostUrl}; CLI token must be replaced by login`);
107
+ throw new SecureStoreAuthError(
108
+ `CLI token is invalid or expired for ${hostUrl}. Run: ae-cli auth login --host ${hostUrl}`
109
+ );
133
110
  }
134
111
  throw new Error(`MCP HTTP error: ${resp.status} ${resp.statusText}`);
135
112
  }
@@ -1,27 +1,25 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ resolveHost
4
+ } from "./chunk-JOCDD4ON.js";
2
5
  import {
3
6
  printError
4
- } from "./chunk-KEWVSO64.js";
7
+ } from "./chunk-DX5CDO34.js";
5
8
  import {
6
9
  internalCallSourceHeaders
7
10
  } from "./chunk-Y74WTIKJ.js";
8
11
  import {
9
- clearCliToken,
12
+ SecureStoreAuthError,
10
13
  getCliToken
11
- } from "./chunk-RWXIXOZG.js";
12
- import {
13
- resolveHost
14
- } from "./chunk-O6K2ODUE.js";
14
+ } from "./chunk-7XGFSUOM.js";
15
15
  import {
16
16
  safeJsonParse
17
- } from "./chunk-KZ6ZHF5J.js";
17
+ } from "./chunk-7FTTULED.js";
18
18
  import {
19
19
  CliValidationError,
20
- PermissionError
21
- } from "./chunk-533JK3YX.js";
22
- import {
20
+ PermissionError,
23
21
  logger
24
- } from "./chunk-FR2EDAQM.js";
22
+ } from "./chunk-MAPZ7VB6.js";
25
23
 
26
24
  // src/commands/te-dataops/shared.ts
27
25
  import { randomBytes } from "crypto";
@@ -129,7 +127,7 @@ function buildDataopsApiDryRun(ctx, toolName68, args = {}) {
129
127
  body: params
130
128
  };
131
129
  }
132
- async function downloadDataopsApi(ctx, path, params, targetPath, retry = true) {
130
+ async function downloadDataopsApi(ctx, path, params, targetPath) {
133
131
  const host = resolveHost(ctx.host());
134
132
  const token = await getCliToken(host);
135
133
  const url = buildUrl(host, path, compactArgs(params));
@@ -145,9 +143,10 @@ async function downloadDataopsApi(ctx, path, params, targetPath, retry = true) {
145
143
  const data = parseResponseBody(await resp.text(), url, resp.status, true);
146
144
  throw new PermissionError(permissionMessage(data));
147
145
  }
148
- if (resp.status === 401 && retry) {
149
- clearCliToken(host);
150
- return downloadDataopsApi(ctx, path, params, targetPath, false);
146
+ if (resp.status === 401) {
147
+ throw new SecureStoreAuthError(
148
+ `The stored CLI token for ${host} is invalid or expired. Run: ae-cli auth login --host ${host}`
149
+ );
151
150
  }
152
151
  if (!resp.ok) {
153
152
  const data = parseResponseBody(await resp.text(), url, resp.status, true);
@@ -176,7 +175,7 @@ async function downloadDataopsApi(ctx, path, params, targetPath, retry = true) {
176
175
  if (tempPresent) await unlink(tempPath).catch(() => void 0);
177
176
  }
178
177
  }
179
- async function dataopsRequest(ctx, method, path, params = {}, body, retry = true) {
178
+ async function dataopsRequest(ctx, method, path, params = {}, body) {
180
179
  const host = resolveHost(ctx.host());
181
180
  const token = await getCliToken(host);
182
181
  const url = buildUrl(host, path, params);
@@ -197,10 +196,10 @@ async function dataopsRequest(ctx, method, path, params = {}, body, retry = true
197
196
  if (resp.status === 403) {
198
197
  throw new PermissionError(permissionMessage(data));
199
198
  }
200
- if (resp.status === 401 && retry) {
201
- logger.warn(`DataOps request failed (HTTP 401) for ${host}, refreshing CLI token`);
202
- clearCliToken(host);
203
- return dataopsRequest(ctx, method, path, params, body, false);
199
+ if (resp.status === 401) {
200
+ throw new SecureStoreAuthError(
201
+ `The stored CLI token for ${host} is invalid or expired. Run: ae-cli auth login --host ${host}`
202
+ );
204
203
  }
205
204
  if (!resp.ok) {
206
205
  throw new Error(formatHttpError(resp.status, resp.statusText, data));
@@ -1,30 +1,28 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  createCapabilityCommand
4
- } from "./chunk-DKEXH6Q5.js";
5
- import {
6
- registerCapabilityGatewayRoute,
7
- resolveGatewayDomain
8
- } from "./chunk-TKHSULJT.js";
9
- import {
10
- printError,
11
- withOutputMetadata
12
- } from "./chunk-KEWVSO64.js";
4
+ } from "./chunk-CCS66K4K.js";
13
5
  import {
14
6
  CapabilityGatewayError,
15
7
  buildCapabilityGatewayUrl,
16
8
  fetchCapabilityGateway,
17
9
  requestCapabilityGateway,
18
10
  requestCapabilityGatewayWithEnvelope
19
- } from "./chunk-GJXRF7Y6.js";
11
+ } from "./chunk-HFGZGYCG.js";
12
+ import {
13
+ registerCapabilityGatewayRoute,
14
+ resolveGatewayDomain
15
+ } from "./chunk-KPQY44JQ.js";
16
+ import {
17
+ printError,
18
+ withOutputMetadata
19
+ } from "./chunk-DX5CDO34.js";
20
20
  import "./chunk-Y74WTIKJ.js";
21
- import "./chunk-RWXIXOZG.js";
22
- import "./chunk-O6K2ODUE.js";
23
- import "./chunk-KZ6ZHF5J.js";
21
+ import "./chunk-7XGFSUOM.js";
22
+ import "./chunk-7FTTULED.js";
24
23
  import {
25
24
  CliValidationError
26
- } from "./chunk-533JK3YX.js";
27
- import "./chunk-FR2EDAQM.js";
25
+ } from "./chunk-MAPZ7VB6.js";
28
26
 
29
27
  // src/commands/te-engage/shared.ts
30
28
  function createEngageCapabilityCommand(cliService, config) {
@@ -1,18 +1,16 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  createCapabilityCommand
4
- } from "./chunk-DKEXH6Q5.js";
4
+ } from "./chunk-CCS66K4K.js";
5
+ import "./chunk-HFGZGYCG.js";
5
6
  import {
6
7
  registerCapabilityGatewayRoute
7
- } from "./chunk-TKHSULJT.js";
8
- import "./chunk-KEWVSO64.js";
9
- import "./chunk-GJXRF7Y6.js";
8
+ } from "./chunk-KPQY44JQ.js";
9
+ import "./chunk-DX5CDO34.js";
10
10
  import "./chunk-Y74WTIKJ.js";
11
- import "./chunk-RWXIXOZG.js";
12
- import "./chunk-O6K2ODUE.js";
13
- import "./chunk-KZ6ZHF5J.js";
14
- import "./chunk-533JK3YX.js";
15
- import "./chunk-FR2EDAQM.js";
11
+ import "./chunk-7XGFSUOM.js";
12
+ import "./chunk-7FTTULED.js";
13
+ import "./chunk-MAPZ7VB6.js";
16
14
 
17
15
  // src/commands/te-experiment/capability-shared.ts
18
16
  function createExperimentCapabilityCommand(config) {
@@ -332,6 +330,122 @@ var experimentUpdateMetrics = createExperimentCapabilityCommand({
332
330
  })
333
331
  });
334
332
 
333
+ // src/commands/te-experiment/external-experiment/save-submit.ts
334
+ var METRIC_ROLES2 = /* @__PURE__ */ new Set(["primary", "secondary", "guardrail"]);
335
+ function readGroups(ctx) {
336
+ const value = ctx.json("groups");
337
+ if (!Array.isArray(value) || value.length < 2) {
338
+ throw new Error("Flag --groups must be a JSON array with at least two groups");
339
+ }
340
+ let controlCount = 0;
341
+ for (let index = 0; index < value.length; index += 1) {
342
+ const group = value[index];
343
+ if (!group || typeof group !== "object" || Array.isArray(group)) {
344
+ throw new Error(`Flag --groups[${index}] must be a JSON object`);
345
+ }
346
+ const item = group;
347
+ if (typeof item.expGroupName !== "string" || item.expGroupName.trim() === "") {
348
+ throw new Error(`Flag --groups[${index}].expGroupName must be a non-empty string`);
349
+ }
350
+ if (item.isControl !== 0 && item.isControl !== 1) {
351
+ throw new Error(`Flag --groups[${index}].isControl must be 0 or 1`);
352
+ }
353
+ if (item.isControl === 1) controlCount += 1;
354
+ }
355
+ if (controlCount !== 1) {
356
+ throw new Error("Flag --groups must contain exactly one group with isControl=1");
357
+ }
358
+ return value;
359
+ }
360
+ function readMetrics(ctx) {
361
+ const value = ctx.json("metrics");
362
+ if (!Array.isArray(value) || value.length === 0) {
363
+ throw new Error("Flag --metrics must be a non-empty JSON array");
364
+ }
365
+ let hasPrimary = false;
366
+ for (let index = 0; index < value.length; index += 1) {
367
+ const metric = value[index];
368
+ if (!metric || typeof metric !== "object" || Array.isArray(metric)) {
369
+ throw new Error(`Flag --metrics[${index}] must be a JSON object`);
370
+ }
371
+ const item = metric;
372
+ if (typeof item.metricId !== "string" || item.metricId.trim() === "") {
373
+ throw new Error(`Flag --metrics[${index}].metricId must be a non-empty string`);
374
+ }
375
+ if (typeof item.metricRole !== "string" || !METRIC_ROLES2.has(item.metricRole)) {
376
+ throw new Error(`Flag --metrics[${index}].metricRole must be one of primary, secondary, guardrail`);
377
+ }
378
+ if (item.metricRole === "primary") hasPrimary = true;
379
+ }
380
+ if (!hasPrimary) {
381
+ throw new Error("Flag --metrics must contain at least one primary metric binding");
382
+ }
383
+ return value;
384
+ }
385
+ function buildInput4(ctx) {
386
+ const expId = ctx.str("exp-id").trim();
387
+ const groups = readGroups(ctx);
388
+ if (expId) {
389
+ for (let index = 0; index < groups.length; index += 1) {
390
+ if (typeof groups[index].expGroupId !== "string" || groups[index].expGroupId.trim() === "") {
391
+ throw new Error(`Flag --groups[${index}].expGroupId is required when --exp-id is provided`);
392
+ }
393
+ }
394
+ }
395
+ const req = {
396
+ expType: "external",
397
+ expName: ctx.str("exp-name"),
398
+ bucketId: ctx.str("bucket-id"),
399
+ startTime: ctx.str("start-time"),
400
+ groups,
401
+ metrics: readMetrics(ctx)
402
+ };
403
+ if (expId) req.expId = expId;
404
+ const endTime = ctx.str("end-time");
405
+ if (endTime !== "") req.endTime = endTime;
406
+ const groupId = ctx.str("business-group-id");
407
+ if (groupId !== "") req.groupId = groupId;
408
+ const supposition = ctx.str("supposition");
409
+ if (supposition !== "") req.expSupposition = supposition;
410
+ const description = ctx.str("description");
411
+ if (description !== "") req.expDesc = description;
412
+ return { project_id: ctx.num("project-id"), req };
413
+ }
414
+ var externalExperimentSaveSubmit = createExperimentCapabilityCommand({
415
+ resource: "external-experiment",
416
+ command: "save-submit",
417
+ capabilityId: "experiment.experiment.save-submit",
418
+ description: "Create or update and submit an external experiment without Feature or traffic-layer configuration.",
419
+ flags: [
420
+ { name: "project-id", type: "number", required: true, alias: "p", desc: "Numeric project ID." },
421
+ { name: "exp-id", type: "string", desc: "Existing external experiment ID; omit to create." },
422
+ { name: "exp-name", type: "string", required: true, desc: "External experiment name." },
423
+ { name: "business-group-id", type: "string", desc: "Optional business group ID." },
424
+ { name: "bucket-id", type: "string", required: true, desc: "Existing analysis bucket ID for reported exposure and metric joins." },
425
+ { name: "start-time", type: "string", required: true, desc: "External experiment start timestamp in ISO-8601 format with a timezone offset." },
426
+ { name: "end-time", type: "string", desc: "Optional end timestamp in ISO-8601 format with a timezone offset; omit for a long-running experiment." },
427
+ { name: "supposition", type: "string", desc: "Optional experiment hypothesis." },
428
+ { name: "description", type: "string", desc: "Optional experiment description." },
429
+ {
430
+ name: "groups",
431
+ type: "json",
432
+ required: true,
433
+ desc: "At least two group objects with camelCase expGroupName and isControl (exactly one 1). Existing submitted experiments also require unchanged expGroupId, allocation, and expGroupValue fields from get."
434
+ },
435
+ {
436
+ name: "metrics",
437
+ type: "json",
438
+ required: true,
439
+ desc: "Non-empty camelCase metric bindings with metricId and metricRole; include at least one primary metric."
440
+ }
441
+ ],
442
+ risk: "write",
443
+ validate: (ctx) => {
444
+ buildInput4(ctx);
445
+ },
446
+ buildInput: buildInput4
447
+ });
448
+
335
449
  // src/commands/te-experiment/feature/batch-delete.ts
336
450
  var featureBatchDelete = createExperimentCapabilityCommand({
337
451
  resource: "feature",
@@ -350,7 +464,7 @@ var featureBatchDelete = createExperimentCapabilityCommand({
350
464
  });
351
465
 
352
466
  // src/commands/te-experiment/feature/get.ts
353
- function buildInput4(ctx) {
467
+ function buildInput5(ctx) {
354
468
  const input = {
355
469
  project_id: ctx.num("project-id"),
356
470
  feature_key: ctx.str("feature-key")
@@ -369,7 +483,7 @@ var featureGet = createExperimentCapabilityCommand({
369
483
  { name: "version", type: "string", required: false, desc: "Feature version ID." }
370
484
  ],
371
485
  risk: "read",
372
- buildInput: buildInput4
486
+ buildInput: buildInput5
373
487
  });
374
488
 
375
489
  // src/commands/te-experiment/feature/list.ts
@@ -524,7 +638,7 @@ var featureWhitelistBatchDelete = createExperimentCapabilityCommand({
524
638
  });
525
639
 
526
640
  // src/commands/te-experiment/feature-whitelist/list.ts
527
- function buildInput5(ctx) {
641
+ function buildInput6(ctx) {
528
642
  return {
529
643
  project_id: ctx.num("project-id"),
530
644
  feature_key: ctx.str("feature-key")
@@ -540,11 +654,11 @@ var featureWhitelistList = createExperimentCapabilityCommand({
540
654
  { name: "feature-key", type: "string", required: true, desc: "Existing Feature key." }
541
655
  ],
542
656
  risk: "read",
543
- buildInput: buildInput5
657
+ buildInput: buildInput6
544
658
  });
545
659
 
546
660
  // src/commands/te-experiment/feature-whitelist/save.ts
547
- function buildInput6(ctx) {
661
+ function buildInput7(ctx) {
548
662
  const ruleId = ctx.str("rule-id").trim();
549
663
  const status = ctx.str("status").trim() || "draft";
550
664
  if (!["draft", "enable", "disable"].includes(status)) {
@@ -581,9 +695,9 @@ var featureWhitelistSave = createExperimentCapabilityCommand({
581
695
  ],
582
696
  risk: "write",
583
697
  validate: (ctx) => {
584
- buildInput6(ctx);
698
+ buildInput7(ctx);
585
699
  },
586
- buildInput: buildInput6
700
+ buildInput: buildInput7
587
701
  });
588
702
 
589
703
  // src/commands/te-experiment/feature-whitelist/update-status.ts
@@ -991,6 +1105,7 @@ var commands = [
991
1105
  experimentManage,
992
1106
  experimentUpdateGroup,
993
1107
  experimentUpdateMetrics,
1108
+ externalExperimentSaveSubmit,
994
1109
  experimentBatchDelete,
995
1110
  operationLogQuery,
996
1111
  saveBuildGuide,
@@ -1033,6 +1148,7 @@ export {
1033
1148
  experimentSave,
1034
1149
  experimentUpdateGroup,
1035
1150
  experimentUpdateMetrics,
1151
+ externalExperimentSaveSubmit,
1036
1152
  featureBatchDelete,
1037
1153
  featureGet,
1038
1154
  featureList,