@thinkingai/ae-cli 6.0.55 → 6.0.56

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 (118) hide show
  1. package/README.md +24 -3
  2. package/README.zh.md +24 -3
  3. package/dist/{auth-RQBO6MTY.js → auth-U7MNUUEF.js} +37 -13
  4. package/dist/{automation-VAAQBM7Y.js → automation-K32V2NKP.js} +94 -38
  5. package/dist/{capability-JRIFC4AJ.js → capability-VV7RHB3B.js} +8 -7
  6. package/dist/{chunk-CT7QDJS6.js → chunk-2IYIYSUO.js} +2 -2
  7. package/dist/{chunk-3YVEAZUN.js → chunk-2UWS5CUP.js} +32 -21
  8. package/dist/{chunk-374V5R6N.js → chunk-3TQA5RXE.js} +3 -3
  9. package/dist/{chunk-6VNIR4AP.js → chunk-ELCR235M.js} +26 -19
  10. package/dist/{chunk-7KU2WNQE.js → chunk-F6NIPIT5.js} +7 -6
  11. package/dist/{chunk-RPBOAQQQ.js → chunk-GI5BMEZO.js} +1 -1
  12. package/dist/chunk-JJJIP2XQ.js +105 -0
  13. package/dist/{chunk-5XJYLEVC.js → chunk-KHS64JZQ.js} +4 -4
  14. package/dist/{chunk-ZL7SGNIA.js → chunk-LMCYSVVA.js} +11 -13
  15. package/dist/{chunk-VZZNLV3I.js → chunk-MXV3PYC3.js} +14 -6
  16. package/dist/{chunk-OP44TT4H.js → chunk-P6VFCH3P.js} +4 -2
  17. package/dist/{chunk-GHXZK54S.js → chunk-P7KL7IOH.js} +41 -13
  18. package/dist/{chunk-AP7YP2NX.js → chunk-QSAR3GHY.js} +2 -2
  19. package/dist/{chunk-S6M42KND.js → chunk-T44M3PLZ.js} +1 -1
  20. package/dist/{chunk-Q5US7JC5.js → chunk-UUD5RB36.js} +3 -3
  21. package/dist/{chunk-RGYPSEYD.js → chunk-W2PTY5NN.js} +3 -3
  22. package/dist/chunk-X7DRLE62.js +233 -0
  23. package/dist/{chunk-WNGFSIOB.js → chunk-ZW4VMY5H.js} +103 -6
  24. package/dist/{community-report-client-PEERQCX2.js → community-report-client-S2K3A3Q6.js} +1 -1
  25. package/dist/{config-SICKWZ2A.js → config-ASSAAIOI.js} +10 -9
  26. package/dist/{context-NGVFPCBK.js → context-6RWLVOM5.js} +4 -4
  27. package/dist/{data-integration-BCLQFTGU.js → data-integration-EXSUPUDZ.js} +6 -6
  28. package/dist/evaluation-5YT4QLCL.js +3714 -0
  29. package/dist/index.js +93 -49
  30. package/dist/{local-data-upload-client-TWMHFLUA.js → local-data-upload-client-7HCPGIS3.js} +1 -1
  31. package/dist/{memory-CQKH2JAV.js → memory-VCYLVPMI.js} +6 -6
  32. package/dist/{metadata-EMFGUI2W.js → metadata-TIWIOFTU.js} +8 -8
  33. package/dist/{model-VX5M2CJ6.js → model-DPJHSD73.js} +4 -4
  34. package/dist/{personal-semantic-preference-SLWVVYZ4.js → personal-semantic-preference-SBKU2LOK.js} +6 -6
  35. package/dist/{project-semantic-DPSZBKQD.js → project-semantic-SKNWLH3I.js} +6 -6
  36. package/dist/{sync-RZIAV37C.js → sync-7PP6KQ75.js} +7 -7
  37. package/dist/{te-agent-AORRE2FM.js → te-agent-L2BYNPHM.js} +753 -94
  38. package/dist/{te-analysis-ISXKJKRT.js → te-analysis-RJB6VJC4.js} +411 -79
  39. package/dist/{te-community-42M7ICDO.js → te-community-QN3WMPNT.js} +6 -4
  40. package/dist/{te-dataops-BNKNZ4F2.js → te-dataops-UKD2XN3E.js} +8 -6
  41. package/dist/{te-engage-BZE3MBKT.js → te-engage-KPTN4N2U.js} +6 -6
  42. package/dist/{te-kb-ULATOTQ3.js → te-kb-SFZI3W5T.js} +7 -7
  43. package/dist/{te-system-UGHVKBVV.js → te-system-IE7NCKC3.js} +6 -6
  44. package/dist/{te-team-YA6SNOJ3.js → te-team-4KHCFM2I.js} +63 -41
  45. package/dist/{things-DTCOQIQB.js → things-7JJUVAWL.js} +7 -7
  46. package/dist/{update-ESNYKUVR.js → update-AX66IFMJ.js} +4 -4
  47. package/dist/{workspace-JEOHKFPX.js → workspace-Q5NMEKEN.js} +6 -6
  48. package/package.json +11 -7
  49. package/skills/ae-agent/SKILL.md +20 -3
  50. package/skills/ae-agent/references/command_index.md +8 -0
  51. package/skills/ae-agent/references/resource-package.md +53 -0
  52. package/skills/ae-analysis/SKILL.md +12 -3
  53. package/skills/ae-analysis/references/adhoc_export.md +1 -1
  54. package/skills/ae-analysis/references/agent_review_preflight.md +4 -0
  55. package/skills/ae-analysis/references/agent_review_submit_to_page.md +4 -0
  56. package/skills/ae-analysis/references/ai_models/event.md +58 -2
  57. package/skills/ae-analysis/references/ai_models/rank_list.md +1 -0
  58. package/skills/ae-analysis/references/ai_models/retention.md +2 -0
  59. package/skills/ae-analysis/references/ai_models/revenue.md +2 -0
  60. package/skills/ae-analysis/references/analysis_data_export.md +11 -1
  61. package/skills/ae-analysis/references/asset_batch_info_export.md +2 -2
  62. package/skills/ae-analysis/references/asset_batch_sql_export.md +2 -2
  63. package/skills/ae-analysis/references/asset_export.md +1 -1
  64. package/skills/ae-analysis/references/bi_panel_page_data_export.md +1 -1
  65. package/skills/ae-analysis/references/check_export.md +1 -1
  66. package/skills/ae-analysis/references/command_index.md +34 -25
  67. package/skills/ae-analysis/references/dashboard_report_data_export.md +2 -0
  68. package/skills/ae-analysis/references/dashboard_report_get.md +6 -2
  69. package/skills/ae-analysis/references/dashboard_report_update.md +24 -5
  70. package/skills/ae-analysis/references/feedback_submit.md +1 -1
  71. package/skills/ae-analysis/references/governance_recommendation_export.md +10 -2
  72. package/skills/ae-analysis/references/live_data_export.md +1 -1
  73. package/skills/ae-analysis/references/metric_create.md +29 -0
  74. package/skills/ae-analysis/references/metric_get.md +2 -0
  75. package/skills/ae-analysis/references/metric_update.md +2 -0
  76. package/skills/ae-analysis/references/operation_record_export.md +1 -1
  77. package/skills/ae-analysis/references/plan_change_log_export.md +1 -1
  78. package/skills/ae-analysis/references/plan_export.md +1 -1
  79. package/skills/ae-analysis/references/project_info_get.md +4 -0
  80. package/skills/ae-analysis/references/project_member_group_add_members.md +35 -0
  81. package/skills/ae-analysis/references/project_member_group_create.md +25 -0
  82. package/skills/ae-analysis/references/project_member_group_delete.md +34 -0
  83. package/skills/ae-analysis/references/project_member_group_list.md +29 -0
  84. package/skills/ae-analysis/references/project_member_group_members.md +28 -0
  85. package/skills/ae-analysis/references/project_member_group_remove_members.md +35 -0
  86. package/skills/ae-analysis/references/project_member_group_rename.md +26 -0
  87. package/skills/ae-analysis/references/project_semantic_knowledge_wiki_plan_schema.md +6 -1
  88. package/skills/ae-analysis/references/report_data_export.md +1 -1
  89. package/skills/ae-analysis/references/scenario_append.md +25 -0
  90. package/skills/ae-analysis/references/scenario_collect.md +35 -0
  91. package/skills/ae-analysis/references/scenario_evaluation.md +30 -0
  92. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/build-project-semantic-wiki.mjs +73 -4
  93. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/default-compile-schema.md +5 -1
  94. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/execution-contract.mjs +173 -0
  95. package/skills/ae-analysis/scripts/project-semantic-knowledge-wiki/generate-build-ir.mjs +109 -64
  96. package/skills/ae-automation/SKILL.md +2 -2
  97. package/skills/ae-automation/references/cli.md +18 -1
  98. package/skills/ae-capability/SKILL.md +7 -3
  99. package/skills/ae-evaluation/SKILL.md +83 -0
  100. package/skills/ae-evaluation/references/access-and-members.md +55 -0
  101. package/skills/ae-evaluation/references/connections.md +78 -0
  102. package/skills/ae-evaluation/references/datasets.md +57 -0
  103. package/skills/ae-evaluation/references/evaluators.md +81 -0
  104. package/skills/ae-evaluation/references/files.md +33 -0
  105. package/skills/ae-evaluation/references/integrations.md +39 -0
  106. package/skills/ae-evaluation/references/runs.md +160 -0
  107. package/skills/ae-evaluation/references/schedules.md +31 -0
  108. package/skills/ae-metadata/SKILL.md +2 -1
  109. package/skills/ae-metadata/references/metadata_data_table_download.md +7 -1
  110. package/skills/ae-metadata/references/metadata_data_table_get.md +2 -0
  111. package/skills/ae-team/SKILL.md +2 -2
  112. package/skills/ae-team/references/run-start.md +1 -0
  113. package/skills/ae-team/references/run-watch.md +7 -5
  114. package/skills/ae-things/SKILL.md +53 -51
  115. package/skills/ae-things/references/cli.md +56 -54
  116. package/skills/ae-things-progress/SKILL.md +20 -20
  117. package/skills/ae-things-review/SKILL.md +19 -19
  118. package/dist/chunk-CI24BDR2.js +0 -43
package/dist/index.js CHANGED
@@ -14,25 +14,28 @@ import {
14
14
  validateAndFix,
15
15
  validateDraft,
16
16
  writeDraftXlsx
17
- } from "./chunk-5XJYLEVC.js";
17
+ } from "./chunk-KHS64JZQ.js";
18
+ import "./chunk-2IYIYSUO.js";
19
+ import {
20
+ EvalApiError
21
+ } from "./chunk-X7DRLE62.js";
18
22
  import {
19
23
  requiresConfirmation
20
24
  } from "./chunk-AMBFK2K3.js";
21
- import "./chunk-CT7QDJS6.js";
22
- import "./chunk-AP7YP2NX.js";
23
- import "./chunk-S6M42KND.js";
25
+ import "./chunk-QSAR3GHY.js";
26
+ import "./chunk-T44M3PLZ.js";
24
27
  import {
25
28
  resolveHost
26
- } from "./chunk-OP44TT4H.js";
29
+ } from "./chunk-P6VFCH3P.js";
27
30
  import {
28
31
  TeAgentApiError,
29
32
  TeAgentCredentialsError
30
- } from "./chunk-3YVEAZUN.js";
33
+ } from "./chunk-2UWS5CUP.js";
31
34
  import {
32
35
  CapabilityGatewayError,
33
36
  executeCapability,
34
37
  uploadInputFileBytes
35
- } from "./chunk-VZZNLV3I.js";
38
+ } from "./chunk-MXV3PYC3.js";
36
39
  import {
37
40
  failInstallation,
38
41
  fetchCliConfig,
@@ -45,27 +48,31 @@ import {
45
48
  resolveKbAutoDiscoveryFeature,
46
49
  runHostCompatCheck,
47
50
  shouldSkipAutoSync
48
- } from "./chunk-6VNIR4AP.js";
51
+ } from "./chunk-ELCR235M.js";
49
52
  import "./chunk-Y74WTIKJ.js";
50
53
  import {
51
54
  CredentialStoreUnreadableError,
52
55
  SecureStoreAuthError,
53
56
  getCliToken,
54
57
  peekCliToken
55
- } from "./chunk-GHXZK54S.js";
58
+ } from "./chunk-P7KL7IOH.js";
56
59
  import {
57
60
  getActiveHost,
58
61
  getConfigDir,
59
62
  safeJsonParse
60
- } from "./chunk-ZL7SGNIA.js";
63
+ } from "./chunk-LMCYSVVA.js";
61
64
  import {
62
65
  CliApiError,
63
66
  CliValidationError,
64
67
  CommunityReportError,
68
+ ExternalCliTokenError,
65
69
  LocalDataUploadError,
66
70
  PermissionError,
67
- logger
68
- } from "./chunk-WNGFSIOB.js";
71
+ externalCliTokenRequestOptions,
72
+ logger,
73
+ readExternalCliToken,
74
+ setExternalCliTokenFile
75
+ } from "./chunk-ZW4VMY5H.js";
69
76
 
70
77
  // src/index.ts
71
78
  import { Command as CommanderCommand, Option } from "commander";
@@ -236,7 +243,7 @@ async function runCommand(cmd, opts, globalOpts) {
236
243
  process.exit(1);
237
244
  }
238
245
  const message = err.message || String(err);
239
- if (!(err instanceof CommunityReportError)) {
246
+ if (!(err instanceof CommunityReportError) && !(err instanceof EvalApiError)) {
240
247
  if (!(err instanceof LocalDataUploadError)) logger.error(`Command failed: ${message}`);
241
248
  }
242
249
  if (err instanceof CliValidationError) {
@@ -250,7 +257,7 @@ async function runCommand(cmd, opts, globalOpts) {
250
257
  } else if (err instanceof TeAgentCredentialsError) {
251
258
  printError("config", message, err.hint);
252
259
  } else if (err instanceof PermissionError) {
253
- printError("permission", message, err.hint, err.code, void 0, { details: err.details });
260
+ printError("permission", message, err.hint, err.code, err.meta, { details: err.details });
254
261
  } else if (err instanceof CliApiError) {
255
262
  printError("api", message, err.hint, err.code, err.meta);
256
263
  } else if (err instanceof CapabilityGatewayError) {
@@ -259,8 +266,10 @@ async function runCommand(cmd, opts, globalOpts) {
259
266
  printError("api", message, err.hint, err.code, err.meta, { log: false });
260
267
  } else if (err instanceof LocalDataUploadError) {
261
268
  printError("api", message, err.hint, err.code, err.meta, { log: false });
262
- } else if (err instanceof CredentialStoreUnreadableError) {
269
+ } else if (err instanceof CredentialStoreUnreadableError || err instanceof ExternalCliTokenError) {
263
270
  printError("config", message, err.hint, err.code);
271
+ } else if (err instanceof EvalApiError) {
272
+ printError("api", message, err.hint, err.code, void 0, { log: false });
264
273
  } else if (err instanceof SecureStoreAuthError) {
265
274
  printError("auth", message, "Run: ae-cli auth login", err.code);
266
275
  } else if (err instanceof TeAgentApiError) {
@@ -326,14 +335,14 @@ function createRuntimeContext(cmd, opts, globalOpts) {
326
335
  let _communityReportModule = null;
327
336
  async function getCommunityReportClient() {
328
337
  if (!_communityReportModule) {
329
- _communityReportModule = await import("./community-report-client-PEERQCX2.js");
338
+ _communityReportModule = await import("./community-report-client-S2K3A3Q6.js");
330
339
  }
331
340
  return _communityReportModule;
332
341
  }
333
342
  let _localDataUploadModule = null;
334
343
  async function getLocalDataUploadClient() {
335
344
  if (!_localDataUploadModule) {
336
- _localDataUploadModule = await import("./local-data-upload-client-TWMHFLUA.js");
345
+ _localDataUploadModule = await import("./local-data-upload-client-7HCPGIS3.js");
337
346
  }
338
347
  return _localDataUploadModule;
339
348
  }
@@ -363,6 +372,11 @@ function createRuntimeContext(cmd, opts, globalOpts) {
363
372
  try {
364
373
  return safeJsonParse(String(val));
365
374
  } catch {
375
+ if (cmd.flags.some((flag) => flag.name === name && flag.sensitive)) {
376
+ throw new CliValidationError(`Invalid JSON for --${name}.`, {
377
+ hint: "Provide valid JSON with quoted keys and strings. Sensitive input is omitted from diagnostics."
378
+ });
379
+ }
366
380
  printError("validation", `Invalid JSON for --${name}: ${val}`);
367
381
  process.exit(1);
368
382
  }
@@ -445,7 +459,13 @@ function registerCommands(program2, commands) {
445
459
  if (flag.variadic) {
446
460
  sub.option(flagStr, flag.desc, collectVariadic, []);
447
461
  } else if (flag.type === "boolean") {
448
- sub.option(flagStr, flag.desc, (value) => parseBooleanValue(value, flag.name));
462
+ const option = sub.createOption(flagStr, flag.desc);
463
+ if (flag.name.startsWith("no-")) {
464
+ option.negate = false;
465
+ option.attributeName = () => flag.name.replace(/-([a-z])/g, (_, letter) => letter.toUpperCase());
466
+ }
467
+ option.argParser((value) => parseBooleanValue(value, flag.name));
468
+ sub.addOption(option);
449
469
  } else if (flag.default !== void 0) {
450
470
  sub.option(flagStr, flag.desc, String(flag.default));
451
471
  } else {
@@ -661,7 +681,7 @@ var TrackingClient = class {
661
681
  headers["content-type"] = "application/json";
662
682
  init.body = JSON.stringify(body);
663
683
  }
664
- const resp = await fetch(url, init);
684
+ const resp = await fetch(url, { ...init, ...externalCliTokenRequestOptions(url) });
665
685
  const env = safeJsonParse(await resp.text());
666
686
  logger.api(method, url, resp.status, body, env);
667
687
  if (resp.status === 401) {
@@ -2305,7 +2325,7 @@ async function parseProgram(program2, argv = process.argv) {
2305
2325
  try {
2306
2326
  await program2.parseAsync(normalizeSubcommandVersionOption(program2, argv));
2307
2327
  } catch (error) {
2308
- if (!(error instanceof CredentialStoreUnreadableError)) throw error;
2328
+ if (!(error instanceof CredentialStoreUnreadableError) && !(error instanceof ExternalCliTokenError)) throw error;
2309
2329
  printError("config", error.message, error.hint, error.code);
2310
2330
  process.exitCode = 1;
2311
2331
  }
@@ -2415,7 +2435,7 @@ var require2 = createRequire(import.meta.url);
2415
2435
  var pkg = require2("../package.json");
2416
2436
  var { version } = pkg;
2417
2437
  var program = new CommanderCommand();
2418
- program.name("ae-cli").version(version).description("CLI tool for ThinkingAI (AE) analytics platform").option("--host <url>", "Override active AE host URL (e.g., https://ta.thinkingdata.cn)").option("--mcp-url <url>", "Override MCP server URL (e.g., http://localhost/mcp/http/example)").option("--format <format>", "Output format: json | table", "json").option("--jq <expr>", "jq 1.8 filter over command payload (via jq-wasm), applied before output envelope").option(
2438
+ program.name("ae-cli").version(version).description("CLI tool for ThinkingAI (AE) analytics platform").option("--host <url>", "Override active AE host URL (e.g., https://ta.thinkingdata.cn)").option("--cli-token-file <path>", "Use a read-only JSON CLI token file containing url and token for this invocation").option("--mcp-url <url>", "Override MCP server URL (e.g., http://localhost/mcp/http/example)").option("--format <format>", "Output format: json | table", "json").option("--jq <expr>", "jq 1.8 filter over command payload (via jq-wasm), applied before output envelope").option(
2419
2439
  "--validate",
2420
2440
  "Optional: validate/normalize capability input only (gateway /validate). Use alone while fixing complex params/qp; do not stack with --dry-run",
2421
2441
  false
@@ -2435,108 +2455,114 @@ function warnLoadFailure(label, err) {
2435
2455
  async function loadCommands() {
2436
2456
  const commands = [];
2437
2457
  try {
2438
- const teAnalysis = await import("./te-analysis-ISXKJKRT.js");
2458
+ const teAnalysis = await import("./te-analysis-RJB6VJC4.js");
2439
2459
  commands.push(...teAnalysis.default);
2440
2460
  } catch (err) {
2441
2461
  warnLoadFailure("domain te-analysis", err);
2442
2462
  }
2443
2463
  try {
2444
- const engage = await import("./te-engage-BZE3MBKT.js");
2464
+ const engage = await import("./te-engage-KPTN4N2U.js");
2445
2465
  commands.push(...engage.default);
2446
2466
  } catch (err) {
2447
2467
  warnLoadFailure("domain te-engage", err);
2448
2468
  }
2449
2469
  try {
2450
- const community = await import("./te-community-42M7ICDO.js");
2470
+ const community = await import("./te-community-QN3WMPNT.js");
2451
2471
  commands.push(...community.default);
2452
2472
  } catch (err) {
2453
2473
  warnLoadFailure("domain te-community", err);
2454
2474
  }
2455
2475
  try {
2456
- const dataops = await import("./te-dataops-BNKNZ4F2.js");
2476
+ const dataops = await import("./te-dataops-UKD2XN3E.js");
2457
2477
  commands.push(...dataops.default);
2458
2478
  } catch (err) {
2459
2479
  warnLoadFailure("domain te-dataops", err);
2460
2480
  }
2461
2481
  try {
2462
- const teKb = await import("./te-kb-ULATOTQ3.js");
2482
+ const teKb = await import("./te-kb-SFZI3W5T.js");
2463
2483
  commands.push(...teKb.default);
2464
2484
  } catch (err) {
2465
2485
  warnLoadFailure("domain te-kb", err);
2466
2486
  }
2467
2487
  try {
2468
- const teTeam = await import("./te-team-YA6SNOJ3.js");
2488
+ const teTeam = await import("./te-team-4KHCFM2I.js");
2469
2489
  commands.push(...teTeam.default);
2470
2490
  } catch (err) {
2471
2491
  warnLoadFailure("domain te-team", err);
2472
2492
  }
2473
2493
  try {
2474
- const teAgent = await import("./te-agent-AORRE2FM.js");
2494
+ const teAgent = await import("./te-agent-L2BYNPHM.js");
2475
2495
  commands.push(...teAgent.default);
2476
2496
  } catch (err) {
2477
2497
  warnLoadFailure("domain te-agent", err);
2478
2498
  }
2479
2499
  try {
2480
- const memory = await import("./memory-CQKH2JAV.js");
2500
+ const memory = await import("./memory-VCYLVPMI.js");
2481
2501
  commands.push(...memory.default);
2482
2502
  } catch (err) {
2483
2503
  warnLoadFailure("domain memory", err);
2484
2504
  }
2485
- const automation = await import("./automation-VAAQBM7Y.js");
2505
+ const automation = await import("./automation-K32V2NKP.js");
2486
2506
  commands.push(...automation.default);
2487
2507
  try {
2488
- const things = await import("./things-DTCOQIQB.js");
2508
+ const things = await import("./things-7JJUVAWL.js");
2489
2509
  commands.push(...things.default);
2490
2510
  } catch (err) {
2491
2511
  warnLoadFailure("domain things", err);
2492
2512
  }
2493
2513
  try {
2494
- const workspace = await import("./workspace-JEOHKFPX.js");
2514
+ const workspace = await import("./workspace-Q5NMEKEN.js");
2495
2515
  commands.push(...workspace.default);
2496
2516
  } catch (err) {
2497
2517
  warnLoadFailure("domain workspace", err);
2498
2518
  }
2499
2519
  try {
2500
- const teSystem = await import("./te-system-UGHVKBVV.js");
2520
+ const teSystem = await import("./te-system-IE7NCKC3.js");
2501
2521
  commands.push(...teSystem.default);
2502
2522
  } catch (err) {
2503
2523
  warnLoadFailure("domain te-system", err);
2504
2524
  }
2505
2525
  try {
2506
- const metadata = await import("./metadata-EMFGUI2W.js");
2526
+ const metadata = await import("./metadata-TIWIOFTU.js");
2507
2527
  commands.push(...metadata.default);
2508
2528
  } catch (err) {
2509
2529
  warnLoadFailure("domain metadata", err);
2510
2530
  }
2511
2531
  try {
2512
- const personalSemanticPreference = await import("./personal-semantic-preference-SLWVVYZ4.js");
2532
+ const personalSemanticPreference = await import("./personal-semantic-preference-SBKU2LOK.js");
2513
2533
  commands.push(...personalSemanticPreference.default);
2514
2534
  } catch (err) {
2515
2535
  warnLoadFailure("domain personal-semantic-preference", err);
2516
2536
  }
2517
2537
  try {
2518
- const projectSemantic = await import("./project-semantic-DPSZBKQD.js");
2538
+ const projectSemantic = await import("./project-semantic-SKNWLH3I.js");
2519
2539
  commands.push(...projectSemantic.default);
2520
2540
  } catch (err) {
2521
2541
  warnLoadFailure("domain project-semantic", err);
2522
2542
  }
2523
2543
  try {
2524
- const dataIntegration = await import("./data-integration-BCLQFTGU.js");
2544
+ const dataIntegration = await import("./data-integration-EXSUPUDZ.js");
2525
2545
  commands.push(...dataIntegration.default);
2526
2546
  } catch (err) {
2527
2547
  warnLoadFailure("domain data-integration", err);
2528
2548
  }
2529
2549
  try {
2530
- const context = await import("./context-NGVFPCBK.js");
2550
+ const context = await import("./context-6RWLVOM5.js");
2531
2551
  commands.push(...context.default);
2532
2552
  } catch (err) {
2533
2553
  warnLoadFailure("domain context", err);
2534
2554
  }
2555
+ try {
2556
+ const evaluation = await import("./evaluation-5YT4QLCL.js");
2557
+ commands.push(...evaluation.default);
2558
+ } catch (err) {
2559
+ warnLoadFailure("domain evaluation", err);
2560
+ }
2535
2561
  return commands;
2536
2562
  }
2537
2563
  async function registerAuthCommands() {
2538
2564
  try {
2539
- const { registerAuth } = await import("./auth-RQBO6MTY.js");
2565
+ const { registerAuth } = await import("./auth-U7MNUUEF.js");
2540
2566
  registerAuth(program);
2541
2567
  } catch (err) {
2542
2568
  warnLoadFailure("auth commands", err);
@@ -2544,7 +2570,7 @@ async function registerAuthCommands() {
2544
2570
  }
2545
2571
  async function registerConfigCommands() {
2546
2572
  try {
2547
- const { registerConfig } = await import("./config-SICKWZ2A.js");
2573
+ const { registerConfig } = await import("./config-ASSAAIOI.js");
2548
2574
  registerConfig(program);
2549
2575
  } catch (err) {
2550
2576
  warnLoadFailure("config commands", err);
@@ -2552,7 +2578,7 @@ async function registerConfigCommands() {
2552
2578
  }
2553
2579
  async function registerCapabilityCommands() {
2554
2580
  try {
2555
- const { registerCapability } = await import("./capability-JRIFC4AJ.js");
2581
+ const { registerCapability } = await import("./capability-VV7RHB3B.js");
2556
2582
  registerCapability(program);
2557
2583
  } catch (err) {
2558
2584
  warnLoadFailure("capability commands", err);
@@ -2560,7 +2586,7 @@ async function registerCapabilityCommands() {
2560
2586
  }
2561
2587
  async function registerSyncCommand() {
2562
2588
  try {
2563
- const { registerSync } = await import("./sync-RZIAV37C.js");
2589
+ const { registerSync } = await import("./sync-7PP6KQ75.js");
2564
2590
  registerSync(program);
2565
2591
  } catch (err) {
2566
2592
  warnLoadFailure("sync commands", err);
@@ -2568,7 +2594,7 @@ async function registerSyncCommand() {
2568
2594
  }
2569
2595
  async function registerModelCommand() {
2570
2596
  try {
2571
- const { registerModel } = await import("./model-VX5M2CJ6.js");
2597
+ const { registerModel } = await import("./model-DPJHSD73.js");
2572
2598
  registerModel(program);
2573
2599
  } catch (err) {
2574
2600
  warnLoadFailure("model commands", err);
@@ -2576,13 +2602,17 @@ async function registerModelCommand() {
2576
2602
  }
2577
2603
  async function registerUpdateCommand() {
2578
2604
  try {
2579
- const { registerUpdate } = await import("./update-ESNYKUVR.js");
2605
+ const { registerUpdate } = await import("./update-AX66IFMJ.js");
2580
2606
  registerUpdate(program);
2581
2607
  } catch (err) {
2582
2608
  warnLoadFailure("update commands", err);
2583
2609
  }
2584
2610
  }
2585
2611
  async function main() {
2612
+ setExternalCliTokenFile(globalOptionValue(process.argv.slice(2), "--cli-token-file"));
2613
+ if (!process.argv.slice(2).some((arg) => ["--help", "-h", "--version", "-V"].includes(arg))) {
2614
+ readExternalCliToken(globalOptionValue(process.argv.slice(2), "--host"));
2615
+ }
2586
2616
  const pkgInfo = getLocalCliPackageInfo();
2587
2617
  if (!isRootUpdateCommand(process.argv.slice(2))) {
2588
2618
  const compat = await runHostCompatCheck(
@@ -2623,7 +2653,13 @@ async function main() {
2623
2653
  rejectUnknownHelpCommandPath(program, process.argv.slice(2));
2624
2654
  await parseProgram(program);
2625
2655
  }
2626
- await main();
2656
+ try {
2657
+ await main();
2658
+ } catch (error) {
2659
+ if (!(error instanceof ExternalCliTokenError) && !(error instanceof CliValidationError)) throw error;
2660
+ printError(error instanceof ExternalCliTokenError ? "config" : "validation", error.message, error.hint, error.code);
2661
+ process.exitCode = 1;
2662
+ }
2627
2663
  function rejectUnknownHelpCommandPath(root, args) {
2628
2664
  if (!args.includes("--help") && !args.includes("-h")) {
2629
2665
  return;
@@ -2656,15 +2692,23 @@ function optionConsumesValue(token) {
2656
2692
  if (token.includes("=")) {
2657
2693
  return false;
2658
2694
  }
2659
- return token === "--host" || token === "--mcp-url" || token === "--format" || token === "--jq" || token === "--agent-context";
2695
+ return token === "--host" || token === "--cli-token-file" || token === "--mcp-url" || token === "--format" || token === "--jq" || token === "--agent-context";
2660
2696
  }
2661
2697
  function globalOptionValue(args, option) {
2698
+ let value;
2662
2699
  for (let i = 0; i < args.length; i += 1) {
2663
2700
  const token = args[i];
2664
- if (token === option) return args[i + 1];
2665
- if (token.startsWith(`${option}=`)) return token.slice(option.length + 1);
2701
+ if (token === "--") break;
2702
+ if (optionConsumesValue(token)) {
2703
+ const next = args[i + 1];
2704
+ if (next === void 0) {
2705
+ throw new CliValidationError(`${token} requires a value.`, { code: "MISSING_OPTION_VALUE" });
2706
+ }
2707
+ if (token === option) value = next;
2708
+ i += 1;
2709
+ } else if (token.startsWith(`${option}=`)) value = token.slice(option.length + 1);
2666
2710
  }
2667
- return void 0;
2711
+ return value;
2668
2712
  }
2669
2713
  function isRootUpdateCommand(args) {
2670
2714
  for (let i = 0; i < args.length; i += 1) {
@@ -2,7 +2,7 @@ import { createRequire as __createRequire } from 'node:module'; const require =
2
2
  import {
3
3
  LocalDataUploadError,
4
4
  logger
5
- } from "./chunk-WNGFSIOB.js";
5
+ } from "./chunk-ZW4VMY5H.js";
6
6
 
7
7
  // src/core/local-data-upload-client.ts
8
8
  import { createHash } from "crypto";
@@ -4,18 +4,18 @@ import {
4
4
  getMemoryCli,
5
5
  patchMemoryCli,
6
6
  postMemoryCli
7
- } from "./chunk-RPBOAQQQ.js";
7
+ } from "./chunk-GI5BMEZO.js";
8
8
  import {
9
9
  currentAgentSpaceId
10
10
  } from "./chunk-RK6GLDGI.js";
11
- import "./chunk-CI24BDR2.js";
12
- import "./chunk-3YVEAZUN.js";
11
+ import "./chunk-JJJIP2XQ.js";
12
+ import "./chunk-2UWS5CUP.js";
13
13
  import "./chunk-Y74WTIKJ.js";
14
- import "./chunk-GHXZK54S.js";
15
- import "./chunk-ZL7SGNIA.js";
14
+ import "./chunk-P7KL7IOH.js";
15
+ import "./chunk-LMCYSVVA.js";
16
16
  import {
17
17
  CliValidationError
18
- } from "./chunk-WNGFSIOB.js";
18
+ } from "./chunk-ZW4VMY5H.js";
19
19
 
20
20
  // src/commands/memory/shared.ts
21
21
  var MEMORY_SERVICE = "memory";
@@ -1,19 +1,19 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  withAsyncArtifactLifecycle
4
- } from "./chunk-RGYPSEYD.js";
4
+ } from "./chunk-W2PTY5NN.js";
5
5
  import {
6
6
  createCapabilityCommand
7
- } from "./chunk-374V5R6N.js";
7
+ } from "./chunk-3TQA5RXE.js";
8
8
  import {
9
9
  registerCapabilityGatewayRoute
10
10
  } from "./chunk-KPQY44JQ.js";
11
- import "./chunk-VZZNLV3I.js";
12
- import "./chunk-6VNIR4AP.js";
11
+ import "./chunk-MXV3PYC3.js";
12
+ import "./chunk-ELCR235M.js";
13
13
  import "./chunk-Y74WTIKJ.js";
14
- import "./chunk-GHXZK54S.js";
15
- import "./chunk-ZL7SGNIA.js";
16
- import "./chunk-WNGFSIOB.js";
14
+ import "./chunk-P7KL7IOH.js";
15
+ import "./chunk-LMCYSVVA.js";
16
+ import "./chunk-ZW4VMY5H.js";
17
17
 
18
18
  // src/commands/metadata/shared.ts
19
19
  function createCapabilityCommand2(config) {
@@ -134,7 +134,7 @@ var dataTableDownload = createCapabilityCommand2({
134
134
  { name: "project-id", type: "number", required: true, desc: "Numeric project ID.", alias: "p" },
135
135
  { name: "data-table-id", type: "number", required: true, desc: "Data table ID." },
136
136
  { name: "request-id", type: "string", required: false, desc: "Optional request ID. Format: cli_<32 lowercase hex>." },
137
- { name: "timeout-seconds", type: "number", required: false, desc: "Export timeout seconds. Default and max: 21600 (6 hours).", min: 1, max: 21600 }
137
+ { name: "timeout-seconds", type: "number", required: false, desc: "Export runtime in seconds. Omit to use the server default (usually 21600 / 6 hours). This CLI accepts explicit values up to 21600; inspect the capability for the server default/max and use capability run for larger allowed values.", min: 1, max: 21600 }
138
138
  ],
139
139
  risk: "read",
140
140
  buildInput: (ctx) => ({
@@ -15,11 +15,11 @@ import {
15
15
  getClaudeConfigDir,
16
16
  getSandboxModels,
17
17
  postSandboxModelSelection
18
- } from "./chunk-3YVEAZUN.js";
18
+ } from "./chunk-2UWS5CUP.js";
19
19
  import "./chunk-Y74WTIKJ.js";
20
- import "./chunk-GHXZK54S.js";
21
- import "./chunk-ZL7SGNIA.js";
22
- import "./chunk-WNGFSIOB.js";
20
+ import "./chunk-P7KL7IOH.js";
21
+ import "./chunk-LMCYSVVA.js";
22
+ import "./chunk-ZW4VMY5H.js";
23
23
 
24
24
  // src/commands/model/index.ts
25
25
  import { existsSync, readFileSync } from "fs";
@@ -1,16 +1,16 @@
1
1
  import { createRequire as __createRequire } from 'node:module'; const require = __createRequire(import.meta.url);
2
2
  import {
3
3
  createCapabilityCommand
4
- } from "./chunk-374V5R6N.js";
4
+ } from "./chunk-3TQA5RXE.js";
5
5
  import {
6
6
  registerCapabilityGatewayRoute
7
7
  } from "./chunk-KPQY44JQ.js";
8
- import "./chunk-VZZNLV3I.js";
9
- import "./chunk-6VNIR4AP.js";
8
+ import "./chunk-MXV3PYC3.js";
9
+ import "./chunk-ELCR235M.js";
10
10
  import "./chunk-Y74WTIKJ.js";
11
- import "./chunk-GHXZK54S.js";
12
- import "./chunk-ZL7SGNIA.js";
13
- import "./chunk-WNGFSIOB.js";
11
+ import "./chunk-P7KL7IOH.js";
12
+ import "./chunk-LMCYSVVA.js";
13
+ import "./chunk-ZW4VMY5H.js";
14
14
 
15
15
  // src/commands/personal-semantic-preference/shared.ts
16
16
  function createPersonalSemanticPreferenceCommand(config) {
@@ -3,7 +3,7 @@ import {
3
3
  assertOutputPathAvailable,
4
4
  downloadAnalysisArtifact,
5
5
  withAsyncArtifactLifecycle
6
- } from "./chunk-RGYPSEYD.js";
6
+ } from "./chunk-W2PTY5NN.js";
7
7
  import {
8
8
  registerCapabilityGatewayRoute,
9
9
  resolveGatewayDomain
@@ -13,12 +13,12 @@ import {
13
13
  dryRunCapability,
14
14
  executeCapabilityWithEnvelope,
15
15
  validateCapability
16
- } from "./chunk-VZZNLV3I.js";
17
- import "./chunk-6VNIR4AP.js";
16
+ } from "./chunk-MXV3PYC3.js";
17
+ import "./chunk-ELCR235M.js";
18
18
  import "./chunk-Y74WTIKJ.js";
19
- import "./chunk-GHXZK54S.js";
20
- import "./chunk-ZL7SGNIA.js";
21
- import "./chunk-WNGFSIOB.js";
19
+ import "./chunk-P7KL7IOH.js";
20
+ import "./chunk-LMCYSVVA.js";
21
+ import "./chunk-ZW4VMY5H.js";
22
22
 
23
23
  // src/commands/project-semantic/asset-package/materializer.ts
24
24
  import { createHash, randomBytes } from "crypto";
@@ -24,8 +24,8 @@ import {
24
24
  } from "./chunk-RK6GLDGI.js";
25
25
  import {
26
26
  require_lib
27
- } from "./chunk-CT7QDJS6.js";
28
- import "./chunk-S6M42KND.js";
27
+ } from "./chunk-2IYIYSUO.js";
28
+ import "./chunk-T44M3PLZ.js";
29
29
  import {
30
30
  TeAgentApiError,
31
31
  TeAgentCredentialsError,
@@ -33,16 +33,16 @@ import {
33
33
  postSandboxSyncPull,
34
34
  postToMainApp,
35
35
  uploadToMainApp
36
- } from "./chunk-3YVEAZUN.js";
36
+ } from "./chunk-2UWS5CUP.js";
37
37
  import {
38
38
  printError
39
- } from "./chunk-6VNIR4AP.js";
39
+ } from "./chunk-ELCR235M.js";
40
40
  import "./chunk-Y74WTIKJ.js";
41
- import "./chunk-GHXZK54S.js";
42
- import "./chunk-ZL7SGNIA.js";
41
+ import "./chunk-P7KL7IOH.js";
42
+ import "./chunk-LMCYSVVA.js";
43
43
  import {
44
44
  __toESM
45
- } from "./chunk-WNGFSIOB.js";
45
+ } from "./chunk-ZW4VMY5H.js";
46
46
 
47
47
  // src/commands/sync/index.ts
48
48
  var import_jszip = __toESM(require_lib(), 1);