@thinkingai/ae-cli 6.1.20 → 6.1.23

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (338) hide show
  1. package/README.md +2 -1
  2. package/README.zh.md +2 -1
  3. package/dist/{auth-FUM37MHF.js → auth-XZNXFRJS.js} +5 -5
  4. package/dist/{capability-AXFQW5WM.js → capability-FYTU3X6L.js} +42 -12
  5. package/dist/{chunk-LNZBEQXW.js → chunk-4NRCTUZJ.js} +27041 -474
  6. package/dist/{chunk-VXNMYUXU.js → chunk-57RRFUEZ.js} +23 -7
  7. package/dist/{chunk-WZ6YVQSF.js → chunk-7FTTULED.js} +1 -1
  8. package/dist/{chunk-ATSM5XAW.js → chunk-7XGFSUOM.js} +2 -2
  9. package/dist/chunk-CCS66K4K.js +155 -0
  10. package/dist/{chunk-I4WQAEYB.js → chunk-DVMLWQD4.js} +8 -186
  11. package/dist/{chunk-CZU3V3DQ.js → chunk-DX5CDO34.js} +27 -6
  12. package/dist/chunk-EQ255HKO.js +38248 -0
  13. package/dist/{chunk-BBEFP4SB.js → chunk-HBGADCKA.js} +3 -3
  14. package/dist/{chunk-QJQZH5GQ.js → chunk-HFGZGYCG.js} +10 -6
  15. package/dist/{chunk-ECBLHAZO.js → chunk-JOCDD4ON.js} +1 -1
  16. package/dist/{chunk-TKHSULJT.js → chunk-KPQY44JQ.js} +6 -0
  17. package/dist/{chunk-4P355ZWB.js → chunk-MAPZ7VB6.js} +21 -1
  18. package/dist/chunk-V2NUHPXF.js +196 -0
  19. package/dist/{chunk-RSG4ONOI.js → chunk-VYXXOKYS.js} +5 -5
  20. package/dist/{community-report-client-XXWGSBSD.js → community-report-client-CU22W53K.js} +1 -1
  21. package/dist/{config-EXUGQN5T.js → config-XO3LI3SA.js} +4 -4
  22. package/dist/context-IFJI3LIT.js +46 -0
  23. package/dist/{data-integration-4NZ53OMT.js → data-integration-HNGUKFIC.js} +44 -35
  24. package/dist/index.js +101 -64
  25. package/dist/{local-data-upload-client-KYOKVYZV.js → local-data-upload-client-GTRIT64F.js} +3 -2
  26. package/dist/{memory-ATNKZNW5.js → memory-QGPSNCQS.js} +4 -4
  27. package/dist/{metadata-VZVC7YMH.js → metadata-DI5BMYFU.js} +8 -8
  28. package/dist/{model-E4JMQ4V2.js → model-RNPQXIBI.js} +4 -4
  29. package/dist/{personal-semantic-preference-7S2SQ3UV.js → personal-semantic-preference-5C3WUXFI.js} +11 -8
  30. package/dist/{project-semantic-2SZP2OPO.js → project-semantic-3LF6Q6JZ.js} +27 -21
  31. package/dist/{sync-YV3E66IF.js → sync-O45NXEQY.js} +7 -6
  32. package/dist/{te-agent-JB5T3PO7.js → te-agent-K5MSPNHJ.js} +5 -5
  33. package/dist/{te-analysis-3YJAAT2D.js → te-analysis-AISWCOOZ.js} +1086 -354
  34. package/dist/{te-community-UDBI672N.js → te-community-4OYU3BDA.js} +4 -4
  35. package/dist/{te-dataops-ZLYOCXZ4.js → te-dataops-NFIPB6FX.js} +5 -5
  36. package/dist/{te-engage-4XG6OJML.js → te-engage-BAM3GBFX.js} +7 -7
  37. package/dist/{te-experiment-VXUWPINJ.js → te-experiment-GUTZXZ5Z.js} +132 -14
  38. package/dist/{te-kb-WYQWHFSC.js → te-kb-3TS73NO6.js} +454 -194
  39. package/dist/{te-system-7G6F2LJA.js → te-system-STMHLS5J.js} +12 -7
  40. package/dist/{te-team-E7FBBXMQ.js → te-team-3I5AOX3N.js} +6 -6
  41. package/dist/{update-D47BUG25.js → update-RZXLPCRH.js} +4 -4
  42. package/package.json +21 -14
  43. package/skills/ae-analysis/SKILL.md +91 -78
  44. package/skills/ae-analysis/references/adhoc_export.md +11 -18
  45. package/skills/ae-analysis/references/adhoc_run.md +15 -7
  46. package/skills/ae-analysis/references/agent_review_detail.md +11 -0
  47. package/skills/ae-analysis/references/agent_review_evidence.md +46 -0
  48. package/skills/ae-analysis/references/agent_review_list.md +9 -0
  49. package/skills/ae-analysis/references/agent_review_preflight.md +96 -0
  50. package/skills/ae-analysis/references/agent_review_priorities_comparisons.md +76 -0
  51. package/skills/ae-analysis/references/agent_review_records.md +9 -0
  52. package/skills/ae-analysis/references/agent_review_retry.md +12 -0
  53. package/skills/ae-analysis/references/agent_review_review.md +16 -0
  54. package/skills/ae-analysis/references/agent_review_submit_to_page.md +184 -0
  55. package/skills/ae-analysis/references/ai_models/attribution.md +29 -0
  56. package/skills/ae-analysis/references/ai_models/distribution.md +40 -0
  57. package/skills/ae-analysis/references/ai_models/event.md +108 -0
  58. package/skills/ae-analysis/references/ai_models/funnel.md +46 -0
  59. package/skills/ae-analysis/references/ai_models/heat_map.md +26 -0
  60. package/skills/ae-analysis/references/ai_models/interval.md +20 -0
  61. package/skills/ae-analysis/references/ai_models/path.md +55 -0
  62. package/skills/ae-analysis/references/ai_models/prop_analysis.md +43 -0
  63. package/skills/ae-analysis/references/ai_models/rank_list.md +25 -0
  64. package/skills/ae-analysis/references/ai_models/retention.md +70 -0
  65. package/skills/ae-analysis/references/ai_models/revenue.md +28 -0
  66. package/skills/ae-analysis/references/ai_models/sql.md +74 -0
  67. package/skills/ae-analysis/references/ai_models/tag.md +19 -0
  68. package/skills/ae-analysis/references/ai_models.md +32 -473
  69. package/skills/ae-analysis/references/alert_create.md +7 -7
  70. package/skills/ae-analysis/references/alert_delete.md +4 -6
  71. package/skills/ae-analysis/references/alert_detail_list.md +7 -9
  72. package/skills/ae-analysis/references/alert_get.md +5 -7
  73. package/skills/ae-analysis/references/alert_job_list.md +4 -6
  74. package/skills/ae-analysis/references/alert_list.md +6 -8
  75. package/skills/ae-analysis/references/alert_notice_config_list.md +4 -6
  76. package/skills/ae-analysis/references/alert_start.md +5 -7
  77. package/skills/ae-analysis/references/alert_stop.md +5 -7
  78. package/skills/ae-analysis/references/alert_update.md +8 -8
  79. package/skills/ae-analysis/references/analysis_data_export.md +72 -0
  80. package/skills/ae-analysis/references/analysis_data_retrieval.md +32 -196
  81. package/skills/ae-analysis/references/analysis_gateway_assets.md +23 -180
  82. package/skills/ae-analysis/references/analysis_interpretation.md +37 -17
  83. package/skills/ae-analysis/references/asset_abnormal_get.md +0 -1
  84. package/skills/ae-analysis/references/asset_abnormal_list.md +0 -1
  85. package/skills/ae-analysis/references/asset_authentication_export.md +4 -0
  86. package/skills/ae-analysis/references/asset_authentication_list.md +7 -1
  87. package/skills/ae-analysis/references/asset_authentication_update.md +5 -1
  88. package/skills/ae-analysis/references/asset_batch_dashboard_schedule_freeze.md +8 -6
  89. package/skills/ae-analysis/references/asset_batch_delete.md +6 -6
  90. package/skills/ae-analysis/references/asset_batch_disable_auto_backup.md +4 -5
  91. package/skills/ae-analysis/references/asset_batch_disable_auto_update.md +5 -6
  92. package/skills/ae-analysis/references/asset_batch_handover.md +4 -5
  93. package/skills/ae-analysis/references/asset_batch_info_export.md +4 -5
  94. package/skills/ae-analysis/references/asset_batch_sql_export.md +5 -6
  95. package/skills/ae-analysis/references/asset_dependency_list.md +4 -5
  96. package/skills/ae-analysis/references/asset_export.md +4 -5
  97. package/skills/ae-analysis/references/asset_impact_list.md +5 -9
  98. package/skills/ae-analysis/references/asset_lineage_get.md +5 -6
  99. package/skills/ae-analysis/references/asset_list.md +4 -5
  100. package/skills/ae-analysis/references/asset_query_history_list.md +4 -8
  101. package/skills/ae-analysis/references/asset_recent_list.md +0 -1
  102. package/skills/ae-analysis/references/asset_search.md +12 -9
  103. package/skills/ae-analysis/references/asset_url_get.md +3 -4
  104. package/skills/ae-analysis/references/bi_panel_copy.md +2 -2
  105. package/skills/ae-analysis/references/bi_panel_page_data_export.md +4 -12
  106. package/skills/ae-analysis/references/bi_panel_page_data_run.md +2 -0
  107. package/skills/ae-analysis/references/catalog_export.md +4 -17
  108. package/skills/ae-analysis/references/catalog_list.md +4 -4
  109. package/skills/ae-analysis/references/check_delete.md +5 -7
  110. package/skills/ae-analysis/references/check_export.md +11 -11
  111. package/skills/ae-analysis/references/check_get.md +8 -10
  112. package/skills/ae-analysis/references/check_list.md +4 -6
  113. package/skills/ae-analysis/references/check_retry.md +8 -10
  114. package/skills/ae-analysis/references/check_run.md +2 -4
  115. package/skills/ae-analysis/references/command_index.md +44 -26
  116. package/skills/ae-analysis/references/dashboard_report_data_export.md +5 -13
  117. package/skills/ae-analysis/references/dashboard_report_data_run.md +1 -1
  118. package/skills/ae-analysis/references/dashboard_update.md +14 -3
  119. package/skills/ae-analysis/references/datatable_columns_get.md +0 -1
  120. package/skills/ae-analysis/references/datatable_influence_list.md +0 -1
  121. package/skills/ae-analysis/references/datatable_version_get.md +0 -1
  122. package/skills/ae-analysis/references/datatable_version_list.md +0 -1
  123. package/skills/ae-analysis/references/debug_device_add.md +1 -2
  124. package/skills/ae-analysis/references/drilldown_entities_export.md +3 -3
  125. package/skills/ae-analysis/references/drilldown_events_export.md +3 -2
  126. package/skills/ae-analysis/references/drilldown_user_events_export.md +2 -2
  127. package/skills/ae-analysis/references/entity_detail_export.md +3 -2
  128. package/skills/ae-analysis/references/entity_detail_run.md +1 -0
  129. package/skills/ae-analysis/references/event_blacklist_add.md +5 -7
  130. package/skills/ae-analysis/references/event_blacklist_list.md +4 -6
  131. package/skills/ae-analysis/references/event_blacklist_update.md +6 -8
  132. package/skills/ae-analysis/references/event_changelog_list.md +0 -1
  133. package/skills/ae-analysis/references/event_create.md +0 -1
  134. package/skills/ae-analysis/references/event_detail_export.md +3 -2
  135. package/skills/ae-analysis/references/event_detail_run.md +1 -0
  136. package/skills/ae-analysis/references/event_export.md +0 -1
  137. package/skills/ae-analysis/references/event_get.md +0 -1
  138. package/skills/ae-analysis/references/event_hide_update.md +0 -1
  139. package/skills/ae-analysis/references/event_influence_list.md +0 -1
  140. package/skills/ae-analysis/references/event_list.md +0 -1
  141. package/skills/ae-analysis/references/event_property_bundle_export.md +5 -14
  142. package/skills/ae-analysis/references/event_property_bundle_import.md +2 -6
  143. package/skills/ae-analysis/references/event_relation_update.md +0 -1
  144. package/skills/ae-analysis/references/event_update.md +0 -1
  145. package/skills/ae-analysis/references/exchange_config_update.md +0 -1
  146. package/skills/ae-analysis/references/exchange_rate_refresh.md +0 -1
  147. package/skills/ae-analysis/references/exchange_rule_list.md +0 -1
  148. package/skills/ae-analysis/references/exchange_rule_update.md +0 -1
  149. package/skills/ae-analysis/references/exchange_rule_validate.md +0 -1
  150. package/skills/ae-analysis/references/governance_recommendation_decisions.md +23 -0
  151. package/skills/ae-analysis/references/governance_recommendation_export.md +108 -0
  152. package/skills/ae-analysis/references/governance_recommendation_submit.md +41 -0
  153. package/skills/ae-analysis/references/history_tag_data_drilldown_export.md +4 -4
  154. package/skills/ae-analysis/references/history_tag_data_export.md +3 -3
  155. package/skills/ae-analysis/references/ingest_error_list.md +7 -9
  156. package/skills/ae-analysis/references/ingest_summary.md +6 -8
  157. package/skills/ae-analysis/references/live_data_export.md +10 -10
  158. package/skills/ae-analysis/references/live_data_list.md +7 -9
  159. package/skills/ae-analysis/references/metadata_resolution.md +78 -0
  160. package/skills/ae-analysis/references/metric_export.md +0 -1
  161. package/skills/ae-analysis/references/metric_get.md +0 -1
  162. package/skills/ae-analysis/references/metric_list.md +4 -5
  163. package/skills/ae-analysis/references/metric_update.md +0 -1
  164. package/skills/ae-analysis/references/operation_record_export.md +4 -5
  165. package/skills/ae-analysis/references/operation_record_list.md +4 -5
  166. package/skills/ae-analysis/references/personal_semantic_preference_list.md +18 -1
  167. package/skills/ae-analysis/references/plan_change_log_export.md +10 -10
  168. package/skills/ae-analysis/references/plan_change_log_list.md +4 -6
  169. package/skills/ae-analysis/references/plan_delete_items.md +2 -4
  170. package/skills/ae-analysis/references/plan_export.md +9 -9
  171. package/skills/ae-analysis/references/plan_generate.md +2 -4
  172. package/skills/ae-analysis/references/plan_get.md +4 -6
  173. package/skills/ae-analysis/references/plan_import_excel.md +6 -8
  174. package/skills/ae-analysis/references/plan_save_items.md +2 -4
  175. package/skills/ae-analysis/references/plan_sync_from_meta.md +4 -6
  176. package/skills/ae-analysis/references/project_access_detail_get.md +0 -1
  177. package/skills/ae-analysis/references/project_data_power_get.md +0 -1
  178. package/skills/ae-analysis/references/project_data_power_list.md +0 -1
  179. package/skills/ae-analysis/references/project_data_power_upsert.md +0 -1
  180. package/skills/ae-analysis/references/project_entity_create.md +0 -1
  181. package/skills/ae-analysis/references/project_entity_event_list.md +0 -1
  182. package/skills/ae-analysis/references/project_entity_get.md +0 -1
  183. package/skills/ae-analysis/references/project_entity_list.md +0 -1
  184. package/skills/ae-analysis/references/project_entity_update.md +0 -1
  185. package/skills/ae-analysis/references/project_function_list.md +0 -1
  186. package/skills/ae-analysis/references/project_info_get.md +0 -1
  187. package/skills/ae-analysis/references/project_info_list.md +0 -1
  188. package/skills/ae-analysis/references/project_info_update.md +0 -1
  189. package/skills/ae-analysis/references/project_mark_time_create.md +0 -1
  190. package/skills/ae-analysis/references/project_mark_time_list.md +0 -1
  191. package/skills/ae-analysis/references/project_mark_time_update.md +0 -1
  192. package/skills/ae-analysis/references/project_member_add.md +6 -5
  193. package/skills/ae-analysis/references/project_member_batch_update.md +0 -1
  194. package/skills/ae-analysis/references/project_member_candidate_list.md +4 -3
  195. package/skills/ae-analysis/references/project_member_handover_run.md +2 -3
  196. package/skills/ae-analysis/references/project_member_list.md +0 -1
  197. package/skills/ae-analysis/references/project_member_receiver_list.md +0 -1
  198. package/skills/ae-analysis/references/project_member_update.md +0 -1
  199. package/skills/ae-analysis/references/project_owner_update.md +0 -1
  200. package/skills/ae-analysis/references/project_permission_binding_list.md +0 -1
  201. package/skills/ae-analysis/references/project_role_function_list.md +0 -1
  202. package/skills/ae-analysis/references/project_role_get.md +0 -1
  203. package/skills/ae-analysis/references/project_role_list.md +0 -1
  204. package/skills/ae-analysis/references/project_role_upsert.md +32 -2
  205. package/skills/ae-analysis/references/project_role_user_list.md +0 -1
  206. package/skills/ae-analysis/references/project_semantic_knowledge_wiki.md +214 -0
  207. package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +93 -0
  208. package/skills/ae-analysis/references/project_timezone_get.md +0 -1
  209. package/skills/ae-analysis/references/project_timezone_overview.md +0 -1
  210. package/skills/ae-analysis/references/project_timezone_update.md +0 -1
  211. package/skills/ae-analysis/references/project_user_id_items_update.md +0 -1
  212. package/skills/ae-analysis/references/property_changelog_list.md +0 -1
  213. package/skills/ae-analysis/references/property_create.md +0 -1
  214. package/skills/ae-analysis/references/property_export.md +0 -1
  215. package/skills/ae-analysis/references/property_get.md +0 -1
  216. package/skills/ae-analysis/references/property_hide_update.md +0 -1
  217. package/skills/ae-analysis/references/property_influence_list.md +0 -1
  218. package/skills/ae-analysis/references/property_list.md +3 -4
  219. package/skills/ae-analysis/references/property_related_events.md +0 -1
  220. package/skills/ae-analysis/references/property_relation_update.md +0 -1
  221. package/skills/ae-analysis/references/property_update.md +0 -1
  222. package/skills/ae-analysis/references/report_create.md +4 -2
  223. package/skills/ae-analysis/references/report_data_export.md +11 -9
  224. package/skills/ae-analysis/references/report_data_run.md +14 -7
  225. package/skills/ae-analysis/references/report_get.md +5 -3
  226. package/skills/ae-analysis/references/report_list.md +2 -0
  227. package/skills/ae-analysis/references/report_update.md +5 -3
  228. package/skills/ae-analysis/references/rule_create.md +5 -6
  229. package/skills/ae-analysis/references/rule_delete.md +5 -5
  230. package/skills/ae-analysis/references/rule_list.md +3 -4
  231. package/skills/ae-analysis/references/rule_schema.md +3 -4
  232. package/skills/ae-analysis/references/rule_update.md +5 -6
  233. package/skills/ae-analysis/references/sdk_sample_generate.md +2 -4
  234. package/skills/ae-analysis/references/sql_table_columns.md +1 -1
  235. package/skills/ae-analysis/references/super_metadata_batch_create.md +1 -1
  236. package/skills/ae-analysis/references/super_metadata_batch_edit.md +1 -1
  237. package/skills/ae-analysis/references/system_member_add.md +1 -2
  238. package/skills/ae-analysis/references/system_member_status_update.md +1 -1
  239. package/skills/ae-analysis/references/system_ops_alert_contact_list.md +1 -1
  240. package/skills/ae-analysis/references/system_ops_alert_contact_test.md +0 -1
  241. package/skills/ae-analysis/references/system_query_monitor_overview.md +3 -3
  242. package/skills/ae-analysis/references/system_query_task_export.md +4 -14
  243. package/skills/ae-analysis/references/system_query_task_get.md +1 -1
  244. package/skills/ae-analysis/references/system_query_task_list.md +5 -6
  245. package/skills/ae-analysis/references/system_receiver_address_upsert.md +3 -3
  246. package/skills/ae-analysis/references/system_receiver_detection_get.md +1 -1
  247. package/skills/ae-analysis/references/system_third_party_login_disable.md +1 -1
  248. package/skills/ae-analysis/references/system_usage_trend_export.md +3 -12
  249. package/skills/ae-analysis/references/user_cluster_list.md +1 -1
  250. package/skills/ae-analysis/references/user_cluster_member_export.md +4 -4
  251. package/skills/ae-analysis/references/user_tag_list.md +1 -1
  252. package/skills/ae-analysis/references/user_tag_member_export.md +4 -4
  253. package/skills/ae-analysis/references/virtual_event_create.md +10 -5
  254. package/skills/ae-analysis/references/virtual_event_get.md +0 -1
  255. package/skills/ae-analysis/references/virtual_property_create.md +0 -1
  256. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +0 -1
  257. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +1054 -0
  258. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/company-kb.mjs +112 -0
  259. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-rules.md +30 -0
  260. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +2735 -0
  261. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/package-wiki-source-zip.mjs +376 -0
  262. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/plan-kb-source-sync.mjs +264 -0
  263. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/precompiled-source.mjs +49 -0
  264. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/upload-kb-sources-concurrently.mjs +200 -0
  265. package/skills/ae-analysis/scripts/read_results.py +197 -0
  266. package/skills/ae-analysis-global/SKILL.md +1 -1
  267. package/skills/ae-capability/SKILL.md +1 -1
  268. package/skills/ae-community/SKILL.md +1 -1
  269. package/skills/ae-current-context/SKILL.md +53 -0
  270. package/skills/ae-data-integration/SKILL.md +5 -4
  271. package/skills/ae-data-integration/references/lark-bitable-source.md +288 -0
  272. package/skills/ae-data-integration/references/lark-sheet-source.md +130 -0
  273. package/skills/ae-data-integration/references/manual-export-source.md +83 -0
  274. package/skills/ae-data-integration/references/reuse.md +2 -0
  275. package/skills/ae-data-integration/references/sink-upload.md +32 -0
  276. package/skills/ae-data-integration/references/tracking-plan.md +4 -1
  277. package/skills/ae-data-integration/references/ue-mapping.md +2 -2
  278. package/skills/ae-data-integration-helper/SKILL.md +5 -5
  279. package/skills/ae-data-integration-helper/references/android_sdk_faq.md +3 -3
  280. package/skills/ae-data-integration-helper/references/c_sdk_faq.md +3 -3
  281. package/skills/ae-data-integration-helper/references/cocoscreator_sdk_faq.md +1 -1
  282. package/skills/ae-data-integration-helper/references/cpp_server_sdk_faq.md +3 -3
  283. package/skills/ae-data-integration-helper/references/ios_sdk_faq.md +1 -1
  284. package/skills/ae-data-integration-helper/references/java_sdk_faq.md +3 -3
  285. package/skills/ae-data-integration-helper/references/javascript_sdk_faq.md +1 -1
  286. package/skills/ae-data-integration-helper/references/logbus2_guide.md +1 -1
  287. package/skills/ae-data-integration-helper/references/logbus2_parser_plugin.md +2 -2
  288. package/skills/ae-data-integration-helper/references/minigame_sdk_faq.md +2 -2
  289. package/skills/ae-data-integration-helper/references/miniprogram_sdk_faq.md +1 -1
  290. package/skills/ae-data-integration-helper/references/python_sdk_faq.md +2 -2
  291. package/skills/ae-data-integration-helper/references/restful_api_notes.md +2 -2
  292. package/skills/ae-data-integration-helper/references/sdk_log_guide.md +3 -3
  293. package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +11 -11
  294. package/skills/ae-data-integration-helper/references/unity_sdk_faq.md +1 -1
  295. package/skills/ae-dataops/SKILL.md +1 -1
  296. package/skills/ae-engage/SKILL.md +4 -3
  297. package/skills/ae-engage/references/build-task-save-guide.md +3 -0
  298. package/skills/ae-engage/references/flow-metric-update.md +115 -1
  299. package/skills/ae-engage/references/save-flow.md +3 -0
  300. package/skills/ae-engage/references/save-task.md +21 -0
  301. package/skills/ae-engage/references/task-metric-update.md +151 -0
  302. package/skills/ae-experiment/SKILL.md +14 -7
  303. package/skills/ae-experiment/references/save_submit_external_experiment.md +52 -0
  304. package/skills/ae-experiment-design/SKILL.md +3 -3
  305. package/skills/ae-experiment-design/references/platform-operations.md +1 -1
  306. package/skills/ae-experiment-insight/SKILL.md +2 -2
  307. package/skills/ae-experiment-insight/references/platform-operations.md +1 -1
  308. package/skills/ae-generate-tracking-code/SKILL.md +2 -1
  309. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +1 -1
  310. package/skills/ae-generate-tracking-code/references/datax-config.md +1 -1
  311. package/skills/ae-generate-tracking-code/references/logbus-config.md +1 -1
  312. package/skills/ae-generate-tracking-code/references/modes.md +1 -1
  313. package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +5 -5
  314. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +3 -3
  315. package/skills/ae-generate-tracking-plan/SKILL.md +2 -2
  316. package/skills/ae-generate-tracking-plan/references/te-api.md +1 -0
  317. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +3 -2
  318. package/skills/ae-kb/SKILL.md +41 -2
  319. package/skills/ae-kb/references/analysis-workflow.md +292 -0
  320. package/skills/ae-kb/references/source-mutations.md +95 -0
  321. package/skills/ae-kb-discovery/SKILL.md +5 -1
  322. package/skills/ae-metadata/SKILL.md +1 -1
  323. package/skills/ae-migrate-tracking-code/SKILL.md +195 -0
  324. package/skills/ae-migrate-tracking-code/references/ae-preset-properties.md +76 -0
  325. package/skills/ae-migrate-tracking-code/references/ir.md +167 -0
  326. package/skills/ae-migrate-tracking-code/references/mapping-framework.md +112 -0
  327. package/skills/ae-migrate-tracking-code/references/providers/README.md +58 -0
  328. package/skills/ae-migrate-tracking-code/references/providers/amplitude.md +208 -0
  329. package/skills/ae-migrate-tracking-code/references/providers/firebase.md +160 -0
  330. package/skills/ae-migrate-tracking-code/references/providers/ga4.md +92 -0
  331. package/skills/ae-migrate-tracking-code/references/providers/mixpanel.md +150 -0
  332. package/skills/ae-migrate-tracking-code/references/providers/sensors-data.md +146 -0
  333. package/skills/ae-project-semantic/SKILL.md +1 -1
  334. package/skills/ae-system/SKILL.md +4 -4
  335. package/skills/ae-team/SKILL.md +2 -2
  336. package/skills/ae-use-agent/references/local-agent.md +1 -1
  337. package/dist/chunk-TAL6CZH6.js +0 -72
  338. package/skills/ae-analysis/metadata_resolution.md +0 -184
@@ -1,17 +1,17 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  CapabilityGatewayError
4
- } from "./chunk-QJQZH5GQ.js";
4
+ } from "./chunk-HFGZGYCG.js";
5
5
  import {
6
6
  SecureStoreAuthError,
7
7
  getCliToken
8
- } from "./chunk-ATSM5XAW.js";
8
+ } from "./chunk-7XGFSUOM.js";
9
9
  import {
10
10
  safeJsonParse
11
- } from "./chunk-WZ6YVQSF.js";
11
+ } from "./chunk-7FTTULED.js";
12
12
  import {
13
13
  PermissionError
14
- } from "./chunk-4P355ZWB.js";
14
+ } from "./chunk-MAPZ7VB6.js";
15
15
 
16
16
  // src/core/mcp-access.ts
17
17
  function buildUrl(host, path, params = {}) {
@@ -137,6 +137,7 @@ async function fetchWithCliToken(input, init, cliToken, options = {}) {
137
137
  const headers = new Headers(init.headers);
138
138
  headers.set("cli-token", cliToken);
139
139
  const resp = await fetch(input, { ...init, headers });
140
+ if (options.responseType === "empty" && resp.status === 204) return null;
140
141
  if (options.responseType === "bytes" && resp.ok) {
141
142
  if (resp.headers.get("content-type")?.includes("application/json")) {
142
143
  parseKbResponse(resp, await resp.text(), options);
@@ -147,13 +148,28 @@ async function fetchWithCliToken(input, init, cliToken, options = {}) {
147
148
  contentType: resp.headers.get("content-type") ?? "application/octet-stream"
148
149
  };
149
150
  }
150
- return parseKbResponse(resp, await resp.text(), options);
151
+ const result = parseKbResponse(resp, await resp.text(), options);
152
+ if (options.responseType === "empty") {
153
+ throw new Error(`KB API protocol error: expected HTTP 204, received ${resp.status}`);
154
+ }
155
+ return result;
151
156
  }
152
157
  async function requestWithCliToken(host, input, init, options) {
158
+ const originalToken = await getCliToken(host);
153
159
  try {
154
- return await fetchWithCliToken(input, init, await getCliToken(host), options);
160
+ return await fetchWithCliToken(input, init, originalToken, options);
155
161
  } catch (error) {
156
162
  if (error instanceof KbUnauthorizedError) {
163
+ if (options.retryUnauthorized === true) {
164
+ const refreshedToken = await getCliToken(host);
165
+ if (refreshedToken !== originalToken) {
166
+ try {
167
+ return await fetchWithCliToken(input, init, refreshedToken, options);
168
+ } catch (retryError) {
169
+ if (!(retryError instanceof KbUnauthorizedError)) throw retryError;
170
+ }
171
+ }
172
+ }
157
173
  throw new SecureStoreAuthError(
158
174
  `The stored CLI token for ${host} is invalid or expired. Run: ae-cli auth login --host ${host}`
159
175
  );
@@ -188,7 +204,7 @@ async function kbUpload(ctx, path, form, params = {}, options = {}) {
188
204
  host,
189
205
  buildUrl(host, path, params),
190
206
  {
191
- method: "POST",
207
+ method: options.method ?? "POST",
192
208
  body: form
193
209
  },
194
210
  uploadOptions
@@ -1,7 +1,7 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  logger
4
- } from "./chunk-4P355ZWB.js";
4
+ } from "./chunk-MAPZ7VB6.js";
5
5
 
6
6
  // src/core/url-utils.ts
7
7
  function normalizeUrl(url) {
@@ -6,11 +6,11 @@ import {
6
6
  normalizeUrl,
7
7
  safeJsonParse,
8
8
  safeReadJsonFile
9
- } from "./chunk-WZ6YVQSF.js";
9
+ } from "./chunk-7FTTULED.js";
10
10
  import {
11
11
  PermissionError,
12
12
  logger
13
- } from "./chunk-4P355ZWB.js";
13
+ } from "./chunk-MAPZ7VB6.js";
14
14
 
15
15
  // src/core/secure-store.ts
16
16
  import crypto from "crypto";
@@ -0,0 +1,155 @@
1
+ import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ dryRunCapability,
4
+ executeCapabilityWithEnvelope,
5
+ validateCapability
6
+ } from "./chunk-HFGZGYCG.js";
7
+ import {
8
+ resolveGatewayDomain
9
+ } from "./chunk-KPQY44JQ.js";
10
+ import {
11
+ withOutputMetadata
12
+ } from "./chunk-DX5CDO34.js";
13
+ import {
14
+ CliValidationError
15
+ } from "./chunk-MAPZ7VB6.js";
16
+
17
+ // src/core/definition-intent.ts
18
+ import { createHash } from "crypto";
19
+ var definitionIntentSnapshotFlag = {
20
+ name: "intent-snapshot",
21
+ type: "json",
22
+ required: false,
23
+ desc: 'Optional user-confirmed intent snapshot: {"schema_version":1,"requirement":"...","definition":{...}}. ae-cli rejects drift between this snapshot and the final definition before validate, dry-run, or execute. The snapshot is not sent to the Gateway.'
24
+ };
25
+ var modelDefinitionIntentSnapshotFlag = {
26
+ name: "intent-snapshot",
27
+ type: "json",
28
+ required: false,
29
+ desc: 'Optional user-confirmed intent snapshot: {"schema_version":1,"requirement":"...","model_type":"event","definition":{...}}. ae-cli rejects drift between this snapshot and the final model-type/definition before validate, dry-run, or execute. The snapshot is not sent to the Gateway.'
30
+ };
31
+ function verifyDefinitionIntent(ctx, config) {
32
+ const snapshotFlag = config.snapshotFlag ?? "intent-snapshot";
33
+ const snapshot = ctx.json(snapshotFlag);
34
+ if (snapshot === void 0) return void 0;
35
+ if (!isRecord(snapshot) || snapshot.schema_version !== 1) {
36
+ throw mismatch("Intent snapshot must be an object with schema_version=1.");
37
+ }
38
+ if (typeof snapshot.requirement !== "string" || snapshot.requirement.trim().length === 0) {
39
+ throw mismatch("Intent snapshot requirement must be a non-empty string.");
40
+ }
41
+ if (!Object.prototype.hasOwnProperty.call(snapshot, "definition")) {
42
+ throw mismatch("Intent snapshot must include definition.");
43
+ }
44
+ const definitionFlag = config.definitionFlag ?? "definition";
45
+ const finalDefinition = ctx.json(definitionFlag);
46
+ if (finalDefinition === void 0 || !jsonEqual(snapshot.definition, finalDefinition)) {
47
+ throw mismatch("Final definition does not match the user-confirmed intent snapshot.");
48
+ }
49
+ if (config.modelTypeFlag) {
50
+ const finalModelType = ctx.str(config.modelTypeFlag);
51
+ if (typeof snapshot.model_type !== "string" || snapshot.model_type !== finalModelType) {
52
+ throw mismatch("Final model type does not match the user-confirmed intent snapshot.");
53
+ }
54
+ }
55
+ return {
56
+ checked: true,
57
+ matched: true,
58
+ schema_version: 1,
59
+ snapshot_sha256: createHash("sha256").update(canonicalJson(snapshot)).digest("hex")
60
+ };
61
+ }
62
+ function mismatch(message) {
63
+ return new CliValidationError(message, {
64
+ code: "DEFINITION_INTENT_MISMATCH",
65
+ hint: "Rebuild the final definition from the confirmed snapshot, or ask the user to confirm a new snapshot."
66
+ });
67
+ }
68
+ function jsonEqual(left, right) {
69
+ return canonicalJson(left) === canonicalJson(right);
70
+ }
71
+ function canonicalJson(value) {
72
+ if (Array.isArray(value)) {
73
+ return `[${value.map(canonicalJson).join(",")}]`;
74
+ }
75
+ if (isRecord(value)) {
76
+ return `{${Object.keys(value).sort().map((key) => `${JSON.stringify(key)}:${canonicalJson(value[key])}`).join(",")}}`;
77
+ }
78
+ const encoded = JSON.stringify(value);
79
+ return encoded === void 0 ? "null" : encoded;
80
+ }
81
+ function isRecord(value) {
82
+ return value !== null && typeof value === "object" && !Array.isArray(value);
83
+ }
84
+
85
+ // src/core/capability-command.ts
86
+ import { randomBytes } from "crypto";
87
+ function createCapabilityCommand(config) {
88
+ return {
89
+ service: config.cliService,
90
+ resource: config.resource,
91
+ command: config.command,
92
+ capabilityId: config.capabilityId,
93
+ description: config.description,
94
+ helpText: config.helpText,
95
+ flags: config.flags,
96
+ risk: config.risk,
97
+ validate: config.validate || config.intentConsistency ? (ctx) => {
98
+ config.validate?.(ctx);
99
+ if (config.intentConsistency) verifyDefinitionIntent(ctx, config.intentConsistency);
100
+ } : void 0,
101
+ preflight: (ctx) => {
102
+ config.buildInput(ctx);
103
+ },
104
+ validateInput: async (ctx) => {
105
+ const gatewayDomain = resolveGatewayDomain(config.cliService, config.gatewayDomain);
106
+ const requestHost = config.requestHost ?? ctx.host();
107
+ const input = withLifecycleRequestId(config, config.buildInput(ctx));
108
+ const evidence = config.intentConsistency ? verifyDefinitionIntent(ctx, config.intentConsistency) : void 0;
109
+ const intentMeta = evidence ? { intent_consistency: evidence } : void 0;
110
+ return withOutputMetadata(await validateCapability(requestHost, gatewayDomain, config.capabilityId, input), intentMeta);
111
+ },
112
+ dryRun: async (ctx) => {
113
+ const gatewayDomain = resolveGatewayDomain(config.cliService, config.gatewayDomain);
114
+ const requestHost = config.requestHost ?? ctx.host();
115
+ const input = withLifecycleRequestId(config, config.buildInput(ctx));
116
+ const evidence = config.intentConsistency ? verifyDefinitionIntent(ctx, config.intentConsistency) : void 0;
117
+ const intentMeta = evidence ? { intent_consistency: evidence } : void 0;
118
+ return withOutputMetadata(await dryRunCapability(requestHost, gatewayDomain, config.capabilityId, input), intentMeta);
119
+ },
120
+ execute: async (ctx) => {
121
+ const gatewayDomain = resolveGatewayDomain(config.cliService, config.gatewayDomain);
122
+ const requestHost = config.requestHost ?? ctx.host();
123
+ const input = withLifecycleRequestId(config, config.buildInput(ctx));
124
+ const evidence = config.intentConsistency ? verifyDefinitionIntent(ctx, config.intentConsistency) : void 0;
125
+ const intentMeta = evidence ? { intent_consistency: evidence } : void 0;
126
+ announceDispatch(config.capabilityId, input);
127
+ const result = await executeCapabilityWithEnvelope(requestHost, gatewayDomain, config.capabilityId, input);
128
+ const data = config.postProcess ? await config.postProcess(result.data, input, ctx) : result.data;
129
+ return withOutputMetadata(data, { ...result.meta, ...intentMeta });
130
+ }
131
+ };
132
+ }
133
+ function withLifecycleRequestId(config, input) {
134
+ if (!config.flags.some((flag) => flag.name === "request-id")) {
135
+ return input;
136
+ }
137
+ const supplied = input.request_id;
138
+ const requestId = typeof supplied === "string" && supplied.length > 0 ? supplied : `cli_${randomBytes(16).toString("hex")}`;
139
+ return { ...input, request_id: requestId };
140
+ }
141
+ function announceDispatch(capabilityId, input) {
142
+ if (typeof input.request_id !== "string") {
143
+ return;
144
+ }
145
+ process.stderr.write(
146
+ `[ae-cli] dispatching capability=${capabilityId} request_id=${input.request_id}
147
+ `
148
+ );
149
+ }
150
+
151
+ export {
152
+ definitionIntentSnapshotFlag,
153
+ modelDefinitionIntentSnapshotFlag,
154
+ createCapabilityCommand
155
+ };
@@ -1,64 +1,15 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
+ import {
3
+ require_inherits,
4
+ require_isarray,
5
+ require_node,
6
+ require_process_nextick_args,
7
+ require_util
8
+ } from "./chunk-V2NUHPXF.js";
2
9
  import {
3
10
  __commonJS,
4
11
  __require
5
- } from "./chunk-4P355ZWB.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
- });
12
+ } from "./chunk-MAPZ7VB6.js";
62
13
 
63
14
  // node_modules/jszip/node_modules/readable-stream/lib/internal/streams/stream.js
64
15
  var require_stream = __commonJS({
@@ -126,125 +77,6 @@ var require_safe_buffer = __commonJS({
126
77
  }
127
78
  });
128
79
 
129
- // node_modules/core-util-is/lib/util.js
130
- var require_util = __commonJS({
131
- "node_modules/core-util-is/lib/util.js"(exports) {
132
- "use strict";
133
- function isArray(arg) {
134
- if (Array.isArray) {
135
- return Array.isArray(arg);
136
- }
137
- return objectToString(arg) === "[object Array]";
138
- }
139
- exports.isArray = isArray;
140
- function isBoolean(arg) {
141
- return typeof arg === "boolean";
142
- }
143
- exports.isBoolean = isBoolean;
144
- function isNull(arg) {
145
- return arg === null;
146
- }
147
- exports.isNull = isNull;
148
- function isNullOrUndefined(arg) {
149
- return arg == null;
150
- }
151
- exports.isNullOrUndefined = isNullOrUndefined;
152
- function isNumber(arg) {
153
- return typeof arg === "number";
154
- }
155
- exports.isNumber = isNumber;
156
- function isString(arg) {
157
- return typeof arg === "string";
158
- }
159
- exports.isString = isString;
160
- function isSymbol(arg) {
161
- return typeof arg === "symbol";
162
- }
163
- exports.isSymbol = isSymbol;
164
- function isUndefined(arg) {
165
- return arg === void 0;
166
- }
167
- exports.isUndefined = isUndefined;
168
- function isRegExp(re) {
169
- return objectToString(re) === "[object RegExp]";
170
- }
171
- exports.isRegExp = isRegExp;
172
- function isObject(arg) {
173
- return typeof arg === "object" && arg !== null;
174
- }
175
- exports.isObject = isObject;
176
- function isDate(d) {
177
- return objectToString(d) === "[object Date]";
178
- }
179
- exports.isDate = isDate;
180
- function isError(e) {
181
- return objectToString(e) === "[object Error]" || e instanceof Error;
182
- }
183
- exports.isError = isError;
184
- function isFunction(arg) {
185
- return typeof arg === "function";
186
- }
187
- exports.isFunction = isFunction;
188
- function isPrimitive(arg) {
189
- return arg === null || typeof arg === "boolean" || typeof arg === "number" || typeof arg === "string" || typeof arg === "symbol" || // ES6 symbol
190
- typeof arg === "undefined";
191
- }
192
- exports.isPrimitive = isPrimitive;
193
- exports.isBuffer = __require("buffer").Buffer.isBuffer;
194
- function objectToString(o) {
195
- return Object.prototype.toString.call(o);
196
- }
197
- }
198
- });
199
-
200
- // node_modules/inherits/inherits_browser.js
201
- var require_inherits_browser = __commonJS({
202
- "node_modules/inherits/inherits_browser.js"(exports, module) {
203
- "use strict";
204
- if (typeof Object.create === "function") {
205
- module.exports = function inherits(ctor, superCtor) {
206
- if (superCtor) {
207
- ctor.super_ = superCtor;
208
- ctor.prototype = Object.create(superCtor.prototype, {
209
- constructor: {
210
- value: ctor,
211
- enumerable: false,
212
- writable: true,
213
- configurable: true
214
- }
215
- });
216
- }
217
- };
218
- } else {
219
- module.exports = function inherits(ctor, superCtor) {
220
- if (superCtor) {
221
- ctor.super_ = superCtor;
222
- var TempCtor = function() {
223
- };
224
- TempCtor.prototype = superCtor.prototype;
225
- ctor.prototype = new TempCtor();
226
- ctor.prototype.constructor = ctor;
227
- }
228
- };
229
- }
230
- }
231
- });
232
-
233
- // node_modules/inherits/inherits.js
234
- var require_inherits = __commonJS({
235
- "node_modules/inherits/inherits.js"(exports, module) {
236
- "use strict";
237
- try {
238
- util = __require("util");
239
- if (typeof util.inherits !== "function") throw "";
240
- module.exports = util.inherits;
241
- } catch (e) {
242
- module.exports = require_inherits_browser();
243
- }
244
- var util;
245
- }
246
- });
247
-
248
80
  // node_modules/jszip/node_modules/readable-stream/lib/internal/streams/BufferList.js
249
81
  var require_BufferList = __commonJS({
250
82
  "node_modules/jszip/node_modules/readable-stream/lib/internal/streams/BufferList.js"(exports, module) {
@@ -392,14 +224,6 @@ var require_destroy = __commonJS({
392
224
  }
393
225
  });
394
226
 
395
- // node_modules/util-deprecate/node.js
396
- var require_node = __commonJS({
397
- "node_modules/util-deprecate/node.js"(exports, module) {
398
- "use strict";
399
- module.exports = __require("util").deprecate;
400
- }
401
- });
402
-
403
227
  // node_modules/jszip/node_modules/readable-stream/lib/_stream_writable.js
404
228
  var require_stream_writable = __commonJS({
405
229
  "node_modules/jszip/node_modules/readable-stream/lib/_stream_writable.js"(exports, module) {
@@ -9746,7 +9570,5 @@ var require_lib3 = __commonJS({
9746
9570
  });
9747
9571
 
9748
9572
  export {
9749
- require_inherits,
9750
- require_node,
9751
9573
  require_lib3 as require_lib
9752
9574
  };
@@ -1,16 +1,16 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  peekCliToken
4
- } from "./chunk-ATSM5XAW.js";
4
+ } from "./chunk-7XGFSUOM.js";
5
5
  import {
6
6
  getActiveHost,
7
7
  getConfigDir,
8
8
  isAeSandboxRuntime,
9
9
  normalizeUrl
10
- } from "./chunk-WZ6YVQSF.js";
10
+ } from "./chunk-7FTTULED.js";
11
11
  import {
12
12
  logger
13
- } from "./chunk-4P355ZWB.js";
13
+ } from "./chunk-MAPZ7VB6.js";
14
14
 
15
15
  // src/core/version-sync.ts
16
16
  import { spawnSync } from "child_process";
@@ -893,6 +893,13 @@ var KNOWN_ARRAY_FIELDS = [
893
893
  var OUTPUT_METADATA = /* @__PURE__ */ Symbol("ae-cli-output-metadata");
894
894
  function withOutputMetadata(data, meta) {
895
895
  if (!meta || Object.keys(meta).length === 0) return data;
896
+ if (isOutputWithMetadata(data)) {
897
+ return {
898
+ [OUTPUT_METADATA]: true,
899
+ data: data.data,
900
+ meta: { ...data.meta, ...meta }
901
+ };
902
+ }
896
903
  return {
897
904
  [OUTPUT_METADATA]: true,
898
905
  data,
@@ -925,7 +932,7 @@ function formatTable(data) {
925
932
  const table2 = new Table({ head: headers, wordWrap: true });
926
933
  for (const row of data.rows) {
927
934
  const values = Array.isArray(row) ? row : [row];
928
- table2.push(headers.map((_, index) => {
935
+ table2.push(headers.map((_header, index) => {
929
936
  const value = values[index];
930
937
  if (value === void 0 || value === null) return "";
931
938
  if (typeof value === "object") return JSON.stringify(value);
@@ -967,7 +974,8 @@ async function applyJq(data, expr) {
967
974
  const message = err instanceof JqError ? err.message : err?.message || String(err);
968
975
  const error = new Error(`Invalid --jq expression: ${message}`);
969
976
  error.type = "validation";
970
- error.hint = "Use standard jq syntax, e.g. .status or {status,pendingQuestion}";
977
+ error.code = "OUTPUT_PROJECTION_FAILED";
978
+ error.hint = "The command completed. Original data and metadata are preserved in stdout; fix the jq expression locally without executing the command again. --jq applies to the command data before envelope wrapping.";
971
979
  throw error;
972
980
  }
973
981
  if (results.length === 0) return null;
@@ -1015,7 +1023,20 @@ function printError(type, message, hint, code, meta, options = {}) {
1015
1023
  }
1016
1024
  }
1017
1025
  async function printOutput(data, format, jqExpr) {
1018
- process.stdout.write(await formatOutput(data, format, jqExpr) + "\n");
1026
+ try {
1027
+ process.stdout.write(await formatOutput(data, format, jqExpr) + "\n");
1028
+ } catch (error) {
1029
+ if (error?.code === "OUTPUT_PROJECTION_FAILED") {
1030
+ const recovery = JSON.parse(formatError("validation", error.message, error.hint, error.code, readOutputMetadata(data)));
1031
+ await new Promise((resolve, reject) => {
1032
+ process.stdout.write(
1033
+ JSON.stringify({ ...recovery, data: unwrapOutputData(data) }, null, 2) + "\n",
1034
+ (error2) => error2 ? reject(error2) : resolve()
1035
+ );
1036
+ });
1037
+ }
1038
+ throw error;
1039
+ }
1019
1040
  }
1020
1041
 
1021
1042
  export {