@thinkingai/ae-cli 1.0.28 → 6.0.16-1

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 (360) hide show
  1. package/README.md +1 -16
  2. package/README.zh.md +1 -16
  3. package/dist/{auth-H2376DEF.js → auth-DYC2BGLM.js} +2 -2
  4. package/dist/{auth-5NSDQFQB.js → auth-GHBMJ5ZR.js} +31 -12
  5. package/dist/{chunk-CLJF7MQA.js → chunk-2DUEAXV3.js} +1 -1
  6. package/dist/chunk-5OC7CYCG.js +98 -0
  7. package/dist/{chunk-SRJIAOBN.js → chunk-6W4QOZAL.js} +10 -0
  8. package/dist/{chunk-LU7SXK4Q.js → chunk-BJX3GXWC.js} +2 -2
  9. package/dist/{chunk-WCHI7725.js → chunk-DMMEPCST.js} +47 -6
  10. package/dist/{chunk-IMBKVXKY.js → chunk-EGEIXA2Z.js} +82 -10
  11. package/dist/{chunk-AD5V3ZPJ.js → chunk-I5CRVM2S.js} +98 -10
  12. package/dist/chunk-NOO24N7W.js +11 -0
  13. package/dist/{chunk-GSJGPNKK.js → chunk-PN3OS34E.js} +1 -1
  14. package/dist/{chunk-CAQYQA4R.js → chunk-RSHMZ3LG.js} +15 -1
  15. package/dist/{client-FCMK3XEK.js → client-2UJ63MVQ.js} +3 -3
  16. package/dist/{config-64G36TJL.js → config-NCUGK6NS.js} +3 -3
  17. package/dist/index.js +2553 -29
  18. package/dist/{model-EZ6K7FXI.js → model-SJSOZTRS.js} +5 -7
  19. package/dist/{raw-VEF3D6UD.js → raw-7NVWSVJP.js} +4 -4
  20. package/dist/{sync-NRODEVNH.js → sync-GRVO4K3U.js} +120 -23
  21. package/dist/{te-agent-7U7JLJKU.js → te-agent-KZRIEN4N.js} +468 -47
  22. package/dist/{te-analysis-A2OSGHQ4.js → te-analysis-VAR4KUOK.js} +145 -28
  23. package/dist/{te-audience-LI67PPGO.js → te-audience-KMKYI2YJ.js} +23 -14
  24. package/dist/{te-common-35WVU3C5.js → te-common-WNCZB7R7.js} +5 -4
  25. package/dist/{te-community-LEAP6PWT.js → te-community-JEEFXPB3.js} +11 -10
  26. package/dist/{te-dataops-N2LGZBOX.js → te-dataops-GD3XBYCS.js} +33 -32
  27. package/dist/{te-engage-H7C72Z46.js → te-engage-4XHCTS6I.js} +5 -4
  28. package/dist/{te-kb-I2OKTBAI.js → te-kb-B62KFP2A.js} +97 -7
  29. package/dist/{te-meta-HBTIEDRO.js → te-meta-EPZGQN56.js} +10 -9
  30. package/dist/{te-team-EM5OWRQL.js → te-team-YY24VORI.js} +16 -12
  31. package/dist/tracking/i18n/resources/cli/en.json +153 -0
  32. package/dist/tracking/i18n/resources/cli/ja.json +153 -0
  33. package/dist/tracking/i18n/resources/cli/ko.json +153 -0
  34. package/dist/tracking/i18n/resources/cli/zh.json +153 -0
  35. package/package.json +9 -3
  36. package/skills/ae-agent/SKILL.md +66 -26
  37. package/skills/ae-analysis/SKILL.md +108 -8
  38. package/skills/ae-analysis/references/cancel_query.md +39 -0
  39. package/skills/ae-analysis/references/drilldown_user_events.md +4 -2
  40. package/skills/ae-analysis/references/drilldown_users.md +4 -2
  41. package/skills/ae-analysis/references/get_bi_panel_detail.md +35 -0
  42. package/skills/ae-analysis/references/list_alerts.md +1 -1
  43. package/skills/ae-analysis/references/list_bi_panels.md +35 -0
  44. package/skills/ae-analysis/references/list_cluster_members.md +4 -1
  45. package/skills/ae-analysis/references/list_dashboards.md +1 -1
  46. package/skills/ae-analysis/references/list_entities.md +1 -1
  47. package/skills/ae-analysis/references/list_events.md +1 -1
  48. package/skills/ae-analysis/references/list_metrics.md +1 -1
  49. package/skills/ae-analysis/references/list_project_mark_times.md +1 -1
  50. package/skills/ae-analysis/references/list_properties.md +1 -1
  51. package/skills/ae-analysis/references/list_public_access_links.md +1 -1
  52. package/skills/ae-analysis/references/list_reports.md +1 -1
  53. package/skills/ae-analysis/references/list_tag_members.md +4 -1
  54. package/skills/ae-analysis/references/query_adhoc.md +6 -5
  55. package/skills/ae-analysis/references/query_bi_panel_data.md +58 -0
  56. package/skills/ae-analysis/references/query_dashboard_report_data.md +4 -1
  57. package/skills/ae-analysis/references/query_entity_details.md +5 -2
  58. package/skills/ae-analysis/references/query_event_details.md +4 -1
  59. package/skills/ae-analysis/references/query_report_data.md +2 -2
  60. package/skills/ae-analysis-global/SKILL.md +3 -1
  61. package/skills/ae-analysis-intent/SKILL.md +132 -0
  62. package/skills/ae-data-integration-helper/SKILL.md +242 -0
  63. package/skills/ae-data-integration-helper/references/android_sdk_faq.md +179 -0
  64. package/skills/ae-data-integration-helper/references/c_sdk_compilation.md +83 -0
  65. package/skills/ae-data-integration-helper/references/c_sdk_faq.md +416 -0
  66. package/skills/ae-data-integration-helper/references/cocoscreator_sdk_faq.md +123 -0
  67. package/skills/ae-data-integration-helper/references/cpp_server_sdk_faq.md +365 -0
  68. package/skills/ae-data-integration-helper/references/index.md +56 -0
  69. package/skills/ae-data-integration-helper/references/ios_sdk_faq.md +118 -0
  70. package/skills/ae-data-integration-helper/references/java_sdk_faq.md +406 -0
  71. package/skills/ae-data-integration-helper/references/javascript_sdk_faq.md +129 -0
  72. package/skills/ae-data-integration-helper/references/logbus2_guide.md +309 -0
  73. package/skills/ae-data-integration-helper/references/logbus2_parser_plugin.md +348 -0
  74. package/skills/ae-data-integration-helper/references/minigame_sdk_faq.md +115 -0
  75. package/skills/ae-data-integration-helper/references/miniprogram_sdk_faq.md +118 -0
  76. package/skills/ae-data-integration-helper/references/python_sdk_faq.md +232 -0
  77. package/skills/ae-data-integration-helper/references/restful_api_notes.md +74 -0
  78. package/skills/ae-data-integration-helper/references/sdk_log_guide.md +316 -0
  79. package/skills/ae-data-integration-helper/references/sdk_usage_notes.md +107 -0
  80. package/skills/ae-data-integration-helper/references/unity_sdk_faq.md +115 -0
  81. package/skills/ae-generate-tracking-code/SKILL.md +629 -0
  82. package/skills/ae-generate-tracking-code/references/autotrack-enum.md +183 -0
  83. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +202 -0
  84. package/skills/ae-generate-tracking-code/references/datax-config.md +43 -0
  85. package/skills/ae-generate-tracking-code/references/debug-script.md +102 -0
  86. package/skills/ae-generate-tracking-code/references/logbus-config.md +200 -0
  87. package/skills/ae-generate-tracking-code/references/modes.md +83 -0
  88. package/skills/ae-generate-tracking-code/references/restful-call.md +36 -0
  89. package/skills/ae-generate-tracking-code/references/sdk-index.md +128 -0
  90. package/skills/ae-generate-tracking-code/references/server-sdk-insert.md +206 -0
  91. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +394 -0
  92. package/skills/ae-generate-tracking-code/references/te-api.md +181 -0
  93. package/skills/ae-generate-tracking-plan/SKILL.md +1083 -0
  94. package/skills/ae-generate-tracking-plan/references/autotrack-events.md +273 -0
  95. package/skills/ae-generate-tracking-plan/references/business-dimension-mapping.md +425 -0
  96. package/skills/ae-generate-tracking-plan/references/te-api.md +100 -0
  97. package/skills/ae-generate-tracking-plan/references/xlsx-schema.md +152 -0
  98. package/skills/ae-kb/SKILL.md +38 -5
  99. package/tracking-plan-template/MMO/346/211/213/346/270/270/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +104 -0
  100. package/tracking-plan-template/MMO/346/211/213/346/270/270/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  101. package/tracking-plan-template/MMO/351/241/265/346/270/270/345/237/213/347/202/271/346/250/241/346/235/277_v2.md +117 -0
  102. package/tracking-plan-template/MMO/351/241/265/346/270/270/345/237/213/347/202/271/346/250/241/346/235/277_v2.xlsx +0 -0
  103. package/tracking-plan-template/RPG/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +72 -0
  104. package/tracking-plan-template/RPG/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  105. package/tracking-plan-template/SLG/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +86 -0
  106. package/tracking-plan-template/SLG/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  107. package/tracking-plan-template/Slots/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +80 -0
  108. package/tracking-plan-template/Slots/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  109. package/tracking-plan-template/TE /345/237/213/347/202/271/347/244/272/344/276/213/346/250/241/346/235/277.md" +40 -0
  110. package/tracking-plan-template/TE /345/237/213/347/202/271/347/244/272/344/276/213/346/250/241/346/235/277.xlsx +0 -0
  111. package/tracking-plan-template/TE/345/256/230/346/226/271/346/250/241/346/235/277_dataTrackSample.md +40 -0
  112. package/tracking-plan-template/TE/345/256/230/346/226/271/346/250/241/346/235/277_dataTrackSample.xlsx +0 -0
  113. package/tracking-plan-template//344/274/221/351/227/262/345/205/273/346/210/220/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v2.md +92 -0
  114. package/tracking-plan-template//344/274/221/351/227/262/345/205/273/346/210/220/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v2.xlsx +0 -0
  115. package/tracking-plan-template//345/215/241/347/211/214/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +119 -0
  116. package/tracking-plan-template//345/215/241/347/211/214/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  117. package/tracking-plan-template//345/241/224/351/230/262/345/205/273/346/210/220/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_V1.md +130 -0
  118. package/tracking-plan-template//345/241/224/351/230/262/345/205/273/346/210/220/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_V1.xlsx +0 -0
  119. package/tracking-plan-template//345/276/256/344/277/241/345/260/217/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +52 -0
  120. package/tracking-plan-template//345/276/256/344/277/241/345/260/217/346/270/270/346/210/217/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  121. package/tracking-plan-template//346/215/225/351/261/274/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +68 -0
  122. package/tracking-plan-template//346/215/225/351/261/274/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  123. package/tracking-plan-template//346/224/276/347/275/256/347/261/273/345/215/241/347/211/214/346/270/270/346/210/217_/345/237/213/347/202/271/346/250/241/347/211/210v1.md +108 -0
  124. package/tracking-plan-template//346/224/276/347/275/256/347/261/273/345/215/241/347/211/214/346/270/270/346/210/217_/345/237/213/347/202/271/346/250/241/347/211/210v1.xlsx +0 -0
  125. package/tracking-plan-template//346/224/276/347/275/256/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +119 -0
  126. package/tracking-plan-template//346/224/276/347/275/256/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  127. package/tracking-plan-template//346/243/213/347/211/214/347/261/273/357/274/210/346/226/227/345/234/260/344/270/273/357/274/211/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +63 -0
  128. package/tracking-plan-template//346/243/213/347/211/214/347/261/273/357/274/210/346/226/227/345/234/260/344/270/273/357/274/211/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  129. package/tracking-plan-template//346/243/213/347/211/214/347/261/273/357/274/210/351/272/273/345/260/206/357/274/211/345/237/213/347/202/271/346/250/241/346/235/277_v2.md +101 -0
  130. package/tracking-plan-template//346/243/213/347/211/214/347/261/273/357/274/210/351/272/273/345/260/206/357/274/211/345/237/213/347/202/271/346/250/241/346/235/277_v2.xlsx +0 -0
  131. package/tracking-plan-template//347/224/265/345/225/206/345/237/213/347/202/271/346/226/271/346/241/210/346/250/241/346/235/277_v1.md +84 -0
  132. package/tracking-plan-template//347/224/265/345/225/206/345/237/213/347/202/271/346/226/271/346/241/210/346/250/241/346/235/277_v1.xlsx +0 -0
  133. package/tracking-plan-template//347/237/255/345/211/247/344/272/247/345/223/201/345/237/213/347/202/271/346/226/271/346/241/210/346/250/241/346/235/277_v1.md +79 -0
  134. package/tracking-plan-template//347/237/255/345/211/247/344/272/247/345/223/201/345/237/213/347/202/271/346/226/271/346/241/210/346/250/241/346/235/277_v1.xlsx +0 -0
  135. package/tracking-plan-template//347/244/276/344/272/244/350/201/212/345/244/251/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +105 -0
  136. package/tracking-plan-template//347/244/276/344/272/244/350/201/212/345/244/251/347/261/273/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  137. package/tracking-plan-template//351/230/205/350/257/273/347/261/273APP/345/237/213/347/202/271/346/250/241/346/235/277_v1.md +83 -0
  138. package/tracking-plan-template//351/230/205/350/257/273/347/261/273APP/345/237/213/347/202/271/346/250/241/346/235/277_v1.xlsx +0 -0
  139. package/wiki/te-docs/index.md +225 -0
  140. package/wiki/te-docs/raw/advanced-data-type/first-event-check.md +66 -0
  141. package/wiki/te-docs/raw/advanced-data-type/updated-event.md +87 -0
  142. package/wiki/te-docs/raw/advanced-data-type.md +16 -0
  143. package/wiki/te-docs/raw/data-ingestion-guide/about-gdpr.md +55 -0
  144. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/automatic-event-tracking.md +431 -0
  145. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/debugging-and-logging.md +49 -0
  146. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/multi-instance.md +66 -0
  147. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/preset-properties.md +466 -0
  148. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced/third-party-integration.md +127 -0
  149. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/android-advanced.md +513 -0
  150. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/compliance.md +24 -0
  151. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android/release-notes.md +177 -0
  152. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/android.md +228 -0
  153. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c/c-advanced.md +419 -0
  154. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c/release-notes.md +45 -0
  155. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/c.md +110 -0
  156. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/client-side-sdk-faq.md +52 -0
  157. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp/cpp-advanced.md +366 -0
  158. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp/release-notes.md +103 -0
  159. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cpp.md +201 -0
  160. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/compliance.md +26 -0
  161. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/automatically-track-events.md +117 -0
  162. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/debugging-and-logging.md +47 -0
  163. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced/preset-properties.md +52 -0
  164. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/flutter-advanced.md +267 -0
  165. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter/release-notes.md +82 -0
  166. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/flutter.md +139 -0
  167. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/compliance.md +26 -0
  168. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/automatically-track-events.md +121 -0
  169. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/debugging-and-logging.md +54 -0
  170. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced/preset-properties.md +18 -0
  171. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/reactnative-advanced.md +305 -0
  172. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native/release-notes.md +79 -0
  173. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/react-native.md +137 -0
  174. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/release-notes.md +24 -0
  175. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/automatically-track-events.md +54 -0
  176. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/debugging-and-logging.md +53 -0
  177. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/multi-instance.md +42 -0
  178. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/preset-properties.md +119 -0
  179. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced/support-native.md +81 -0
  180. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app/uniapp-advanced.md +331 -0
  181. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform/uni-app.md +156 -0
  182. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/cross-platform.md +12 -0
  183. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/automatic-event-tracking.md +29 -0
  184. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/debugging-and-logging.md +47 -0
  185. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/multi-instance.md +21 -0
  186. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced/preset-properties.md +249 -0
  187. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/cocos2d-x-advanced.md +301 -0
  188. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/compliance.md +24 -0
  189. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x/release-notes.md +51 -0
  190. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocos2d-x.md +281 -0
  191. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/automatic-event-tracking.md +70 -0
  192. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/debugging-and-logging.md +57 -0
  193. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/native-support.md +104 -0
  194. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance/preset-properties.md +91 -0
  195. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/cocoscreator-advance.md +374 -0
  196. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/compliance.md +35 -0
  197. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator/release-notes.md +109 -0
  198. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/cocoscreator.md +170 -0
  199. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/compliance.md +28 -0
  200. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/automatic-event-tracking.md +29 -0
  201. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/debugging-and-logging.md +58 -0
  202. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced/preset-properties.md +43 -0
  203. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/corona-advanced.md +204 -0
  204. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona/release-notes.md +29 -0
  205. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/corona.md +269 -0
  206. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/compliance.md +24 -0
  207. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/release-notes.md +177 -0
  208. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/automatic-event-tracking.md +119 -0
  209. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/debugging-and-logging.md +47 -0
  210. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/multi-instance.md +50 -0
  211. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/native-pluggable.md +43 -0
  212. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/preset-properties.md +212 -0
  213. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced/third-party-integration.md +77 -0
  214. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity/unity-advanced.md +396 -0
  215. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unity.md +176 -0
  216. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/compliance.md +24 -0
  217. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/release-notes.md +81 -0
  218. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/automatic-event-tracking.md +79 -0
  219. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/debugging-and-logging.md +31 -0
  220. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/preset-properties.md +25 -0
  221. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced/third-party-integrations.md +141 -0
  222. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal/unreal-advanced.md +278 -0
  223. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine/unreal.md +190 -0
  224. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/game-engine.md +14 -0
  225. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/h5-and-app-sdk-connection.md +147 -0
  226. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/instant-app-and-game.md +24 -0
  227. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/compliance.md +24 -0
  228. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/automatic-event-tracking.md +272 -0
  229. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/debugging-and-logging.md +77 -0
  230. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/multi-instance.md +142 -0
  231. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/preset-properties.md +484 -0
  232. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced/third-party-integrations.md +132 -0
  233. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/ios-advanced.md +682 -0
  234. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios/release-notes.md +163 -0
  235. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/ios.md +304 -0
  236. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/compliance.md +29 -0
  237. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/automatic-event-tracking.md +136 -0
  238. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/debugging-and-logging.md +48 -0
  239. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/multi-instance.md +50 -0
  240. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced/preset-properties.md +132 -0
  241. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/javascript-advanced.md +462 -0
  242. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript/release-notes.md +107 -0
  243. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/javascript.md +208 -0
  244. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced/debugging-and-logging.md +62 -0
  245. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced/preset-properties.md +118 -0
  246. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos/macos-advanced.md +556 -0
  247. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk/macos.md +231 -0
  248. package/wiki/te-docs/raw/data-ingestion-guide/client-sdk.md +25 -0
  249. package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/filebeat-logstash-user-guide.md +610 -0
  250. package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/logbus2-user-guide.md +1215 -0
  251. package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools/ta-datax-writer-plugin-user-guide.md +278 -0
  252. package/wiki/te-docs/raw/data-ingestion-guide/data-import-tools.md +15 -0
  253. package/wiki/te-docs/raw/data-ingestion-guide/privacy-policy.md +38 -0
  254. package/wiki/te-docs/raw/data-ingestion-guide/restful-api-user-guide.md +155 -0
  255. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging-FM9Cwz.md +37 -0
  256. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging-RSyfw7.md +41 -0
  257. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/debugging-and-logging.md +89 -0
  258. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties-OxzWw.md +126 -0
  259. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties-VuE3wr.md +126 -0
  260. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced/preset-properties.md +126 -0
  261. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced-IauKwI.md +175 -0
  262. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced-YAilwk.md +210 -0
  263. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/c-advanced.md +211 -0
  264. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes-PVazwa.md +62 -0
  265. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes-TADbwY.md +50 -0
  266. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c/release-notes.md +69 -0
  267. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c-V2W3wv.md +131 -0
  268. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c-Zf9Jwl.md +179 -0
  269. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/c.md +189 -0
  270. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced/debugging-and-logging.md +38 -0
  271. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced/preset-properties.md +126 -0
  272. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/erlang-advanced.md +113 -0
  273. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang/release-notes.md +34 -0
  274. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/erlang.md +155 -0
  275. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced/debugging-and-logging.md +42 -0
  276. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced/preset-properties.md +126 -0
  277. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/golang-advanced.md +157 -0
  278. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang/release-notes.md +72 -0
  279. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/golang.md +148 -0
  280. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced/debugging-and-logging.md +49 -0
  281. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced/preset-properties.md +126 -0
  282. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/java-advanced.md +223 -0
  283. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java/release-notes.md +88 -0
  284. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/java.md +174 -0
  285. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced/debugging-and-logging.md +46 -0
  286. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced/preset-properties.md +126 -0
  287. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/lua-advanced.md +182 -0
  288. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua/release-notes.md +61 -0
  289. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/lua.md +121 -0
  290. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced/debugging-and-logging.md +55 -0
  291. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced/preset-properties.md +126 -0
  292. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/nodejs-advanced.md +225 -0
  293. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs/release-notes.md +45 -0
  294. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/nodejs.md +141 -0
  295. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced/debugging-and-logging.md +41 -0
  296. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced/preset-properties.md +126 -0
  297. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/php-advanced.md +216 -0
  298. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php/release-notes.md +45 -0
  299. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/php.md +173 -0
  300. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced/debugging-and-logging.md +40 -0
  301. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced/preset-properties.md +126 -0
  302. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/python-advanced.md +206 -0
  303. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python/release-notes.md +51 -0
  304. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/python.md +116 -0
  305. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/release-notes.md +44 -0
  306. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced/debugging-and-logging.md +47 -0
  307. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced/preset-properties.md +126 -0
  308. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby/ruby-advanced.md +189 -0
  309. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk/ruby.md +142 -0
  310. package/wiki/te-docs/raw/data-ingestion-guide/server-sdk.md +22 -0
  311. package/wiki/te-docs/raw/data-ingestion-guide/thinkingdata-privacy-policy.md +37 -0
  312. package/wiki/te-docs/raw/data-ingestion-guide.md +48 -0
  313. package/wiki/te-docs/raw/preparations-before-data-ingestion/data-rules.md +396 -0
  314. package/wiki/te-docs/raw/preparations-before-data-ingestion/preset-properties-and-system-fields.md +957 -0
  315. package/wiki/te-docs/raw/preparations-before-data-ingestion/user-identification-rules.md +723 -0
  316. package/wiki/te-docs/raw/preparations-before-data-ingestion.md +203 -0
  317. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//345/220/210/350/247/204/346/214/207/345/215/227.md +96 -0
  318. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//346/233/264/346/226/260/346/227/245/345/277/227.md +97 -0
  319. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +52 -0
  320. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +48 -0
  321. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +447 -0
  322. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony//350/277/233/351/230/266/346/214/207/345/215/227.md +370 -0
  323. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk/openharmony.md +172 -0
  324. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//345/220/210/350/247/204/346/214/207/345/215/227.md +37 -0
  325. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//346/233/264/346/226/260/346/227/245/345/277/227.md +209 -0
  326. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//345/244/232/345/256/236/344/276/213.md +71 -0
  327. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +49 -0
  328. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +125 -0
  329. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +498 -0
  330. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217//350/277/233/351/230/266/346/214/207/345/215/227.md +612 -0
  331. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//345/260/217/347/250/213/345/272/217/345/260/217/346/270/270/346/210/217.md +373 -0
  332. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//345/220/210/350/247/204/346/214/207/345/215/227.md +26 -0
  333. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//346/233/264/346/226/260/346/227/245/345/277/227.md +32 -0
  334. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +48 -0
  335. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +30 -0
  336. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +61 -0
  337. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua//350/277/233/351/230/266/346/214/207/345/215/227.md +236 -0
  338. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/cocos2d-lua.md +200 -0
  339. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//346/233/264/346/226/260/346/227/245/345/277/227.md +83 -0
  340. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227/native/346/224/257/346/214/201.md +66 -0
  341. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +54 -0
  342. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +62 -0
  343. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +358 -0
  344. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret//350/277/233/351/230/266/346/214/207/345/215/227.md +615 -0
  345. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/egret.md +166 -0
  346. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//346/233/264/346/226/260/346/227/245/345/277/227.md +87 -0
  347. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227/native/346/224/257/346/214/201.md +71 -0
  348. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//345/256/236/346/227/266/350/260/203/350/257/225.md +54 -0
  349. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//350/207/252/345/212/250/351/207/207/351/233/206.md +61 -0
  350. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227//351/242/204/347/275/256/345/261/236/346/200/247.md +406 -0
  351. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair//350/277/233/351/230/266/346/214/207/345/215/227.md +597 -0
  352. package/wiki/te-docs/raw//345/256/242/346/210/267/347/253/257-sdk//346/270/270/346/210/217/345/274/225/346/223/216/layaair.md +179 -0
  353. package/wiki/te-docs/schema.md +16 -0
  354. package/wiki/te-docs/synthesis/batch-ingest-comparison.md +324 -0
  355. package/wiki/te-docs/synthesis/js-sdk-cheatsheet.md +538 -0
  356. package/wiki/te-docs/synthesis/restful-api-reference.md +363 -0
  357. package/wiki/te-docs/synthesis/sdk-selection.md +372 -0
  358. package/wiki/te-docs/synthesis/server-sdk-overview.md +449 -0
  359. package/dist/chunk-KAEZTSXN.js +0 -99
  360. package/dist/chunk-OJDNO5QY.js +0 -63
@@ -0,0 +1,394 @@
1
+ # Snippet Output Mode
2
+
3
+ > **Terminology**: 片段/代码片段 = snippet/code snippet | 产物 = deliverable/output | markdown 响应 = markdown response | 初始化 = initialization | 公共属性 = super property | 用户属性 = user property | 事件组 = event group | 触发时机 = trigger timing | 验证步骤 = verification steps | 设备绑定 = device binding | 自动采集事件 = auto-track event | 占位值 = placeholder value | 属性类型 = property type
4
+
5
+ ## Deliverables
6
+
7
+ Two outputs:
8
+ 1. **Markdown response**: code snippets grouped by platform (for reading)
9
+ 2. **Code files**: `.ae-cli/output/<platform>-sdk.<ext>` (for copy-paste use)
10
+
11
+ ---
12
+
13
+ ## Markdown Response Structure
14
+
15
+ ### 0. Pre-checklist
16
+
17
+ Show configuration info:
18
+ ```
19
+ Configuration:
20
+ - SDK type: <platform> (e.g. android / java / javascript)
21
+ - SERVER_URL: <user-provided ingestion URL>
22
+ - appId: <user-provided APP_ID>
23
+ - User identity: account_id=<field>, distinct_id=<strategy>
24
+ ```
25
+
26
+ ### 1. SDK Initialization Snippet
27
+
28
+ ```
29
+ ## <Platform> SDK Initialization
30
+
31
+ ```<lang>
32
+ // Copy to your entry file
33
+ <init code with SERVER_URL / appId>
34
+ ```
35
+
36
+ ### 1.1 Auto-track Event Enablement (if needed)
37
+
38
+ **Important**: Auto-track events (e.g. page view, button click) are disabled by default after SDK init.
39
+ You must call the corresponding API to **enable** them after or during initialization.
40
+
41
+ ⚠️ **Must read `references/autotrack-enum.md` first** to look up the correct enum values and names for the target SDK.
42
+ **Do not write auto-track code without checking the enum table** — wrong enum names will cause runtime errors.
43
+
44
+ ```
45
+ ## Auto-track Event Switches
46
+
47
+ ```<lang>
48
+ // Add auto-track switches based on selected SDK type
49
+ <autoTrackEnable code>
50
+ ```
51
+ ```
52
+
53
+ ### 2. Super Properties Snippet
54
+
55
+ ```
56
+ ## Super Properties
57
+
58
+ ```<lang>
59
+ // Call after SDK init
60
+ <setSuperProperties code>
61
+ ```
62
+ ```
63
+
64
+ ### 3. User Properties Snippet
65
+
66
+ ```
67
+ ## User Properties
68
+
69
+ ```<lang>
70
+ // Call after user login
71
+ <user_set / user_setOnce code>
72
+ ```
73
+ ```
74
+
75
+ ### 4. By Event Group
76
+
77
+ ```
78
+ ## Event Group: <tag>
79
+
80
+ ### <event_name>
81
+ Trigger: <event_desc>
82
+
83
+ ```<lang>
84
+ // Place at <trigger location>
85
+ ta.track('<event_name>', {
86
+ <prop_name>: <sample value>,
87
+ ...
88
+ });
89
+ ```
90
+ ```
91
+
92
+ Show each event individually, each as its own block for easy copying.
93
+
94
+ ### 5. Verification Steps (snippet mode only)
95
+
96
+ ```
97
+ ## Verification Steps
98
+
99
+ 1. **Integrate SDK** (follow steps based on integration method)
100
+ - **npm / package manager**: Run `npm install` or equivalent to install SDK
101
+ - **Build tool integration**: Add SDK dependency via Package Manager or Epic Games Launcher
102
+ - **Dependency management**: Add SDK dependency in `build.gradle` / `Podfile`
103
+ - **Manual download**: Download SDK files and place in project directory
104
+
105
+ Reference the official docs in `references/sdk-index.md` for each SDK
106
+
107
+ 2. **Debug mode device binding** (AE Debug requires device ID to be added first)
108
+ - Get device ID: DeviceId printed in console after SDK init, or call SDK's getDeviceId method
109
+ - Add device: AE Admin → Tracking Management → Debug Mode → Add Device → paste device ID
110
+
111
+ 3. **Trigger events by interacting with the app** and view data in AE Debug page
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Code File Generation
117
+
118
+ ### File Path Rules
119
+
120
+ | Platform | File Path |
121
+ |---|---|
122
+ | Client android (java) | `.ae-cli/output/android-sdk-java.java` |
123
+ | Client android (kotlin) | `.ae-cli/output/android-sdk-kotlin.kt` |
124
+ | Client ios (objc) | `.ae-cli/output/ios-sdk-objectivec.m` |
125
+ | Client ios (swift) | `.ae-cli/output/ios-sdk-swift.swift` |
126
+ | Client openharmony | `.ae-cli/output/openharmony-sdk.ets` |
127
+ | Client javascript | `.ae-cli/output/javascript-sdk.js` |
128
+ | Client miniprogram | `.ae-cli/output/miniprogram-sdk.js` |
129
+ | Client unity | `.ae-cli/output/unity-sdk.cs` |
130
+ | Server java | `.ae-cli/output/java-sdk.java` |
131
+ | Server python | `.ae-cli/output/python-sdk.py` |
132
+ | Server go | `.ae-cli/output/go-sdk.go` |
133
+ | Server nodejs | `.ae-cli/output/nodejs-sdk.ts` |
134
+ | Server php | `.ae-cli/output/php-sdk.php` |
135
+
136
+ **Multi-language platform output rules**:
137
+ - Android SDK: if Java + Kotlin selected, generate two files (android-sdk-java.java and android-sdk-kotlin.kt)
138
+ - iOS SDK: if Objective-C + Swift selected, generate two files (ios-sdk-objectivec.m and ios-sdk-swift.swift)
139
+
140
+ ### File Content Structure
141
+
142
+ ```<ext>
143
+ /**
144
+ * AE Tracking Code Snippet - <Platform>
145
+ *
146
+ * Usage:
147
+ * 1. Copy SDK initialization code to entry file
148
+ * 2. Copy super properties code after init
149
+ * 3. Copy event code to corresponding trigger locations
150
+ *
151
+ * Configuration:
152
+ * - SERVER_URL: <data ingestion URL>
153
+ * - APPID: <APP_ID>
154
+ */
155
+
156
+ // ==================== SDK Initialization ====================
157
+ <init code>
158
+
159
+ // ==================== Super Properties ====================
160
+ <setSuperProperties code>
161
+
162
+ // ==================== User Properties ====================
163
+ <user_set code>
164
+
165
+ // ==================== Event Group: <tag> ====================
166
+ // <event_name> - <event_desc>
167
+ <track code>
168
+
169
+ // ... other events
170
+ ```
171
+
172
+ ### README File
173
+
174
+ Generate `.ae-cli/output/README.md`:
175
+
176
+ ```
177
+ # AE Tracking Code Snippets
178
+
179
+ ## File List
180
+
181
+ | File | Description |
182
+ |---|---|
183
+ | <platform>-sdk.<ext> | SDK initialization + event call code |
184
+ | daemon.json | LogBus2 configuration (server-side only) |
185
+
186
+ ## Usage Steps
187
+
188
+ ### Client
189
+
190
+ 1. Copy SDK initialization code to entry file
191
+ 2. Configure SERVER_URL and appId
192
+ 3. Copy event code to corresponding trigger locations
193
+
194
+ ### Server
195
+
196
+ 1. Copy LoggerConsumer code to project
197
+ 2. Configure log file path
198
+ 3. **Download LogBus2**: https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US (download link in "二、Download LogBus2" section)
199
+ 4. Copy daemon.json to LogBus2 conf/ directory
200
+ 5. Start LogBus2: `./logbus start`
201
+
202
+ ## LogBus2 Official Documentation
203
+
204
+ | Document | Link |
205
+ |---|---|
206
+ | User Guide | https://docs-v2.thinkingdata.cn/?version=latest&code=logbus2_installation&lan=en-US |
207
+
208
+ Note: LogBus v1 is deprecated. Please use LogBus2.
209
+
210
+ ## Verification
211
+
212
+ Run `te-debug.<ext>` and open AE Debug page to verify data upload.
213
+
214
+ ### Debug Mode Device Binding (snippet mode only)
215
+
216
+ AE Debug mode requires the device ID to be added in AE Admin before data can be viewed:
217
+
218
+ 1. **Get device ID** (choose one):
219
+ - Client logs: DeviceId printed after SDK initialization
220
+ - Code: `ta.getDeviceId()` to get current device ID
221
+
222
+ 2. **Add device in AE Admin**:
223
+ - Path: AE Admin → Tracking Management → Debug Mode → Add Device
224
+ - Paste device ID and confirm
225
+
226
+ 3. **Verify data**:
227
+ - Trigger events by interacting with the app
228
+ - View data uploads on AE Debug page
229
+ ```
230
+
231
+ ---
232
+
233
+ ## Generation Workflow
234
+
235
+ ### ⚠️ Mandatory Pre-checks (do not skip)
236
+
237
+ **Before generating code, execute in the following order. Each step must be completed before proceeding to the next:**
238
+
239
+ #### Step 0: Read SDK Main Document
240
+
241
+ 1. **Read `references/sdk-index.md`** to find the SDK's main document path
242
+ 2. **Read the SDK main document**, must include these sections:
243
+ - **Integrate SDK** section (npm package name / CDN URL / integration methods)
244
+ - **Initialization** section (init API signature and example code)
245
+ - **Track** section (event upload API and examples)
246
+ - **User Properties** section (user_set / user_setOnce / user_add API)
247
+
248
+ 3. **⚠️ Do not skip Step 0** — even if you've generated code for the same platform before, must re-read latest docs every time
249
+
250
+ #### Step 1: Read Config from Plan
251
+
252
+ 1. Read `meta.user_identity` from plan (user identity config)
253
+ 2. **Read event list from plan, filter by platform**:
254
+ - Client snippet: only read events where `platform === "client"` or `platform === "both"`
255
+ - xlsx "Platform" column: `客户端` or `client` → `platform: "client"`
256
+ - xlsx "Platform" column: `客户端,服务端` or `client,server` → `platform: "both"`
257
+ - Server snippet: only read events where `platform === "server"` or `platform === "both"`
258
+ - xlsx "Platform" column: `服务端` or `server` → `platform: "server"`
259
+ - xlsx "Platform" column: `客户端,服务端` or `client,server` → `platform: "both"`
260
+ - If event has no platform field (legacy xlsx without this column): read all events (backward compatible)
261
+ 3. Read user property list from plan (user properties have no platform field; generate for both sides)
262
+
263
+ #### Step 2: Copy Wiki Code Examples
264
+
265
+ **Must directly copy code examples from the wiki main document read in Step 0**, do not manually write:
266
+
267
+ - **Initialization code**: directly copy the complete code block from wiki doc (including import statements, package names, init parameters)
268
+ - **⚠️ Strict language matching**:
269
+ - User chose **Java** → only copy code from `::: el-tab-pane label=Java` or ` ```java` blocks
270
+ - User chose **Kotlin** → only copy code from `::: el-tab-pane label=Kotlin` or ` ```kotlin` blocks
271
+ - User chose **Objective-C** → only copy code from `::: el-tab-pane label=Objective-C` or ` ```objc` blocks
272
+ - User chose **Swift** → only copy code from `::: el-tab-pane label=Swift` or ` ```swift` blocks
273
+ - **Prohibited**: copying from Java block into Kotlin file, or vice versa
274
+ - **Prohibited**: copying from Objective-C block into Swift file, or vice versa
275
+ - If wiki doc uses el-tabs format, first confirm the current language tab, then switch to correct tab to copy
276
+ - **Auto-track code**: ⚠️ **Must read `references/autotrack-enum.md` first** to look up the correct enum names and values for the target SDK, then copy the `EnableAutoTrack` call example from wiki. **Do not guess enum names or omit enum values**
277
+ - **Event track code**: property names and event names from plan, structure directly reused from wiki examples
278
+ - **User property code**: directly copy API call style from wiki doc
279
+ - **Super property code**: directly copy setSuperProperties call style from wiki doc
280
+
281
+ #### Step 3: Generate Code Snippets
282
+
283
+ Generate code snippets (markdown + files)
284
+
285
+ #### Step 3.5: ⚠️ Language Style Check (do not skip)
286
+
287
+ After generation, perform language style checks on each output file:
288
+
289
+ | Language | Check Rules |
290
+ |---|---|
291
+ | **Kotlin** | File must not contain `;` (trailing semicolons); fix immediately and inform user if found |
292
+ | **Java** | Every statement must end with `;`; fix immediately if missing |
293
+ | **Swift** | Do not use `var` for optional types — use `let` + `?`; do not use `@objc` unless necessary |
294
+ | **Objective-C** | Method calls must use `[self method]` syntax — no `.` calls; must use `nil`, not `null` |
295
+
296
+ **If language style errors are found**:
297
+ 1. Immediately replace with correct syntax
298
+ 2. Note in the response: `⚠️ Auto-corrected: <error description> → <correct syntax>`
299
+
300
+ #### Step 4: Server-side Additional Processing
301
+
302
+ 1. Additionally generate `daemon.json` for server-side
303
+ 2. **Must always provide LogBus2 official documentation link**
304
+
305
+ ---
306
+
307
+ ## Code Style
308
+
309
+ - Event names / property names strictly from plan, do not modify
310
+ - Add comment above each code block describing trigger timing
311
+ - Do NOT add try/catch
312
+ - User identity calls: `login()` / `identify()` generated based on `meta.user_identity`
313
+
314
+ ### Property Placeholder Value Rules (based on plan `type` field)
315
+
316
+ When generating property value placeholders, **must select the correct type placeholder based on the property's `type` field in the plan**. Do not use string placeholders uniformly for all types:
317
+
318
+ | plan `type` | Placeholder | Notes |
319
+ |---|---|---|
320
+ | `string` | `"\"<actual value>\""` | String placeholder |
321
+ | `number` | `0` | Numeric placeholder (**`userAdd` must use numeric**; string causes runtime error) |
322
+ | `bool` | `true` / `false` | Boolean placeholder (**do NOT use string `"\"<actual value>\""`**, type mismatch) |
323
+ | `datetime` | `new Date()` / platform-specific syntax | Datetime placeholder |
324
+ | `array_string` | `["example"]` | Array placeholder |
325
+ | `array_row` | `[{"key":"example"}]` | Object array placeholder |
326
+
327
+ **Platform-specific datetime placeholder syntax**:
328
+
329
+ | Platform | Syntax |
330
+ |---|---|
331
+ | Android Java | `new Date()` |
332
+ | Android Kotlin | `Date()` |
333
+ | iOS Objective-C | `[NSDate date]` |
334
+ | iOS Swift | `Date()` |
335
+ | JavaScript | `new Date()` |
336
+ | Java Server | `new Date()` |
337
+ | Python | `datetime.datetime.now()` |
338
+ | Go | `time.Now()` |
339
+ | Node.js | `new Date()` |
340
+
341
+ ### ⚠️ Server SDK track() Parameter Order (varies by SDK; do not assume uniform ordering)
342
+
343
+ For server-side SDK `track()` calls, **accountId and distinctId parameter positions differ across SDKs**. Generate code using each SDK's actual parameter order:
344
+
345
+ | SDK | Positional Parameter Order | Recommended Approach |
346
+ |---|---|---|
347
+ | Java | `track(accountId, distinctId, eventName, properties)` | Positional ✅ |
348
+ | Go | `Track(accountId, distinctId, eventName, properties)` | Positional ✅ |
349
+ | **Python** | **`track(distinct_id, account_id, eventName, properties)`** — **distinct_id first** | **Prefer keyword args** ✅ |
350
+ | Node.js | Single object param `{accountId, distinctId, event, ...}` | Object arg ✅ |
351
+
352
+ **Python SDK strongly recommends keyword args** to avoid positional order confusion:
353
+ ```python
354
+ te.track(account_id="<Account ID>", distinct_id="<Visitor ID>", event_name="order_create", properties={...})
355
+ ```
356
+
357
+ Similarly, Python `user_set` / `user_setOnce` / `user_add` should use keyword args:
358
+ ```python
359
+ te.user_set(account_id="<Account ID>", distinct_id="<Visitor ID>", properties={...})
360
+ ```
361
+
362
+ ### ⚠️ JavaScript SDK Examples (correct vs incorrect comparison)
363
+
364
+ **Init code directly copied from wiki** (includes correct import and package name):
365
+
366
+ ```js
367
+ // ✅ Correct: directly copied from wiki javascript.md
368
+ import ta from "thinkingdata-browser";
369
+ ta.init({
370
+ appId: "YOUR_APP_ID",
371
+ serverUrl: "https://YOUR_SERVER_URL/sync_js",
372
+ autoTrack: {
373
+ pageShow: true,
374
+ pageHide: true,
375
+ }
376
+ });
377
+ ```
378
+
379
+ **❌ Incorrect examples (absolutely prohibited)**:
380
+
381
+ ```js
382
+ // ❌ Wrong: guessed package name and import syntax
383
+ import TDAnalytics from "@thinkingdata/web-sdk"; // package name is wrong
384
+ TDAnalytics.init({...}); // class name is wrong
385
+
386
+ // ❌ Wrong: using generic variable names like te or analytics
387
+ import te from "thinkingdata-browser"; // wiki has never used te
388
+ te.init({...});
389
+ ```
390
+
391
+ **Key points**:
392
+ - npm package name: `thinkingdata-browser` (NOT `@thinkingdata/web-sdk`, NOT `thinkingdata`)
393
+ - import variable name: `ta` (NOT `TDAnalytics`, NOT `te`)
394
+ - init method: `ta.init({...})` (NOT `TDAnalytics.init()`)
@@ -0,0 +1,181 @@
1
+ # AE Plan Query API (captured 2026-04-15)
2
+
3
+ ## Endpoint
4
+
5
+ - **Method**: GET
6
+ - **URL**: `https://web-ta-demo.thinkingdata.cn/v1/ta/bury/manage/program/query?@t={timestamp}&projectId={projectId}`
7
+ - **Auth**: header `authorization: bearer {token}` — token value read from `localStorage['ACCESS_TOKEN']` (JSON-encoded string) on the AE web app, also cached in `~/.ae-cli/tokens.json`
8
+ - **Additional required headers**:
9
+ - `x-requested-with: XMLHttpRequest`
10
+ - `accept: application/json`
11
+ - **Request body**: none (GET)
12
+
13
+ ### URL parameters
14
+
15
+ | Param | Required | Notes |
16
+ |---|---|---|
17
+ | `@t` | yes (de-facto) | Unix timestamp ms — cache-buster; the server likely accepts any value |
18
+ | `projectId` | yes | AE project ID, e.g. `1603` |
19
+
20
+ ---
21
+
22
+ ## Response shape (truncated to 2 events / 2 props each)
23
+
24
+ ```json
25
+ {
26
+ "return_code": 0,
27
+ "return_message": "ok",
28
+ "showStackMessage": null,
29
+ "data": {
30
+ "projectId": 1603,
31
+ "createTime": "2026-04-15 15:45:17",
32
+
33
+ "events": [
34
+ {
35
+ "eventName": "admin_skill_review",
36
+ "displayName": "管理员审核",
37
+ "eventDesc": "管理员通过/驳回/归档 skill",
38
+ "eventTag": "admin",
39
+ "creator": "周津",
40
+ "createTime": "2026-04-15 15:45:17",
41
+ "lastUpdateAuth": "周津",
42
+ "lastUpdateTime": "2026-04-15 15:45:17",
43
+ "hasReported": false,
44
+ "props": ["review_action", "review_reason", "skill_id", "skill_name"],
45
+ "propInfosOnEvent": [
46
+ { "name": "review_action", "hasReported": false },
47
+ { "name": "review_reason", "hasReported": false }
48
+ ]
49
+ },
50
+ {
51
+ "eventName": "page_view",
52
+ "displayName": "页面浏览",
53
+ "eventDesc": "任意页面打开",
54
+ "eventTag": "common",
55
+ "creator": "周津",
56
+ "createTime": "2026-04-15 15:45:17",
57
+ "lastUpdateAuth": "周津",
58
+ "lastUpdateTime": "2026-04-15 15:45:17",
59
+ "hasReported": false
60
+ // props / propInfosOnEvent absent when event has no bound properties
61
+ }
62
+ ],
63
+
64
+ "eventProps": [
65
+ {
66
+ "name": "login_method",
67
+ "displayName": "登录方式",
68
+ "type": "string",
69
+ "desc": "feishu_sso",
70
+ "creator": "周津",
71
+ "createTime": "2026-04-15 15:45:17",
72
+ "lastUpdateAuth": "周津",
73
+ "lastUpdateTime": "2026-04-15 15:45:17"
74
+ // NOTE: no hasReported field on eventProps items
75
+ },
76
+ {
77
+ "name": "session_duration_ms",
78
+ "displayName": "会话时长毫秒",
79
+ "type": "number",
80
+ "desc": "登出时本次会话累计时长",
81
+ "creator": "周津",
82
+ "createTime": "2026-04-15 15:45:17",
83
+ "lastUpdateAuth": "周津",
84
+ "lastUpdateTime": "2026-04-15 15:45:17"
85
+ }
86
+ ],
87
+
88
+ "commonEventProps": [
89
+ {
90
+ "name": "is_embed",
91
+ "displayName": "是否嵌入模式",
92
+ "type": "bool",
93
+ "desc": "是否在 CRM iframe 嵌入中访问",
94
+ "creator": "周津",
95
+ "createTime": "2026-04-15 15:45:17",
96
+ "lastUpdateAuth": "周津",
97
+ "lastUpdateTime": "2026-04-15 15:45:17",
98
+ "hasReported": false
99
+ },
100
+ {
101
+ "name": "page_name",
102
+ "displayName": "页面名称",
103
+ "type": "string",
104
+ "desc": "当前页面标识,如 home/submit/detail/admin",
105
+ "creator": "周津",
106
+ "createTime": "2026-04-15 15:45:17",
107
+ "lastUpdateAuth": "周津",
108
+ "lastUpdateTime": "2026-04-15 15:45:17",
109
+ "hasReported": false
110
+ }
111
+ ],
112
+
113
+ "userProps": [
114
+ {
115
+ "name": "admin_review_count",
116
+ "displayName": "审核处理数",
117
+ "type": "number",
118
+ "desc": "管理员累计审核的 skill 数",
119
+ "updateType": "user_add",
120
+ "updateTypeName": "user_add",
121
+ "propTag": "",
122
+ "creator": "周津",
123
+ "createTime": "2026-04-15 15:45:17",
124
+ "lastUpdateAuth": "周津",
125
+ "lastUpdateTime": "2026-04-15 15:45:17",
126
+ "hasReported": false
127
+ }
128
+ ]
129
+ }
130
+ }
131
+ ```
132
+
133
+ ---
134
+
135
+ ## Field mapping to Draft
136
+
137
+ The planned `normalize()` function assumes `data.event_properties[]`, `data.common_event_properties[]`, `data.user_properties[]`. **Reality differs** — see caveats below.
138
+
139
+ | AE response field | Draft field (src/plan/types.ts) | Notes |
140
+ |---|---|---|
141
+ | `data.events[].eventName` | `events[].event_name` | camelCase → snake_case |
142
+ | `data.events[].displayName` | `events[].display_name` | camelCase → snake_case |
143
+ | `data.events[].eventDesc` | `events[].event_desc` | camelCase → snake_case |
144
+ | `data.events[].eventTag` | `events[].event_tag` | camelCase → snake_case |
145
+ | `data.events[].props[]` | `events[].properties[]` | array of property name strings |
146
+ | `data.events[].propInfosOnEvent[]` | `events[].property_infos[]` | array of `{name, hasReported}` |
147
+ | `data.eventProps[].name` | `event_properties[].name` | key rename: `eventProps` → `event_properties` |
148
+ | `data.eventProps[].type` | `event_properties[].type` | same |
149
+ | `data.eventProps[].displayName` | `event_properties[].display_name` | camelCase → snake_case |
150
+ | `data.eventProps[].desc` | `event_properties[].description` | key rename |
151
+ | `data.commonEventProps[].name` | `common_event_properties[].name` | key rename: `commonEventProps` → `common_event_properties` |
152
+ | `data.userProps[].name` | `user_properties[].name` | key rename: `userProps` → `user_properties` |
153
+ | `data.userProps[].updateType` | `user_properties[].update_type` | user property specific |
154
+ | `data.userProps[].propTag` | `user_properties[].prop_tag` | user property specific |
155
+ | `return_code` | — | top-level; `0` = success |
156
+ | `return_message` | — | top-level; `"ok"` on success |
157
+
158
+ ---
159
+
160
+ ## Caveats
161
+
162
+ 1. **Key naming is camelCase throughout** — all field names in the response use camelCase (`eventName`, `displayName`, `eventProps`, etc.). The draft plan assumed snake_case keys like `event_name`. `normalize()` must do a full camelCase → snake_case conversion, or map fields explicitly.
163
+
164
+ 2. **Array key name mismatches vs plan assumption**:
165
+ - Response uses `eventProps` (not `event_properties`)
166
+ - Response uses `commonEventProps` (not `common_event_properties`)
167
+ - Response uses `userProps` (not `user_properties`)
168
+
169
+ 3. **`eventProps` are global, not scoped per event** — all event properties live in one flat `data.eventProps[]` array. Per-event bindings are in `data.events[].props` (name strings) and `data.events[].propInfosOnEvent` (`{name, hasReported}` objects). Events with no bound properties omit both `props` and `propInfosOnEvent` fields entirely.
170
+
171
+ 4. **`hasReported` field inconsistency** — `commonEventProps` and `userProps` items include `hasReported`; `eventProps` items do NOT include this field.
172
+
173
+ 5. **`@t` cache-buster** — the `@t` query param is a Unix timestamp in milliseconds. It appears to be required (the page always sends it) but likely just busts CDN/proxy caching. Use `Date.now()` when constructing requests.
174
+
175
+ 6. **No pagination observed** — the single request returns all 17 events, 21 event props, 6 common props, 9 user props in one shot. No pagination headers or page/limit params were observed.
176
+
177
+ 7. **`userProps[].updateType` and `updateTypeName`** — both fields are present on user properties (e.g., `"user_add"`). The xlsx schema's `更新方式` column maps to this.
178
+
179
+ 8. **`propTag`** — present on `userProps` items (maps to xlsx `属性标签` column), absent on event/common props.
180
+
181
+ 9. **`eventProps` lack `hasReported`** — unlike events and common/user props, individual event property definitions in `eventProps[]` do not carry `hasReported`. The flag does appear inside `propInfosOnEvent[]` on the event object itself.