@thinkingai/ae-cli 6.0.27 → 6.0.28

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 (64) hide show
  1. package/dist/index.js +1 -1
  2. package/dist/{te-analysis-QMZ2UH7F.js → te-analysis-5WZKVFHI.js} +1158 -302
  3. package/dist/{te-analysis-2U5EPXQC.js → te-analysis-KAEZXLNS.js} +1158 -302
  4. package/package.json +1 -1
  5. package/skills/ae-analysis/SKILL.md +56 -4
  6. package/skills/ae-analysis/references/analysis_gateway_assets.md +7 -5
  7. package/skills/ae-analysis/references/asset_abnormal_get.md +27 -0
  8. package/skills/ae-analysis/references/asset_abnormal_list.md +24 -0
  9. package/skills/ae-analysis/references/asset_authentication_list.md +23 -0
  10. package/skills/ae-analysis/references/asset_authentication_update.md +24 -0
  11. package/skills/ae-analysis/references/asset_recent_list.md +24 -0
  12. package/skills/ae-analysis/references/asset_search.md +24 -0
  13. package/skills/ae-analysis/references/bi_panel_get.md +5 -0
  14. package/skills/ae-analysis/references/bi_panel_share.md +6 -0
  15. package/skills/ae-analysis/references/bi_panel_update.md +4 -1
  16. package/skills/ae-analysis/references/bi_panel_version_get.md +23 -0
  17. package/skills/ae-analysis/references/bi_panel_version_publish.md +20 -0
  18. package/skills/ae-analysis/references/dashboard_daily_report_send.md +6 -1
  19. package/skills/ae-analysis/references/dashboard_report_data_export.md +6 -0
  20. package/skills/ae-analysis/references/dashboard_report_data_run.md +6 -0
  21. package/skills/ae-analysis/references/datatable_columns_get.md +24 -0
  22. package/skills/ae-analysis/references/datatable_influence_list.md +24 -0
  23. package/skills/ae-analysis/references/datatable_version_get.md +24 -0
  24. package/skills/ae-analysis/references/datatable_version_list.md +24 -0
  25. package/skills/ae-analysis/references/event_changelog_list.md +24 -0
  26. package/skills/ae-analysis/references/event_create.md +24 -0
  27. package/skills/ae-analysis/references/event_delete.md +24 -0
  28. package/skills/ae-analysis/references/event_get.md +24 -0
  29. package/skills/ae-analysis/references/event_hide_update.md +25 -0
  30. package/skills/ae-analysis/references/event_influence_list.md +24 -0
  31. package/skills/ae-analysis/references/event_list.md +23 -0
  32. package/skills/ae-analysis/references/event_relation_update.md +24 -0
  33. package/skills/ae-analysis/references/event_update.md +26 -0
  34. package/skills/ae-analysis/references/exchange_config_update.md +24 -0
  35. package/skills/ae-analysis/references/exchange_rate_refresh.md +23 -0
  36. package/skills/ae-analysis/references/exchange_rule_list.md +23 -0
  37. package/skills/ae-analysis/references/exchange_rule_update.md +24 -0
  38. package/skills/ae-analysis/references/exchange_rule_validate.md +24 -0
  39. package/skills/ae-analysis/references/metric_create.md +24 -0
  40. package/skills/ae-analysis/references/metric_delete.md +24 -0
  41. package/skills/ae-analysis/references/metric_get.md +24 -0
  42. package/skills/ae-analysis/references/metric_list.md +24 -0
  43. package/skills/ae-analysis/references/metric_update.md +24 -0
  44. package/skills/ae-analysis/references/property_changelog_list.md +25 -0
  45. package/skills/ae-analysis/references/property_create.md +25 -0
  46. package/skills/ae-analysis/references/property_delete.md +25 -0
  47. package/skills/ae-analysis/references/property_get.md +25 -0
  48. package/skills/ae-analysis/references/property_hide_update.md +26 -0
  49. package/skills/ae-analysis/references/property_influence_list.md +25 -0
  50. package/skills/ae-analysis/references/property_list.md +24 -0
  51. package/skills/ae-analysis/references/property_related_events.md +24 -0
  52. package/skills/ae-analysis/references/property_relation_update.md +25 -0
  53. package/skills/ae-analysis/references/property_update.md +27 -0
  54. package/skills/ae-analysis/references/super_metadata_export.md +36 -0
  55. package/skills/ae-analysis/references/super_metadata_import.md +24 -0
  56. package/skills/ae-analysis/references/virtual_event_create.md +25 -0
  57. package/skills/ae-analysis/references/virtual_event_delete.md +24 -0
  58. package/skills/ae-analysis/references/virtual_event_get.md +24 -0
  59. package/skills/ae-analysis/references/virtual_property_create.md +24 -0
  60. package/skills/ae-analysis/references/virtual_property_sql_rule_delete.md +25 -0
  61. package/skills/ae-analysis/references/virtual_property_sql_rule_update.md +24 -0
  62. package/skills/ae-generate-tracking-code/SKILL.md +16 -1
  63. package/skills/ae-generate-tracking-code/references/snippet-delivery.md +17 -1
  64. package/skills/ae-generate-tracking-plan/SKILL.md +30 -8
@@ -0,0 +1,36 @@
1
+ # analysis super-metadata export
2
+
3
+ Use when the user needs to export super event and super property configuration.
4
+
5
+ Do not use this command for unrelated analysis queries, ad-hoc query construction, or MCP metadata discovery when an existing specialized command already fits the user's request.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis super-metadata export --project-id <project_id>
11
+ ae-cli analysis super-metadata export --project-id <project_id> --request-id cli_0123456789abcdef0123456789abcdef --timeout-seconds 3600
12
+ ae-cli analysis super-metadata export --dry-run
13
+ ```
14
+
15
+ Capability id: `metadata.super_metadata.export`.
16
+
17
+ Input sends `project_id`, and optional `request_id`, `timeout_seconds`.
18
+
19
+ Output is the gateway envelope. `data` contains an async export descriptor with `run_id`, `artifact_id`, status fields, and expiration fields. It does not expose inspect/download API paths; use the CLI commands below.
20
+
21
+ Follow-up workflow:
22
+
23
+ 1. Save `data.run_id` and `data.artifact_id` from the export response.
24
+ 2. Poll status with `ae-cli analysis run inspect --run-id <run_id>`.
25
+ 3. Continue polling while status is running or pending. Treat `COMPLETED` or `SUCCEEDED` as success, and `FAILED`, `CANCELED`, or `CANCELLED` as terminal failure.
26
+ 4. On success, download with `ae-cli analysis artifact download --run-id <run_id> --artifact-id <artifact_id> --output <file>.xlsx`.
27
+ 5. If the export is no longer needed, cancel with `ae-cli analysis query cancel --run-id <run_id> --yes`.
28
+
29
+ Do not write custom Python/curl for polling or download unless the CLI command itself is unavailable.
30
+
31
+ ## Parameters
32
+ | Parameter | Required | Description |
33
+ |---|---|---|
34
+ | `--project-id` | Yes | Numeric project ID. |
35
+ | `--request-id` | No | Optional `cli_<32 lowercase hex>` request ID. |
36
+ | `--timeout-seconds` | No | Timeout in seconds, 1 to 7200. Default 3600. |
@@ -0,0 +1,24 @@
1
+ # analysis super-metadata import
2
+
3
+ Use when the user needs to pre-import and confirm-import super event and super property configuration.
4
+
5
+ Do not use this command for unrelated analysis queries, ad-hoc query construction, or MCP metadata discovery when an existing specialized command already fits the user's request.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis super-metadata import --project-id <project_id> --payload '{}'
11
+ ae-cli analysis super-metadata import --dry-run
12
+ ```
13
+
14
+ Capability id: `metadata.super_metadata.import`.
15
+
16
+ Input sends `project_id`, `payload`.
17
+
18
+ Output is the gateway envelope. `data` contains the common-service capability result.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--payload` | No | Optional capability payload JSON. |
@@ -0,0 +1,25 @@
1
+ # analysis virtual-event create
2
+
3
+ Use when the user needs to create a virtual event from events and filters.
4
+
5
+ Do not use this command for unrelated analysis queries, ad-hoc query construction, or MCP metadata discovery when an existing specialized command already fits the user's request.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis virtual-event create --project-id <project_id> --override true --payload '{}'
11
+ ae-cli analysis virtual-event create --dry-run
12
+ ```
13
+
14
+ Capability id: `metadata.virtual_event.create`.
15
+
16
+ Input sends `project_id`, `override`, `payload`.
17
+
18
+ Output is the gateway envelope. `data` contains the common-service capability result.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--override` | No | Whether to override an existing virtual event rule. |
25
+ | `--payload` | Yes | Capability payload JSON. |
@@ -0,0 +1,24 @@
1
+ # analysis virtual-event delete
2
+
3
+ Use when the user needs to delete a virtual event rule.
4
+
5
+ Do not use this command for unrelated analysis queries, ad-hoc query construction, or MCP metadata discovery when an existing specialized command already fits the user's request.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis virtual-event delete --project-id <project_id> --v-event-id <v_event_id>
11
+ ae-cli analysis virtual-event delete --dry-run
12
+ ```
13
+
14
+ Capability id: `metadata.virtual_event.delete`.
15
+
16
+ Input sends `project_id`, `v_event_id`.
17
+
18
+ Output is the gateway envelope. `data` contains the common-service capability result.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--v-event-id` | Yes | Virtual event ID. |
@@ -0,0 +1,24 @@
1
+ # analysis virtual-event get
2
+
3
+ Use when the user needs to get virtual event rule.
4
+
5
+ Do not use this command for unrelated analysis queries, ad-hoc query construction, or MCP metadata discovery when an existing specialized command already fits the user's request.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis virtual-event get --project-id <project_id> --v-event-id <v_event_id>
11
+ ae-cli analysis virtual-event get --dry-run
12
+ ```
13
+
14
+ Capability id: `metadata.virtual_event.get`.
15
+
16
+ Input sends `project_id`, `v_event_id`.
17
+
18
+ Output is the gateway envelope. `data` contains the common-service capability result.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--v-event-id` | Yes | Virtual event ID. |
@@ -0,0 +1,24 @@
1
+ # analysis virtual-property create
2
+
3
+ Use when the user needs to create a SQL virtual event or user property.
4
+
5
+ Do not use this command for unrelated analysis queries, ad-hoc query construction, or MCP metadata discovery when an existing specialized command already fits the user's request.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis virtual-property create --project-id <project_id> --payload '{}'
11
+ ae-cli analysis virtual-property create --dry-run
12
+ ```
13
+
14
+ Capability id: `metadata.virtual_property.create`.
15
+
16
+ Input sends `project_id`, `payload`.
17
+
18
+ Output is the gateway envelope. `data` contains the common-service capability result.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--payload` | Yes | Capability payload JSON. |
@@ -0,0 +1,25 @@
1
+ # analysis virtual-property sql-rule-delete
2
+
3
+ Use when the user needs to delete or revoke SQL virtual property rule.
4
+
5
+ Do not use this command for unrelated analysis queries, ad-hoc query construction, or MCP metadata discovery when an existing specialized command already fits the user's request.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis virtual-property sql-rule-delete --project-id <project_id> --v-prop-id <v_prop_id> --operation <operation>
11
+ ae-cli analysis virtual-property sql-rule-delete --dry-run
12
+ ```
13
+
14
+ Capability id: `metadata.virtual_property.sql_rule_delete`.
15
+
16
+ Input sends `project_id`, `v_prop_id`, `operation`.
17
+
18
+ Output is the gateway envelope. `data` contains the common-service capability result.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--v-prop-id` | Yes | Virtual property ID. |
25
+ | `--operation` | No | Delete operation. Use revoke to revoke instead of delete. |
@@ -0,0 +1,24 @@
1
+ # analysis virtual-property sql-rule-update
2
+
3
+ Use when the user needs to update SQL virtual property rule.
4
+
5
+ Do not use this command for unrelated analysis queries, ad-hoc query construction, or MCP metadata discovery when an existing specialized command already fits the user's request.
6
+
7
+ Command:
8
+
9
+ ```bash
10
+ ae-cli analysis virtual-property sql-rule-update --project-id <project_id> --payload '{}'
11
+ ae-cli analysis virtual-property sql-rule-update --dry-run
12
+ ```
13
+
14
+ Capability id: `metadata.virtual_property.sql_rule_update`.
15
+
16
+ Input sends `project_id`, `payload`.
17
+
18
+ Output is the gateway envelope. `data` contains the common-service capability result.
19
+
20
+ ## Parameters
21
+ | Parameter | Required | Description |
22
+ |---|---|---|
23
+ | `--project-id` | Yes | Numeric project ID. |
24
+ | `--payload` | Yes | Capability payload JSON. |
@@ -97,7 +97,8 @@ First, check if `.ae-cli/draft.json` exists and read existing configuration:
97
97
  - If the project is missing, ambiguous, or has no `appId`, ask the user to copy APP_ID from AE Admin → "Project Settings" → "Integration Config".
98
98
  2. **SERVER_URL** — Data ingestion endpoint (**different from web URL**; go to AE Admin → "Project Settings" → "Integration Config" → fill in "Public URL")
99
99
  - If `meta.project_id` is known, you may try `ae-cli analysis_meta +get_project_config --project_id <project_id>` once.
100
- - Use the returned value only if the response explicitly contains a receiver URL field such as `serverUrl`, `pushUrl`, `push_url`, `receiverUrl`, `publicUrl`, or equivalent ingestion endpoint field.
100
+ - Use the returned value only if the response explicitly contains a receiver URL field such as `serverUrl`, `pushUrl`, `push_url`, `receiverUrl`, `publicUrl`, `publicReceiverAddress`, `privateReceiverAddress`, or equivalent ingestion endpoint field.
101
+ - If both `publicReceiverAddress` and `privateReceiverAddress` are present, prefer `publicReceiverAddress` as `SERVER_URL` for generated snippets unless the user explicitly needs an internal/private-network receiver.
101
102
  - If a value is found, ask: **"I found SERVER_URL `<url>` for project `<projectId>`. Use it? yes / enter new value"**
102
103
  - ⚠️ "Public URL" only shows if previously filled in; if empty, this field won't display
103
104
  - Solution: ask ops for the URL, or **skip this step** (use `SERVER_URL` or `PUSH_URL` placeholder in code)
@@ -507,6 +508,20 @@ Upload list rules:
507
508
  - Include generated debug scripts if the user selected the debug option.
508
509
  - Do not upload files inserted directly into the user's project; only upload generated output artifacts.
509
510
 
511
+ ### Attachment upload compatibility
512
+
513
+ The Agent attachment backend accepts a limited document MIME set. Code/config artifacts such as `.java`, `.kt`, `.swift`, `.m`, `.ets`, `.cs`, `.py`, `.go`, `.ts`, `.js`, `.php`, and `.json` may be rejected if uploaded directly.
514
+
515
+ Before running `ae-cli agent +add-attachment`, prepare the upload list as follows:
516
+ - Keep every original generated file unchanged under `.ae-cli/output/`.
517
+ - For each generated text artifact whose extension may be unsupported by the attachment backend, create an upload-only sibling copy by appending `.txt` to the filename.
518
+ - Example: `.ae-cli/output/java-sdk.java` → `.ae-cli/output/java-sdk.java.txt`
519
+ - Example: `.ae-cli/output/daemon.json` → `.ae-cli/output/daemon.json.txt`
520
+ - The `.txt` copy must have identical content to the original file. Do not wrap it in markdown fences, do not add headers, and do not change line endings intentionally.
521
+ - Upload the `.txt` compatibility copies instead of the unsupported originals.
522
+ - Keep `.md`, `.txt`, and `.csv` artifacts in the upload list as-is.
523
+ - In the final response, list the original deliverable paths first, then mention any `.txt` compatibility copies used only for attachment upload.
524
+
510
525
  If upload succeeds, include the attachment upload result in the final response and tell the user the files are available from the file/attachment management entry. If upload fails because Agent attachment credentials are unavailable, keep the local `.ae-cli/output/` files and tell the user the upload did not complete.
511
526
 
512
527
  ### All snippets
@@ -247,6 +247,22 @@ Upload list must include:
247
247
 
248
248
  Only upload generated output artifacts. Do not upload files inserted directly into the user's project.
249
249
 
250
+ ### Upload Compatibility for Code and Config Files
251
+
252
+ The attachment upload endpoint accepts a limited document MIME set. Many generated tracking artifacts are valid text files but have extensions that may be rejected by the backend when uploaded directly, including `.java`, `.kt`, `.swift`, `.m`, `.ets`, `.cs`, `.py`, `.go`, `.ts`, `.js`, `.php`, and `.json`.
253
+
254
+ Before calling `ae-cli agent +add-attachment`, build an upload-safe file list:
255
+
256
+ 1. Keep the original generated files unchanged in `.ae-cli/output/`.
257
+ 2. For each unsupported text artifact, create a sibling upload-only copy with `.txt` appended to the original filename.
258
+ - `.ae-cli/output/android-sdk-java.java` → `.ae-cli/output/android-sdk-java.java.txt`
259
+ - `.ae-cli/output/daemon.json` → `.ae-cli/output/daemon.json.txt`
260
+ 3. Copy the content exactly. Do not add markdown fences, comments, titles, or any extra bytes beyond the original text content.
261
+ 4. Upload the `.txt` compatibility copies instead of the unsupported originals.
262
+ 5. Upload already-supported text artifacts such as `.md`, `.txt`, and `.csv` directly.
263
+
264
+ The final deliverable list should still point users to the original generated files. Mention the `.txt` files only as attachment-upload compatibility copies.
265
+
250
266
  If upload succeeds, report that the files are available from the file/attachment management entry. If upload fails because Agent attachment credentials are unavailable, preserve the local output files and report the upload failure separately.
251
267
 
252
268
  ---
@@ -325,7 +341,7 @@ After generation, perform language style checks on each output file:
325
341
 
326
342
  #### Step 5: Upload Generated Artifacts
327
343
 
328
- Upload all generated `.ae-cli/output/` artifacts to the Agent attachment library using `ae-cli agent +add-attachment --yes --files '<json-array>'`.
344
+ Prepare upload compatibility copies for unsupported code/config extensions, then upload the safe file list to the Agent attachment library using `ae-cli agent +add-attachment --yes --files '<json-array>'`.
329
345
 
330
346
  ---
331
347
 
@@ -82,7 +82,7 @@ Phase 0 → 1 → 2 → 3 → 4, do not skip steps.
82
82
  > Determine `<user_lang>` from user's input language: Chinese→`zh`, English→`en`, Japanese→`ja`, Korean→`ko`. Other languages default to `en`.
83
83
  > All subsequent CLI commands must be prefixed with `AE_LANG=<user_lang>` to ensure CLI output and generated xlsx headers match the user's language.
84
84
 
85
- Collect the following **5 items** sequentially, **do NOT ask all at once**:
85
+ Collect the following **4 items** sequentially, **do NOT ask all at once**:
86
86
 
87
87
  ### Item 1 — Application Scenario
88
88
 
@@ -122,15 +122,16 @@ Reply with number(s), e.g. 1 or 1,3. Select up to 2.
122
122
  ```
123
123
 
124
124
  Do not rewrite this source material list as unnumbered bullets, cards, or prose. The user must be able to reply with the visible numbers.
125
+ When translating this prompt, preserve the numeric prefixes and line breaks exactly. Every visible option MUST be on its own line and MUST begin with `1 -`, `2 -`, `3 -`, etc. Never place two numbered options in the same paragraph or visual line. If a Markdown renderer may collapse soft line breaks, use Markdown hard line breaks (two trailing spaces before newline) rather than blank lines. Translation may change only the option text, not the numbering prefix or one-option-per-line structure.
125
126
 
126
127
  User can multi-select (max 2). Interpret numbers by the **visible list shown to the user**, not by the non-sandbox canonical list.
127
128
 
128
- Canonical source material options:
129
+ Canonical source material options (non-sandbox numbering):
129
130
 
130
- - **Product document** (local path, sandbox workspace path, uploaded attachment, URL, image file, or folder) — Extract events and properties from product docs; supports md/pdf/docx/URL/images (png/jpg/jpeg/webp)
131
- - **Detailed description** (conversational) — Describe app business flow, core features, user behaviors, monetization model, etc.
132
- - **Codebase** (local project path; hidden in sandbox) — Analyze source code to extract events and properties
133
- - **Pre-built template** (built-in industry and game genre templates) — Select a built-in template (run `AE_LANG=<user_lang> ae-cli tracking plan list-templates --json` to see available templates)
131
+ 1. **Product document** ****(****local path, sandbox workspace path, uploaded attachment, URL, image file, or folder) — Extract events and properties from product docs; supports md/pdf/docx/URL/images (png/jpg/jpeg/webp)
132
+ 2. **Detailed description** (conversational) — Describe app business flow, core features, user behaviors, monetization model, etc.
133
+ 3. **Codebase** (local project path; hidden in sandbox) — Analyze source code to extract events and properties
134
+ 4. **Pre-built template** (built-in industry and game genre templates) — Select a built-in template (run `AE_LANG=<user_lang> ae-cli tracking plan list-templates --json` to see available templates)
134
135
 
135
136
  Based on user selection, determine source material type and record to `meta.source_type`:
136
137
 
@@ -143,8 +144,29 @@ Based on user selection, determine source material type and record to `meta.sour
143
144
  | Any two-item combo | Join two types with `_` | First as baseline, second as supplement (priority: template → codebase → prd → chat) |
144
145
 
145
146
  **Follow-up questions** (ask in selection order):
146
- - Product doc → if not in a sandbox environment, ask **"What is the product document path? You can provide one or more paths, separated by commas or newlines (local paths, URLs, image files, or folders)"**
147
- - Product doc → if in a sandbox environment, ask **"What is the product document path? You can provide one or more sandbox workspace paths, uploaded attachment paths, URLs, image files, or folders. You can also attach/upload relevant files here, and I will read them from the sandbox workspace if available."**
147
+ - Product doc → if not in a sandbox environment, ask exactly:
148
+ ```text
149
+ What is the product document path?
150
+
151
+ You can provide one or more items, separated by commas or newlines:
152
+ 1. Local file path
153
+ 2. URL
154
+ 3. Image file path
155
+ 4. Folder path
156
+ ```
157
+ - Product doc → if in a sandbox environment, ask exactly:
158
+ ```text
159
+ What is the product document path?
160
+
161
+ You can provide one or more items, separated by commas or newlines:
162
+ 1. Sandbox workspace path
163
+ 2. Uploaded attachment path
164
+ 3. URL
165
+ 4. Image file path
166
+ 5. Folder path
167
+
168
+ You can also attach/upload relevant files here, and I will read them from the sandbox workspace if available.
169
+ ```
148
170
  - Detailed description → If too vague, follow up on core features, user behaviors, business flows, monetization
149
171
  - Codebase → ask **"What is the project directory path?"**, then scan source to extract business logic
150
172
  - Pre-built template → display matching templates for user confirmation