@botpress/adk-cli 1.18.0-beta.6 → 1.18.0-beta.7

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.
package/dist/cli.js CHANGED
@@ -36888,7 +36888,7 @@ var require_jsx_dev_runtime = __commonJS((exports2, module2) => {
36888
36888
  });
36889
36889
 
36890
36890
  // src/utils/build-constants.ts
36891
- var CLI_VERSION = "1.18.0-beta.6", EXPECTED_RUNTIME_VERSION = "1.18.0-beta.6", UNLEASH_PROD_TOKEN = "";
36891
+ var CLI_VERSION = "1.18.0-beta.7", EXPECTED_RUNTIME_VERSION = "1.18.0-beta.7", UNLEASH_PROD_TOKEN = "";
36892
36892
 
36893
36893
  // ../../node_modules/.bun/browser-or-node@2.1.1/node_modules/browser-or-node/lib/index.js
36894
36894
  var require_lib = __commonJS((exports2) => {
@@ -609336,7 +609336,7 @@ var init_internal = __esm(() => {
609336
609336
  });
609337
609337
  init_define_PACKAGE_VERSIONS = __esm2({
609338
609338
  "<define:__PACKAGE_VERSIONS__>"() {
609339
- define_PACKAGE_VERSIONS_default = { runtime: "1.18.0-beta.6", adk: "not-installed", sdk: "6.4.5", llmz: "0.0.71", zai: "2.6.19", cognitive: "0.5.3" };
609339
+ define_PACKAGE_VERSIONS_default = { runtime: "1.18.0-beta.7", adk: "not-installed", sdk: "6.4.5", llmz: "0.0.71", zai: "2.6.19", cognitive: "0.5.3" };
609340
609340
  }
609341
609341
  });
609342
609342
  init_asset = __esm2({
@@ -675423,7 +675423,7 @@ var init_library2 = __esm(() => {
675423
675423
  });
675424
675424
  init_define_PACKAGE_VERSIONS2 = __esm3({
675425
675425
  "<define:__PACKAGE_VERSIONS__>"() {
675426
- define_PACKAGE_VERSIONS_default2 = { runtime: "1.18.0-beta.6", adk: "not-installed", sdk: "6.4.5", llmz: "0.0.71", zai: "2.6.19", cognitive: "0.5.3" };
675426
+ define_PACKAGE_VERSIONS_default2 = { runtime: "1.18.0-beta.7", adk: "not-installed", sdk: "6.4.5", llmz: "0.0.71", zai: "2.6.19", cognitive: "0.5.3" };
675427
675427
  }
675428
675428
  });
675429
675429
  init_assets2 = __esm3({
@@ -770102,7 +770102,7 @@ var init_definition3 = __esm(() => {
770102
770102
  });
770103
770103
  init_define_PACKAGE_VERSIONS3 = __esm5({
770104
770104
  "<define:__PACKAGE_VERSIONS__>"() {
770105
- define_PACKAGE_VERSIONS_default3 = { runtime: "1.18.0-beta.6", adk: "not-installed", sdk: "6.4.5", llmz: "0.0.71", zai: "2.6.19", cognitive: "0.5.3" };
770105
+ define_PACKAGE_VERSIONS_default3 = { runtime: "1.18.0-beta.7", adk: "not-installed", sdk: "6.4.5", llmz: "0.0.71", zai: "2.6.19", cognitive: "0.5.3" };
770106
770106
  }
770107
770107
  });
770108
770108
  init_transcript3 = __esm5({
@@ -840621,7 +840621,7 @@ var init_runtime6 = __esm(() => {
840621
840621
  });
840622
840622
  init_define_PACKAGE_VERSIONS4 = __esm6({
840623
840623
  "<define:__PACKAGE_VERSIONS__>"() {
840624
- define_PACKAGE_VERSIONS_default4 = { runtime: "1.18.0-beta.6", adk: "not-installed", sdk: "6.4.5", llmz: "0.0.71", zai: "2.6.19", cognitive: "0.5.3" };
840624
+ define_PACKAGE_VERSIONS_default4 = { runtime: "1.18.0-beta.7", adk: "not-installed", sdk: "6.4.5", llmz: "0.0.71", zai: "2.6.19", cognitive: "0.5.3" };
840625
840625
  }
840626
840626
  });
840627
840627
  init_globals4 = __esm6({
@@ -904728,6 +904728,7 @@ class IntegrationOperations {
904728
904728
  }
904729
904729
  const actualVersion = integrationDefinition.version;
904730
904730
  const integrationVersion = `${resolvedInput.fullName}@${actualVersion}`;
904731
+ const requiresConfiguration = integrationRequiresConfiguration(integrationDefinition);
904731
904732
  const existingEntry = dependencies.integrations[alias];
904732
904733
  if (existingEntry && typeof existingEntry === "object" && "version" in existingEntry) {
904733
904734
  dependencies.integrations[alias] = {
@@ -904746,7 +904747,8 @@ class IntegrationOperations {
904746
904747
  fullName: resolvedInput.fullName,
904747
904748
  alias: resolvedInput.alias,
904748
904749
  version: actualVersion,
904749
- ref: integrationVersion
904750
+ ref: integrationVersion,
904751
+ requiresConfiguration
904750
904752
  };
904751
904753
  }
904752
904754
  async removeIntegration(name2) {
@@ -904850,6 +904852,31 @@ class IntegrationOperations {
904850
904852
  }));
904851
904853
  }
904852
904854
  }
904855
+ function integrationRequiresConfiguration(definition) {
904856
+ const config3 = definition.configuration;
904857
+ if (!config3)
904858
+ return true;
904859
+ if (config3.identifier?.required)
904860
+ return true;
904861
+ if (config3.identifier?.linkTemplateScript)
904862
+ return true;
904863
+ const required5 = config3.schema?.required;
904864
+ if (Array.isArray(required5) && required5.length > 0)
904865
+ return true;
904866
+ return false;
904867
+ }
904868
+ function resolveIntegrationEnabled(integration, cloudEnabled) {
904869
+ if (integration.enabled !== undefined) {
904870
+ return integration.enabled;
904871
+ }
904872
+ if (cloudEnabled !== undefined) {
904873
+ return cloudEnabled;
904874
+ }
904875
+ if (integration.definition && !integrationRequiresConfiguration(integration.definition)) {
904876
+ return true;
904877
+ }
904878
+ return false;
904879
+ }
904853
904880
  function mergeIntegrationConfig(current, desired) {
904854
904881
  if (desired === undefined) {
904855
904882
  return current || {};
@@ -906742,7 +906769,7 @@ ${names || " (none found)"}`);
906742
906769
  async copyTemplateFiles(templateDir) {
906743
906770
  const substitutions = {
906744
906771
  "{{projectName}}": this.projectName,
906745
- "{{runtimeVersion}}": "1.18.0-beta.6",
906772
+ "{{runtimeVersion}}": "1.18.0-beta.7",
906746
906773
  "{{packageManager}}": this.packageManager
906747
906774
  };
906748
906775
  await this.copyDirRecursive(templateDir, this.projectPath, substitutions);
@@ -909620,7 +909647,14 @@ declare module "@botpress/runtime/_types/state" {
909620
909647
  const configType = configurationType && configurationType !== "default" ? `, configurationType: "${configurationType}"` : "";
909621
909648
  const mergedConfig = mergeIntegrationConfig(serverConfigResult.configs[alias], config3);
909622
909649
  const configData = Object.keys(mergedConfig).length > 0 ? `, configuration: ${JSON.stringify(mergedConfig)}` : "";
909623
- const enabled = integration.enabled ?? serverConfigResult.enabledStates[alias] ?? false;
909650
+ let enabled;
909651
+ if (integration.enabled !== undefined) {
909652
+ enabled = integration.enabled;
909653
+ } else if (serverConfigResult.error) {
909654
+ enabled = false;
909655
+ } else {
909656
+ enabled = resolveIntegrationEnabled(integration, serverConfigResult.enabledStates[alias]);
909657
+ }
909624
909658
  addIntegrations.push(`bot.addIntegration(${importName}, { alias: "${alias}", enabled: ${enabled}${configType}${configData} });`);
909625
909659
  }
909626
909660
  const depRefErrors = PluginParser.validateDependencyReferences(project.dependencies || {});
@@ -912548,7 +912582,7 @@ var import_ts_morph, import_ts_morph2, import_debug, import_debug2, import_tree_
912548
912582
  `));
912549
912583
  return code;
912550
912584
  }
912551
- }, ADK_VERSION = "1.18.0-beta.6", relative22 = (from, to6) => {
912585
+ }, ADK_VERSION = "1.18.0-beta.7", relative22 = (from, to6) => {
912552
912586
  const fromDir = path92.dirname(from);
912553
912587
  const relative32 = path92.relative(fromDir, to6);
912554
912588
  return relative32.startsWith(".") ? relative32 : `./${relative32}`;
@@ -914097,7 +914131,7 @@ ${err.stack?.split(`
914097
914131
  require_package3 = __commonJS9((exports7, module2) => {
914098
914132
  module2.exports = {
914099
914133
  name: "@botpress/adk",
914100
- version: "1.18.0-beta.6",
914134
+ version: "1.18.0-beta.7",
914101
914135
  description: "Core ADK library for building AI agents on Botpress",
914102
914136
  keywords: [
914103
914137
  "adk",
@@ -914146,7 +914180,7 @@ ${err.stack?.split(`
914146
914180
  "@botpress/cli": "~6.3.2",
914147
914181
  "@botpress/client": "~1.39.0",
914148
914182
  "@botpress/cognitive": "~0.5.2",
914149
- "@botpress/runtime": "^1.18.0-beta.6",
914183
+ "@botpress/runtime": "^1.18.0-beta.7",
914150
914184
  "@botpress/sdk": "~6.4.4",
914151
914185
  "@bpinternal/jex": "^1.2.4",
914152
914186
  "@bpinternal/yargs-extra": "^0.0.21",
@@ -914801,6 +914835,7 @@ ${this.stderrLines.join(`
914801
914835
  init_utils11();
914802
914836
  init_fs();
914803
914837
  init_config_utils();
914838
+ init_operations();
914804
914839
  init_utils11();
914805
914840
  ({ transforms: transforms2 } = ne);
914806
914841
  init_utils11();
@@ -915113,7 +915148,7 @@ var package_default;
915113
915148
  var init_package = __esm(() => {
915114
915149
  package_default = {
915115
915150
  name: "@botpress/adk-cli",
915116
- version: "1.18.0-beta.6",
915151
+ version: "1.18.0-beta.7",
915117
915152
  description: "Command-line interface for the Botpress Agent Development Kit (ADK)",
915118
915153
  keywords: [
915119
915154
  "adk",
@@ -915154,11 +915189,11 @@ var init_package = __esm(() => {
915154
915189
  "check:type": "bun scripts/generate-build-constants.ts >/dev/null && bun scripts/embed-assets.ts >/dev/null && tsc --noEmit"
915155
915190
  },
915156
915191
  dependencies: {
915157
- "@botpress/adk": "^1.18.0-beta.6",
915192
+ "@botpress/adk": "^1.18.0-beta.7",
915158
915193
  "@botpress/chat": "~0.5.5",
915159
915194
  "@botpress/cli": "~6.3.2",
915160
915195
  "@botpress/client": "~1.39.0",
915161
- "@botpress/runtime": "^1.18.0-beta.6",
915196
+ "@botpress/runtime": "^1.18.0-beta.7",
915162
915197
  "@botpress/sdk": "~6.4.4",
915163
915198
  "@botpress/webchat-client": "^0.7.2",
915164
915199
  "@modelcontextprotocol/sdk": "^1.25.1",
@@ -920587,23 +920622,28 @@ async function fetchWithTimeout(url6, timeoutMs) {
920587
920622
  clearTimeout(timer);
920588
920623
  }
920589
920624
  }
920590
- async function listCommandFiles() {
920625
+ async function fetchManifest() {
920591
920626
  try {
920592
- const res = await fetchWithTimeout(GITHUB_API_URL, REQUEST_TIMEOUT_MS);
920627
+ const res = await fetchWithTimeout(MANIFEST_URL, REQUEST_TIMEOUT_MS);
920593
920628
  if (!res.ok) {
920594
- return KNOWN_COMMANDS;
920629
+ return null;
920595
920630
  }
920596
920631
  const entries = await res.json();
920597
920632
  const mdFiles = entries.filter((e7) => e7.type === "file" && e7.name.endsWith(".md")).map((e7) => e7.name);
920598
920633
  return mdFiles.length > 0 ? mdFiles : KNOWN_COMMANDS;
920599
920634
  } catch {
920600
- return KNOWN_COMMANDS;
920635
+ return null;
920601
920636
  }
920602
920637
  }
920603
- async function downloadCommand(filename) {
920604
- const safeFilename = basename3(filename);
920638
+ function listCommandFiles(manifest) {
920639
+ if (manifest && manifest.commands.length > 0) {
920640
+ return manifest.commands.map((entry) => entry.path);
920641
+ }
920642
+ return KNOWN_COMMANDS;
920643
+ }
920644
+ async function downloadCommand(filePath) {
920605
920645
  try {
920606
- const res = await fetchWithTimeout(`${GITHUB_RAW_BASE}/${safeFilename}`, REQUEST_TIMEOUT_MS);
920646
+ const res = await fetchWithTimeout(`${GITHUB_RAW_BASE}/${filePath}`, REQUEST_TIMEOUT_MS);
920607
920647
  if (!res.ok) {
920608
920648
  return null;
920609
920649
  }
@@ -920620,19 +920660,20 @@ async function installCommands(projectPath, targets) {
920620
920660
  mkdirSync5(dir, { recursive: true });
920621
920661
  }
920622
920662
  }
920623
- const filenames = await listCommandFiles();
920624
- const downloads = await Promise.all(filenames.map(async (filename) => {
920625
- const content = await downloadCommand(filename);
920626
- return { filename, content };
920663
+ const manifest = await fetchManifest();
920664
+ const filenames = listCommandFiles(manifest);
920665
+ const downloads = await Promise.all(filenames.map(async (filePath) => {
920666
+ const content = await downloadCommand(filePath);
920667
+ return { filePath, content };
920627
920668
  }));
920628
- for (const { filename, content } of downloads) {
920629
- const safeFilename = basename3(filename);
920669
+ for (const { filePath, content } of downloads) {
920630
920670
  if (content === null) {
920631
920671
  result2.failed += 1;
920632
920672
  continue;
920633
920673
  }
920674
+ const outputName = basename3(filePath);
920634
920675
  for (const dir of targetPaths) {
920635
- writeFileSync7(join16(dir, safeFilename), content);
920676
+ writeFileSync7(join16(dir, outputName), content);
920636
920677
  }
920637
920678
  result2.installedCommands += 1;
920638
920679
  }
@@ -920642,10 +920683,10 @@ async function installCommands(projectPath, targets) {
920642
920683
  }
920643
920684
  return result2;
920644
920685
  }
920645
- var REPO = "botpress/skills", BRANCH = "master", COMMANDS_DIR = "commands", GITHUB_API_URL, GITHUB_RAW_BASE, REQUEST_TIMEOUT_MS = 15000, KNOWN_COMMANDS, TARGET_DIRS;
920686
+ var REPO = "botpress/skills", BRANCH = "master", COMMANDS_DIR = "commands", GITHUB_RAW_BASE, MANIFEST_URL, REQUEST_TIMEOUT_MS = 15000, KNOWN_COMMANDS, TARGET_DIRS;
920646
920687
  var init_fetch_commands = __esm(() => {
920647
- GITHUB_API_URL = `https://api.github.com/repos/${REPO}/contents/${COMMANDS_DIR}?ref=${BRANCH}`;
920648
920688
  GITHUB_RAW_BASE = `https://raw.githubusercontent.com/${REPO}/${BRANCH}/${COMMANDS_DIR}`;
920689
+ MANIFEST_URL = `${GITHUB_RAW_BASE}/manifest.json`;
920649
920690
  KNOWN_COMMANDS = [
920650
920691
  "adk-debug.md",
920651
920692
  "adk-doc-create.md",
@@ -935426,7 +935467,8 @@ async function adkAdd(resource5, options) {
935426
935467
  name: addedName,
935427
935468
  version: addResult.version || addResult.newVersion || version4,
935428
935469
  alias: addResult.alias || options?.alias || name2,
935429
- type: isInterface ? "interface" : "integration"
935470
+ type: isInterface ? "interface" : "integration",
935471
+ requiresConfiguration: addResult.requiresConfiguration
935430
935472
  });
935431
935473
  } else {
935432
935474
  const errMsg = addResult.message || "Unknown error";
@@ -935596,10 +935638,27 @@ async function adkAdd(resource5, options) {
935596
935638
  }, undefined, true, undefined, this),
935597
935639
  !isInterface && /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(Box_default, {
935598
935640
  marginTop: 1,
935599
- children: /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(Text, {
935641
+ children: result2.requiresConfiguration ? /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(Text, {
935600
935642
  dimColor: true,
935601
- children: "Added as disabled. Enable and configure it in the Control Panel."
935602
- }, undefined, false, undefined, this)
935643
+ children: [
935644
+ "Requires configuration. Run ",
935645
+ /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(Text, {
935646
+ bold: true,
935647
+ children: "adk dev"
935648
+ }, undefined, false, undefined, this),
935649
+ " and configure it on the Integrations page in the dev console."
935650
+ ]
935651
+ }, undefined, true, undefined, this) : /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(Text, {
935652
+ dimColor: true,
935653
+ children: [
935654
+ "Will be enabled on next ",
935655
+ /* @__PURE__ */ jsx_dev_runtime27.jsxDEV(Text, {
935656
+ bold: true,
935657
+ children: "adk dev"
935658
+ }, undefined, false, undefined, this),
935659
+ "."
935660
+ ]
935661
+ }, undefined, true, undefined, this)
935603
935662
  }, undefined, false, undefined, this)
935604
935663
  ]
935605
935664
  }, undefined, true, undefined, this);
@@ -942926,6 +942985,116 @@ var init_upgrade = __esm(() => {
942926
942985
  import_adm_zip = __toESM(require_adm_zip(), 1);
942927
942986
  });
942928
942987
 
942988
+ // src/commands/adk-ai-upgrade.ts
942989
+ var exports_adk_ai_upgrade = {};
942990
+ __export(exports_adk_ai_upgrade, {
942991
+ adkUpdate: () => adkUpdate
942992
+ });
942993
+ import { exec as exec5 } from "child_process";
942994
+ import { promisify as promisify11 } from "util";
942995
+ function writeStdout(text2) {
942996
+ process.stdout.write(text2);
942997
+ }
942998
+ function clearSpinner(spinner, msgLength) {
942999
+ if (spinner) {
943000
+ clearInterval(spinner);
943001
+ writeStdout("\r" + " ".repeat(msgLength + 6) + "\r");
943002
+ }
943003
+ }
943004
+ function getSkillsRunner(projectPath) {
943005
+ const managers = detectPackageManagers();
943006
+ const preferred = getPreferredPackageManager(projectPath, managers);
943007
+ return preferred?.command === "bun" ? "bunx" : "npx";
943008
+ }
943009
+ async function adkUpdate(options = {}) {
943010
+ const isJson = options.format === "json";
943011
+ const logger5 = createCliLogger({ format: options.format });
943012
+ const projectPath = await findAgentRootOrFail(process.cwd());
943013
+ const result2 = {
943014
+ success: true,
943015
+ skills: { success: true },
943016
+ commands: { attempted: false, success: false, installedCommands: 0, failed: 0 }
943017
+ };
943018
+ if (!isJson) {
943019
+ logger5.info("Updating ADK skills & commands...");
943020
+ logger5.newline();
943021
+ }
943022
+ let frameIdx = 0;
943023
+ const skillsRunner = getSkillsRunner(projectPath);
943024
+ const skillsCommand = `${skillsRunner} skills add botpress/skills -s '*' -a codex claude-code -y`;
943025
+ const skillsMsg = "Updating ADK skills...";
943026
+ const skillsSpinner = isJson ? null : setInterval(() => {
943027
+ writeStdout(`\r ${SPINNER_FRAMES[frameIdx++ % SPINNER_FRAMES.length]} ${skillsMsg}`);
943028
+ }, 80);
943029
+ try {
943030
+ await execAsync2(skillsCommand, {
943031
+ cwd: projectPath,
943032
+ env: { ...process.env },
943033
+ timeout: 120000
943034
+ });
943035
+ clearSpinner(skillsSpinner, skillsMsg.length);
943036
+ if (!isJson) {
943037
+ logger5.info(" ADK skills updated", "green");
943038
+ }
943039
+ } catch (error) {
943040
+ result2.skills.success = false;
943041
+ const stderr3 = error instanceof Error && "stderr" in error && error.stderr ? String(error.stderr).trim() : undefined;
943042
+ result2.skills.error = stderr3 || (error instanceof Error ? error.message : String(error));
943043
+ clearSpinner(skillsSpinner, skillsMsg.length);
943044
+ if (!isJson) {
943045
+ logger5.warn(" Failed to update ADK skills. Run manually:");
943046
+ logger5.info(` > ${skillsCommand}`, "cyan");
943047
+ }
943048
+ }
943049
+ const commandsMsg = "Updating ADK commands...";
943050
+ const commandsSpinner = isJson ? null : setInterval(() => {
943051
+ writeStdout(`\r ${SPINNER_FRAMES[frameIdx++ % SPINNER_FRAMES.length]} ${commandsMsg}`);
943052
+ }, 80);
943053
+ try {
943054
+ result2.commands = await installCommands(projectPath, ["claude-code", "opencode"]);
943055
+ clearSpinner(commandsSpinner, commandsMsg.length);
943056
+ if (!isJson) {
943057
+ if (result2.commands.success) {
943058
+ logger5.info(` ADK commands updated (${result2.commands.installedCommands} commands)`, "green");
943059
+ } else {
943060
+ logger5.warn(" Failed to update ADK commands.");
943061
+ }
943062
+ }
943063
+ } catch (error) {
943064
+ result2.commands = {
943065
+ attempted: true,
943066
+ success: false,
943067
+ installedCommands: 0,
943068
+ failed: 0,
943069
+ error: error instanceof Error ? error.message : String(error)
943070
+ };
943071
+ clearSpinner(commandsSpinner, commandsMsg.length);
943072
+ if (!isJson) {
943073
+ logger5.warn(" Failed to update ADK commands.");
943074
+ }
943075
+ }
943076
+ result2.success = result2.skills.success && result2.commands.success;
943077
+ if (isJson) {
943078
+ logger5.info("").result(result2);
943079
+ } else {
943080
+ logger5.newline();
943081
+ if (result2.success) {
943082
+ logger5.info("All up to date!", "green");
943083
+ } else {
943084
+ logger5.warn("Some updates failed. See warnings above.");
943085
+ }
943086
+ }
943087
+ }
943088
+ var execAsync2, SPINNER_FRAMES;
943089
+ var init_adk_ai_upgrade = __esm(() => {
943090
+ init_fetch_commands();
943091
+ init_package_manager();
943092
+ init_agent_root();
943093
+ init_logger();
943094
+ execAsync2 = promisify11(exec5);
943095
+ SPINNER_FRAMES = ["\u280B", "\u2819", "\u2839", "\u2838", "\u283C", "\u2834", "\u2826", "\u2827", "\u2807", "\u280F"];
943096
+ });
943097
+
942929
943098
  // src/commands/adk-telemetry.ts
942930
943099
  var exports_adk_telemetry = {};
942931
943100
  __export(exports_adk_telemetry, {
@@ -957647,6 +957816,8 @@ async function addIntegrationHandler(args, context4) {
957647
957816
  return result2;
957648
957817
  }
957649
957818
  const cli = result2.data;
957819
+ const requiresConfiguration = cli.requiresConfiguration === true;
957820
+ const message = requiresConfiguration ? `Added ${cli.alias} (${cli.name}@${cli.version}). Requires configuration \u2014 ask the user to run \`adk dev\` and configure it on the Integrations page in the dev console.` : `Added ${cli.alias} (${cli.name}@${cli.version}). Will be enabled on next \`adk dev\` (no configuration required).`;
957650
957821
  return {
957651
957822
  success: true,
957652
957823
  data: {
@@ -957655,8 +957826,9 @@ async function addIntegrationHandler(args, context4) {
957655
957826
  name: cli.name,
957656
957827
  version: cli.version
957657
957828
  },
957829
+ requiresConfiguration,
957658
957830
  configPath: `${context4.cwd}/agent.config.ts`,
957659
- message: `Added ${cli.alias} (${cli.name}@${cli.version}) as disabled. Enable and configure it in the Control Panel.`
957831
+ message
957660
957832
  }
957661
957833
  };
957662
957834
  }
@@ -964982,7 +965154,7 @@ function formatHelp(cmd, version) {
964982
965154
  ],
964983
965155
  Testing: ["evals", "evals runs"],
964984
965156
  Dependencies: ["add", "remove", "upgrade", "search", "list", "info"],
964985
- "AI Integration": ["mcp", "mcp:init"]
965157
+ "AI Integration": ["mcp", "mcp:init", "ai-upgrade"]
964986
965158
  };
964987
965159
  const commandHints = {
964988
965160
  link: { flag: "--local", note: "--local creates a local override file instead of modifying agent.json" }
@@ -965502,6 +965674,16 @@ program.command("self-upgrade").alias("self-update").description("Upgrade ADK CL
965502
965674
  logger7.fatal(error2);
965503
965675
  }
965504
965676
  });
965677
+ program.command("ai-upgrade").description("Update ADK skills and slash commands from the botpress/skills repository").option("--format <format>", "output format (json)").action(async (options) => {
965678
+ try {
965679
+ await trackCmd("ai-upgrade", async () => {
965680
+ const { adkUpdate: adkUpdate2 } = await Promise.resolve().then(() => (init_adk_ai_upgrade(), exports_adk_ai_upgrade));
965681
+ await adkUpdate2(options);
965682
+ }, false);
965683
+ } catch (error2) {
965684
+ createCliLogger({ format: options.format }).fatal(error2);
965685
+ }
965686
+ });
965505
965687
  program.command("telemetry").description("Manage telemetry preferences").option("--status", "show telemetry status").option("--enable", "enable telemetry").option("--disable", "disable telemetry").action(async (options) => {
965506
965688
  try {
965507
965689
  const { adkTelemetry: adkTelemetry2 } = await Promise.resolve().then(() => (init_adk_telemetry(), exports_adk_telemetry));
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "1.18.0-beta.6",
3
- "generatedAt": "2026-04-26T15:46:09.594Z",
2
+ "version": "1.18.0-beta.7",
3
+ "generatedAt": "2026-04-27T15:25:04.209Z",
4
4
  "cliName": "adk",
5
5
  "globalOptions": [
6
6
  {
@@ -34,6 +34,19 @@
34
34
  }
35
35
  ]
36
36
  },
37
+ {
38
+ "name": "ai-upgrade",
39
+ "fullName": "ai-upgrade",
40
+ "description": "Update ADK skills and slash commands from the botpress/skills repository",
41
+ "aliases": [],
42
+ "arguments": [],
43
+ "options": [
44
+ {
45
+ "flags": "--format <format>",
46
+ "description": "output format (json)"
47
+ }
48
+ ]
49
+ },
37
50
  {
38
51
  "name": "assets",
39
52
  "fullName": "assets",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@botpress/adk-cli",
3
- "version": "1.18.0-beta.6",
3
+ "version": "1.18.0-beta.7",
4
4
  "description": "Command-line interface for the Botpress Agent Development Kit (ADK)",
5
5
  "keywords": [
6
6
  "adk",
@@ -41,11 +41,11 @@
41
41
  "check:type": "bun scripts/generate-build-constants.ts >/dev/null && bun scripts/embed-assets.ts >/dev/null && tsc --noEmit"
42
42
  },
43
43
  "dependencies": {
44
- "@botpress/adk": "^1.18.0-beta.6",
44
+ "@botpress/adk": "^1.18.0-beta.7",
45
45
  "@botpress/chat": "~0.5.5",
46
46
  "@botpress/cli": "~6.3.2",
47
47
  "@botpress/client": "~1.39.0",
48
- "@botpress/runtime": "^1.18.0-beta.6",
48
+ "@botpress/runtime": "^1.18.0-beta.7",
49
49
  "@botpress/sdk": "~6.4.4",
50
50
  "@botpress/webchat-client": "^0.7.2",
51
51
  "@modelcontextprotocol/sdk": "^1.25.1",