@thinkingai/ae-cli 6.1.8 → 6.1.10

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 (43) hide show
  1. package/README.md +219 -150
  2. package/README.zh.md +227 -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 +45 -15
  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-experiment-OYK54B72.js → te-experiment-D32TB6ZB.js} +2 -2
  23. package/dist/{te-experiment-7JGJNDXO.js → te-experiment-N63WF7XA.js} +2 -2
  24. package/dist/{te-team-RRZI4WRI.js → te-team-BQ3SKSZV.js} +1 -1
  25. package/dist/{update-ER7VFU55.js → update-DKG6UXEM.js} +44 -22
  26. package/package.json +5 -4
  27. package/skills/ae-agent/SKILL.md +2 -2
  28. package/skills/ae-agent/references/create-automation.md +11 -0
  29. package/skills/ae-agent/references/update-automation.md +11 -3
  30. package/skills/ae-analysis/references/command_index.md +5 -0
  31. package/skills/ae-analysis/references/debug_data_list.md +28 -0
  32. package/skills/ae-analysis/references/debug_device_add.md +23 -0
  33. package/skills/ae-analysis/references/debug_device_list.md +19 -0
  34. package/skills/ae-analysis/references/debug_device_select.md +22 -0
  35. package/skills/ae-analysis/references/plan_sync_display_names.md +28 -0
  36. package/skills/ae-generate-tracking-code/SKILL.md +27 -11
  37. package/skills/ae-generate-tracking-code/references/autotrack-enum.md +4 -4
  38. package/skills/ae-generate-tracking-code/references/client-sdk-insert.md +1 -1
  39. package/skills/ae-generate-tracking-code/references/debug-script.md +48 -39
  40. package/skills/ae-generate-tracking-code/references/logbus-config.md +1 -1
  41. package/skills/ae-generate-tracking-code/references/restful-call.md +1 -1
  42. package/skills/ae-generate-tracking-code/references/sdk-index.md +36 -36
  43. 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,12 +3398,12 @@ 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
  }
3405
3405
  try {
3406
- const experiment = await import("./te-experiment-7JGJNDXO.js");
3406
+ const experiment = await import("./te-experiment-N63WF7XA.js");
3407
3407
  commands.push(...experiment.default);
3408
3408
  } catch {
3409
3409
  }
@@ -3413,7 +3413,7 @@ async function loadCommands() {
3413
3413
  } catch {
3414
3414
  }
3415
3415
  try {
3416
- const dataops = await import("./te-dataops-LXL5YULV.js");
3416
+ const dataops = await import("./te-dataops-XTWVTJCA.js");
3417
3417
  commands.push(...dataops.default);
3418
3418
  } catch {
3419
3419
  }
@@ -3423,12 +3423,12 @@ async function loadCommands() {
3423
3423
  } catch {
3424
3424
  }
3425
3425
  try {
3426
- const teTeam = await import("./te-team-RRZI4WRI.js");
3426
+ const teTeam = await import("./te-team-BQ3SKSZV.js");
3427
3427
  commands.push(...teTeam.default);
3428
3428
  } catch {
3429
3429
  }
3430
3430
  try {
3431
- const teAgent = await import("./te-agent-3GJ5H2XF.js");
3431
+ const teAgent = await import("./te-agent-JHUG6DVV.js");
3432
3432
  commands.push(...teAgent.default);
3433
3433
  } catch {
3434
3434
  }
@@ -3438,7 +3438,7 @@ async function loadCommands() {
3438
3438
  } catch {
3439
3439
  }
3440
3440
  try {
3441
- const metadata = await import("./metadata-2ZFRMVOL.js");
3441
+ const metadata = await import("./metadata-AN3YFZEV.js");
3442
3442
  commands.push(...metadata.default);
3443
3443
  } catch {
3444
3444
  }
@@ -3446,35 +3446,35 @@ async function loadCommands() {
3446
3446
  }
3447
3447
  async function registerAuthCommands() {
3448
3448
  try {
3449
- const { registerAuth } = await import("./auth-B2BRSYMS.js");
3449
+ const { registerAuth } = await import("./auth-56Z45UVR.js");
3450
3450
  registerAuth(program);
3451
3451
  } catch {
3452
3452
  }
3453
3453
  }
3454
3454
  async function registerConfigCommands() {
3455
3455
  try {
3456
- const { registerConfig } = await import("./config-DDYJPJX3.js");
3456
+ const { registerConfig } = await import("./config-BSSALXEN.js");
3457
3457
  registerConfig(program);
3458
3458
  } catch {
3459
3459
  }
3460
3460
  }
3461
3461
  async function registerApiCommand() {
3462
3462
  try {
3463
- const { registerApi } = await import("./raw-6HXFFHLV.js");
3463
+ const { registerApi } = await import("./raw-XJCAT3HX.js");
3464
3464
  registerApi(program);
3465
3465
  } catch {
3466
3466
  }
3467
3467
  }
3468
3468
  async function registerCapabilityCommands() {
3469
3469
  try {
3470
- const { registerCapability } = await import("./capability-ROKYESAP.js");
3470
+ const { registerCapability } = await import("./capability-YPOQX6PL.js");
3471
3471
  registerCapability(program);
3472
3472
  } catch {
3473
3473
  }
3474
3474
  }
3475
3475
  async function registerSyncCommand() {
3476
3476
  try {
3477
- const { registerSync } = await import("./sync-BF3IWYFC.js");
3477
+ const { registerSync } = await import("./sync-QFP4XFN3.js");
3478
3478
  registerSync(program);
3479
3479
  } catch {
3480
3480
  }
@@ -3488,7 +3488,7 @@ async function registerModelCommand() {
3488
3488
  }
3489
3489
  async function registerUpdateCommand() {
3490
3490
  try {
3491
- const { registerUpdate } = await import("./update-ER7VFU55.js");
3491
+ const { registerUpdate } = await import("./update-DKG6UXEM.js");
3492
3492
  registerUpdate(program);
3493
3493
  } catch {
3494
3494
  }
@@ -3496,7 +3496,29 @@ async function registerUpdateCommand() {
3496
3496
  async function main() {
3497
3497
  const pkgInfo = getLocalCliPackageInfo();
3498
3498
  if (!isRootUpdateCommand(process.argv.slice(2))) {
3499
- await runHostCompatCheck(pkgInfo);
3499
+ const compat = await runHostCompatCheck(
3500
+ pkgInfo,
3501
+ globalOptionValue(process.argv.slice(2), "--host")
3502
+ );
3503
+ if (compat.status === "synced") {
3504
+ 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.`;
3505
+ printError(
3506
+ "config",
3507
+ message,
3508
+ "Re-run the previous command to use the synchronized CLI and Skills.",
3509
+ "AE_CLI_VERSION_SYNCED",
3510
+ {
3511
+ current: compat.current,
3512
+ expected: compat.expected,
3513
+ cluster: compat.cluster,
3514
+ direction: compat.direction,
3515
+ retryOriginalCommand: true
3516
+ },
3517
+ { log: false }
3518
+ );
3519
+ process.exitCode = 1;
3520
+ return;
3521
+ }
3500
3522
  }
3501
3523
  const commands = await loadCommands();
3502
3524
  registerCommands(program, commands);
@@ -3546,6 +3568,14 @@ function optionConsumesValue(token) {
3546
3568
  }
3547
3569
  return token === "--host" || token === "--mcp-url" || token === "--format" || token === "--jq";
3548
3570
  }
3571
+ function globalOptionValue(args, option) {
3572
+ for (let i = 0; i < args.length; i += 1) {
3573
+ const token = args[i];
3574
+ if (token === option) return args[i + 1];
3575
+ if (token.startsWith(`${option}=`)) return token.slice(option.length + 1);
3576
+ }
3577
+ return void 0;
3578
+ }
3549
3579
  function isRootUpdateCommand(args) {
3550
3580
  for (let i = 0; i < args.length; i += 1) {
3551
3581
  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",