@thinkingai/ae-cli 6.0.36 → 6.0.38

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 (41) hide show
  1. package/README.md +216 -150
  2. package/README.zh.md +224 -159
  3. package/dist/{auth-B2BRSYMS.js → auth-56Z45UVR.js} +1 -1
  4. package/dist/{capability-6KPXYNO7.js → capability-2H6PAOA3.js} +1 -1
  5. package/dist/{capability-ROKYESAP.js → capability-YPOQX6PL.js} +1 -1
  6. package/dist/{chunk-JTKMDN4A.js → chunk-KTYR3U6D.js} +471 -31
  7. package/dist/{chunk-EBPXT3TN.js → chunk-LHVM35J4.js} +1 -1
  8. package/dist/{chunk-RRFK2W7I.js → chunk-PVBYJWC2.js} +1 -1
  9. package/dist/{config-DDYJPJX3.js → config-BSSALXEN.js} +1 -1
  10. package/dist/index.js +44 -14
  11. package/dist/{metadata-2ZFRMVOL.js → metadata-AN3YFZEV.js} +2 -2
  12. package/dist/{metadata-ABQCKU5P.js → metadata-JIQ77HFY.js} +2 -2
  13. package/dist/{raw-6HXFFHLV.js → raw-XJCAT3HX.js} +1 -1
  14. package/dist/{sync-BF3IWYFC.js → sync-QFP4XFN3.js} +1 -1
  15. package/dist/{te-agent-3GJ5H2XF.js → te-agent-JHUG6DVV.js} +27 -0
  16. package/dist/{te-analysis-DJ6KELTU.js → te-analysis-ITKTO6JS.js} +463 -16
  17. package/dist/{te-analysis-PCGESPLW.js → te-analysis-RAC67YYD.js} +463 -16
  18. package/dist/{te-dataops-ROHUJOX5.js → te-dataops-PZQ5NQLY.js} +1 -1
  19. package/dist/{te-dataops-LXL5YULV.js → te-dataops-XTWVTJCA.js} +1 -1
  20. package/dist/{te-engage-2YDCA552.js → te-engage-E7F4HTXU.js} +2 -2
  21. package/dist/{te-engage-VW6NJZ5V.js → te-engage-NLZUPSBK.js} +2 -2
  22. package/dist/{te-team-RRZI4WRI.js → te-team-BQ3SKSZV.js} +1 -1
  23. package/dist/{update-ER7VFU55.js → update-DKG6UXEM.js} +44 -22
  24. package/package.json +5 -4
  25. package/skills/ae-agent/SKILL.md +2 -2
  26. package/skills/ae-agent/references/create-automation.md +11 -0
  27. package/skills/ae-agent/references/update-automation.md +11 -3
  28. package/skills/ae-analysis/references/command_index.md +5 -0
  29. package/skills/ae-analysis/references/debug_data_list.md +28 -0
  30. package/skills/ae-analysis/references/debug_device_add.md +23 -0
  31. package/skills/ae-analysis/references/debug_device_list.md +19 -0
  32. package/skills/ae-analysis/references/debug_device_select.md +22 -0
  33. package/skills/ae-analysis/references/plan_sync_display_names.md +28 -0
  34. package/skills/ae-generate-tracking-code/SKILL.md +27 -11
  35. package/skills/ae-generate-tracking-code/references/autotrack-enum.md +4 -4
  36. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +1 -1
  37. package/skills/ae-generate-tracking-code/references/debug-script.md +48 -39
  38. package/skills/ae-generate-tracking-code/references/logbus-config.md +1 -1
  39. package/skills/ae-generate-tracking-code/references/restful-call.md +1 -1
  40. package/skills/ae-generate-tracking-code/references/sdk-index.md +36 -36
  41. package/skills/ae-generate-tracking-plan/SKILL.md +26 -1
package/dist/index.js CHANGED
@@ -18,7 +18,7 @@ import {
18
18
  printError,
19
19
  printOutput,
20
20
  runHostCompatCheck
21
- } from "./chunk-JTKMDN4A.js";
21
+ } from "./chunk-KTYR3U6D.js";
22
22
  import {
23
23
  clearCliToken,
24
24
  getCliToken
@@ -3388,7 +3388,7 @@ program.name("ae-cli").version(version).description("CLI tool for ThinkingAI (AE
3388
3388
  async function loadCommands() {
3389
3389
  const commands = [];
3390
3390
  try {
3391
- const teAnalysis = await import("./te-analysis-PCGESPLW.js");
3391
+ const teAnalysis = await import("./te-analysis-RAC67YYD.js");
3392
3392
  commands.push(...teAnalysis.default);
3393
3393
  } catch {
3394
3394
  }
@@ -3398,7 +3398,7 @@ async function loadCommands() {
3398
3398
  } catch {
3399
3399
  }
3400
3400
  try {
3401
- const engage = await import("./te-engage-VW6NJZ5V.js");
3401
+ const engage = await import("./te-engage-NLZUPSBK.js");
3402
3402
  commands.push(...engage.default);
3403
3403
  } catch {
3404
3404
  }
@@ -3408,7 +3408,7 @@ async function loadCommands() {
3408
3408
  } catch {
3409
3409
  }
3410
3410
  try {
3411
- const dataops = await import("./te-dataops-LXL5YULV.js");
3411
+ const dataops = await import("./te-dataops-XTWVTJCA.js");
3412
3412
  commands.push(...dataops.default);
3413
3413
  } catch {
3414
3414
  }
@@ -3418,12 +3418,12 @@ async function loadCommands() {
3418
3418
  } catch {
3419
3419
  }
3420
3420
  try {
3421
- const teTeam = await import("./te-team-RRZI4WRI.js");
3421
+ const teTeam = await import("./te-team-BQ3SKSZV.js");
3422
3422
  commands.push(...teTeam.default);
3423
3423
  } catch {
3424
3424
  }
3425
3425
  try {
3426
- const teAgent = await import("./te-agent-3GJ5H2XF.js");
3426
+ const teAgent = await import("./te-agent-JHUG6DVV.js");
3427
3427
  commands.push(...teAgent.default);
3428
3428
  } catch {
3429
3429
  }
@@ -3433,7 +3433,7 @@ async function loadCommands() {
3433
3433
  } catch {
3434
3434
  }
3435
3435
  try {
3436
- const metadata = await import("./metadata-2ZFRMVOL.js");
3436
+ const metadata = await import("./metadata-AN3YFZEV.js");
3437
3437
  commands.push(...metadata.default);
3438
3438
  } catch {
3439
3439
  }
@@ -3441,35 +3441,35 @@ async function loadCommands() {
3441
3441
  }
3442
3442
  async function registerAuthCommands() {
3443
3443
  try {
3444
- const { registerAuth } = await import("./auth-B2BRSYMS.js");
3444
+ const { registerAuth } = await import("./auth-56Z45UVR.js");
3445
3445
  registerAuth(program);
3446
3446
  } catch {
3447
3447
  }
3448
3448
  }
3449
3449
  async function registerConfigCommands() {
3450
3450
  try {
3451
- const { registerConfig } = await import("./config-DDYJPJX3.js");
3451
+ const { registerConfig } = await import("./config-BSSALXEN.js");
3452
3452
  registerConfig(program);
3453
3453
  } catch {
3454
3454
  }
3455
3455
  }
3456
3456
  async function registerApiCommand() {
3457
3457
  try {
3458
- const { registerApi } = await import("./raw-6HXFFHLV.js");
3458
+ const { registerApi } = await import("./raw-XJCAT3HX.js");
3459
3459
  registerApi(program);
3460
3460
  } catch {
3461
3461
  }
3462
3462
  }
3463
3463
  async function registerCapabilityCommands() {
3464
3464
  try {
3465
- const { registerCapability } = await import("./capability-ROKYESAP.js");
3465
+ const { registerCapability } = await import("./capability-YPOQX6PL.js");
3466
3466
  registerCapability(program);
3467
3467
  } catch {
3468
3468
  }
3469
3469
  }
3470
3470
  async function registerSyncCommand() {
3471
3471
  try {
3472
- const { registerSync } = await import("./sync-BF3IWYFC.js");
3472
+ const { registerSync } = await import("./sync-QFP4XFN3.js");
3473
3473
  registerSync(program);
3474
3474
  } catch {
3475
3475
  }
@@ -3483,7 +3483,7 @@ async function registerModelCommand() {
3483
3483
  }
3484
3484
  async function registerUpdateCommand() {
3485
3485
  try {
3486
- const { registerUpdate } = await import("./update-ER7VFU55.js");
3486
+ const { registerUpdate } = await import("./update-DKG6UXEM.js");
3487
3487
  registerUpdate(program);
3488
3488
  } catch {
3489
3489
  }
@@ -3491,7 +3491,29 @@ async function registerUpdateCommand() {
3491
3491
  async function main() {
3492
3492
  const pkgInfo = getLocalCliPackageInfo();
3493
3493
  if (!isRootUpdateCommand(process.argv.slice(2))) {
3494
- await runHostCompatCheck(pkgInfo);
3494
+ const compat = await runHostCompatCheck(
3495
+ pkgInfo,
3496
+ globalOptionValue(process.argv.slice(2), "--host")
3497
+ );
3498
+ if (compat.status === "synced") {
3499
+ const message = compat.direction === "skills" ? `Skills were synchronized for ae-cli ${compat.expected}.` : `ae-cli changed from ${compat.current} to ${compat.expected} for this host.`;
3500
+ printError(
3501
+ "config",
3502
+ message,
3503
+ "Re-run the previous command to use the synchronized CLI and Skills.",
3504
+ "AE_CLI_VERSION_SYNCED",
3505
+ {
3506
+ current: compat.current,
3507
+ expected: compat.expected,
3508
+ cluster: compat.cluster,
3509
+ direction: compat.direction,
3510
+ retryOriginalCommand: true
3511
+ },
3512
+ { log: false }
3513
+ );
3514
+ process.exitCode = 1;
3515
+ return;
3516
+ }
3495
3517
  }
3496
3518
  const commands = await loadCommands();
3497
3519
  registerCommands(program, commands);
@@ -3541,6 +3563,14 @@ function optionConsumesValue(token) {
3541
3563
  }
3542
3564
  return token === "--host" || token === "--mcp-url" || token === "--format" || token === "--jq";
3543
3565
  }
3566
+ function globalOptionValue(args, option) {
3567
+ for (let i = 0; i < args.length; i += 1) {
3568
+ const token = args[i];
3569
+ if (token === option) return args[i + 1];
3570
+ if (token.startsWith(`${option}=`)) return token.slice(option.length + 1);
3571
+ }
3572
+ return void 0;
3573
+ }
3544
3574
  function isRootUpdateCommand(args) {
3545
3575
  for (let i = 0; i < args.length; i += 1) {
3546
3576
  const token = args[i];
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createCapabilityCommand
3
- } from "./chunk-RRFK2W7I.js";
3
+ } from "./chunk-PVBYJWC2.js";
4
4
  import {
5
5
  registerCapabilityGatewayRoute
6
6
  } from "./chunk-PTE56QPL.js";
7
7
  import "./chunk-HQ2A7ITL.js";
8
- import "./chunk-JTKMDN4A.js";
8
+ import "./chunk-KTYR3U6D.js";
9
9
  import "./chunk-E7UXXHO3.js";
10
10
  import "./chunk-IR4ZLVPW.js";
11
11
  import "./chunk-V6FR6WTW.js";
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  createCapabilityCommand
3
- } from "./chunk-EBPXT3TN.js";
3
+ } from "./chunk-LHVM35J4.js";
4
4
  import {
5
5
  registerCapabilityGatewayRoute
6
6
  } from "./chunk-PTE56QPL.js";
7
7
  import "./chunk-RGXCNC4N.js";
8
- import "./chunk-JTKMDN4A.js";
8
+ import "./chunk-KTYR3U6D.js";
9
9
  import "./chunk-E7UXXHO3.js";
10
10
  import "./chunk-IR4ZLVPW.js";
11
11
  import "./chunk-V6FR6WTW.js";
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  printError,
7
7
  printOutput
8
- } from "./chunk-JTKMDN4A.js";
8
+ } from "./chunk-KTYR3U6D.js";
9
9
  import "./chunk-E7UXXHO3.js";
10
10
  import {
11
11
  SecureStoreAuthError,
@@ -22,7 +22,7 @@ import {
22
22
  } from "./chunk-J7MZHDHQ.js";
23
23
  import {
24
24
  printError
25
- } from "./chunk-JTKMDN4A.js";
25
+ } from "./chunk-KTYR3U6D.js";
26
26
  import "./chunk-E7UXXHO3.js";
27
27
  import "./chunk-IR4ZLVPW.js";
28
28
  import "./chunk-V6FR6WTW.js";
@@ -2169,6 +2169,17 @@ function readEnabledOptional(ctx) {
2169
2169
  }
2170
2170
  return enabled;
2171
2171
  }
2172
+ function readReuseConversation(ctx) {
2173
+ return readReuseConversationOptional(ctx) ?? false;
2174
+ }
2175
+ function readReuseConversationOptional(ctx) {
2176
+ const reuseConversation = ctx.json("reuseConversation");
2177
+ if (reuseConversation === void 0) return void 0;
2178
+ if (typeof reuseConversation !== "boolean") {
2179
+ throw new Error("--reuse-conversation must be true or false");
2180
+ }
2181
+ return reuseConversation;
2182
+ }
2172
2183
  function buildSchedule(ctx) {
2173
2184
  const kind = optional(ctx.str("scheduleKind"));
2174
2185
  if (!kind) return void 0;
@@ -2248,6 +2259,7 @@ function buildCreateBody(ctx) {
2248
2259
  schedule: buildSchedule(ctx),
2249
2260
  triggerType: "scheduled",
2250
2261
  model,
2262
+ reuseConversation: readReuseConversation(ctx),
2251
2263
  status: enabled ? "active" : "paused"
2252
2264
  };
2253
2265
  }
@@ -2276,6 +2288,7 @@ function validateList(ctx) {
2276
2288
  }
2277
2289
  function buildUpdateBody2(ctx) {
2278
2290
  const enabled = readEnabledOptional(ctx);
2291
+ const reuseConversation = readReuseConversationOptional(ctx);
2279
2292
  const body = {};
2280
2293
  const name = optional(ctx.str("name"));
2281
2294
  const message = optional(ctx.str("message"));
@@ -2284,6 +2297,8 @@ function buildUpdateBody2(ctx) {
2284
2297
  if (name) body.name = name;
2285
2298
  if (message !== void 0) body.message = message;
2286
2299
  if (enabled !== void 0) body.status = enabled ? "active" : "paused";
2300
+ if (reuseConversation !== void 0)
2301
+ body.reuseConversation = reuseConversation;
2287
2302
  if (cron) body.cronExpression = cron;
2288
2303
  if (schedule) body.schedule = schedule;
2289
2304
  return body;
@@ -2405,6 +2420,12 @@ var createAutomation = {
2405
2420
  required: false,
2406
2421
  desc: "Whether to enable the automation immediately; defaults to true"
2407
2422
  },
2423
+ {
2424
+ name: "reuse-conversation",
2425
+ type: "boolean",
2426
+ required: false,
2427
+ desc: "Continue future runs in the same conversation; defaults to false"
2428
+ },
2408
2429
  {
2409
2430
  name: "conversation-id",
2410
2431
  type: "string",
@@ -2456,6 +2477,12 @@ var updateAutomation = {
2456
2477
  required: false,
2457
2478
  desc: "true to enable, false to pause"
2458
2479
  },
2480
+ {
2481
+ name: "reuse-conversation",
2482
+ type: "boolean",
2483
+ required: false,
2484
+ desc: "true to reuse one conversation, false to create one per run"
2485
+ },
2459
2486
  ...scheduleFlags
2460
2487
  ],
2461
2488
  risk: "write",