@botpress/adk 1.11.9 → 1.12.0

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.
@@ -8,6 +8,8 @@ export interface BpDevCommandOptions {
8
8
  token: string;
9
9
  apiUrl: string;
10
10
  };
11
+ /** The dev bot ID if already known (from agent.json) */
12
+ devBotId?: string;
11
13
  sourceMap?: boolean;
12
14
  }
13
15
  export type BpDevProgressEvent = {
@@ -1 +1 @@
1
- {"version":3,"file":"bp-dev-command.d.ts","sourceRoot":"","sources":["../../src/commands/bp-dev-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF,CAAA;AAEL,qBAAa,YAAa,SAAQ,WAAW,CAAC,kBAAkB,CAAC;IASnD,OAAO,CAAC,OAAO;IAR3B,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAGtC,OAAO,CAAC,cAAc,CAAiE;gBAEnE,OAAO,EAAE,mBAAmB;IAI1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAiI1B,OAAO,CAAC,WAAW;YA8GL,yBAAyB;IAqBvC,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAmB,GAAG,IAAI;IAOxC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAUtC,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,kBAAkB,GAAG,SAAS;IAIlF,oBAAoB,IAAI,kBAAkB,EAAE;CAG7C"}
1
+ {"version":3,"file":"bp-dev-command.d.ts","sourceRoot":"","sources":["../../src/commands/bp-dev-command.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAG/C,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAA;IACZ,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;IACjB,WAAW,EAAE,MAAM,CAAA;IACnB,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;KACf,CAAA;IACD,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB;AAED,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,YAAY,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB,GACD;IACE,IAAI,EAAE,UAAU,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE;QACL,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAA;QACb,SAAS,EAAE,MAAM,CAAA;KAClB,CAAA;CACF,GACD;IACE,IAAI,EAAE,WAAW,CAAA;IACjB,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE;QACJ,IAAI,EAAE,MAAM,CAAA;KACb,CAAA;CACF,CAAA;AAEL,qBAAa,YAAa,SAAQ,WAAW,CAAC,kBAAkB,CAAC;IASnD,OAAO,CAAC,OAAO;IAR3B,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAK;IAGtC,OAAO,CAAC,cAAc,CAAiE;gBAEnE,OAAO,EAAE,mBAAmB;IAI1C,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAsI1B,OAAO,CAAC,WAAW;YA8GL,yBAAyB;IAqBvC,IAAI,CAAC,MAAM,GAAE,MAAM,CAAC,OAAmB,GAAG,IAAI;IAOxC,OAAO,IAAI,OAAO,CAAC,YAAY,CAAC;IAUtC,gBAAgB,CAAC,IAAI,EAAE,kBAAkB,CAAC,MAAM,CAAC,GAAG,kBAAkB,GAAG,SAAS;IAIlF,oBAAoB,IAAI,kBAAkB,EAAE;CAG7C"}
package/dist/index.d.ts CHANGED
@@ -28,4 +28,6 @@ export { FileWatcher } from './file-watcher/index.js';
28
28
  export type { WatchChangeType, FileChange, FileChangeEvent as FileWatcherChangeEvent, FileWatcherOptions, } from './file-watcher/index.js';
29
29
  export { PreflightChecker, PreflightFormatter } from './preflight/index.js';
30
30
  export type { PreflightCheckResult, PendingPreflightResult } from './preflight/index.js';
31
+ export { ScriptRunner, runScript } from './runner/index.js';
32
+ export type { ScriptRunnerOptions, RunScriptOptions } from './runner/index.js';
31
33
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACzE,YAAY,EAAE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAG9F,cAAc,qBAAqB,CAAA;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,OAAO,EACL,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAGvF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAChG,YAAY,EACV,WAAW,EACX,YAAY,EACZ,SAAS,EACT,WAAW,EACX,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,UAAU,EACV,cAAc,EACd,eAAe,EACf,cAAc,EACd,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAA;AAG7D,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,qBAAqB,EACrB,kBAAkB,EAClB,sBAAsB,EACtB,QAAQ,GACT,MAAM,yBAAyB,CAAA;AAChC,YAAY,EACV,cAAc,EACd,qBAAqB,EACrB,iBAAiB,EACjB,2BAA2B,EAC3B,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,qBAAqB,EACrB,oBAAoB,EACpB,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,aAAa,EACb,YAAY,EACZ,WAAW,GACZ,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AACtH,YAAY,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAGpH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACjD,YAAY,EACV,SAAS,EACT,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAC/F,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAA;AAG5E,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAE1G,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAG9G,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAChD,YAAY,EACV,mBAAmB,EACnB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,UAAU,EACV,WAAW,GACZ,MAAM,mBAAmB,CAAA;AAG1B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACzF,YAAY,EACV,uBAAuB,EACvB,UAAU,EACV,YAAY,EACZ,aAAa,EACb,UAAU,EACV,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,GACZ,MAAM,sBAAsB,CAAA;AAG7B,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,YAAY,EACV,eAAe,EACf,UAAU,EACV,eAAe,IAAI,sBAAsB,EACzC,kBAAkB,GACnB,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AAC3E,YAAY,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -654,7 +654,7 @@ var PRETTIER_CONFIG, formatCode = async (code, filepath) => {
654
654
  `));
655
655
  return code;
656
656
  }
657
- }, ADK_VERSION = "1.11.9", relative2 = (from, to) => {
657
+ }, ADK_VERSION = "1.12.0", relative2 = (from, to) => {
658
658
  const fromDir = path10.dirname(from);
659
659
  const relative3 = path10.relative(fromDir, to);
660
660
  return relative3.startsWith(".") ? relative3 : `./${relative3}`;
@@ -797,7 +797,7 @@ var init_integration_action_types = __esm(() => {
797
797
  var require_package = __commonJS((exports, module) => {
798
798
  module.exports = {
799
799
  name: "@botpress/adk",
800
- version: "1.11.9",
800
+ version: "1.12.0",
801
801
  description: "Core ADK library for building AI agents on Botpress",
802
802
  type: "module",
803
803
  main: "dist/index.js",
@@ -844,7 +844,7 @@ var require_package = __commonJS((exports, module) => {
844
844
  "@botpress/cli": "^4.27.3",
845
845
  "@botpress/client": "^1.27.2",
846
846
  "@botpress/cognitive": "^0.2.0",
847
- "@botpress/runtime": "^1.11.9",
847
+ "@botpress/runtime": "^1.12.0",
848
848
  "@botpress/sdk": "^4.18.1",
849
849
  "@bpinternal/jex": "^1.2.4",
850
850
  "@bpinternal/yargs-extra": "^0.0.21",
@@ -1570,6 +1570,9 @@ class BpDevCommand extends BaseCommand {
1570
1570
  NODE_ENV: "development",
1571
1571
  VM_DRIVER: "node",
1572
1572
  ADK_LOCAL_PAT: credentials.token,
1573
+ ADK_TOKEN: credentials.token,
1574
+ ADK_API_URL: credentials.apiUrl,
1575
+ ADK_BOT_ID: this.options.devBotId || "",
1573
1576
  WORKER_MODE: "true",
1574
1577
  WORKER_LIFETIME_MS: process.env.WORKER_LIFETIME_MS || "120000",
1575
1578
  ADK_DIRECTORY: join2(botPath, ".."),
@@ -6136,7 +6139,7 @@ class AgentProjectGenerator {
6136
6139
  deploy: "adk deploy"
6137
6140
  },
6138
6141
  dependencies: {
6139
- "@botpress/runtime": `^${"1.11.9"}`
6142
+ "@botpress/runtime": `^${"1.12.0"}`
6140
6143
  },
6141
6144
  devDependencies: {
6142
6145
  typescript: "^5.9.3"
@@ -10706,9 +10709,176 @@ class PreflightChecker {
10706
10709
  options?.onSuccess?.("Bot project regenerated");
10707
10710
  }
10708
10711
  }
10712
+ // src/runner/script-runner.ts
10713
+ import dedent2 from "dedent";
10714
+ import { existsSync as existsSync8 } from "fs";
10715
+ import fs17 from "fs/promises";
10716
+ import path35 from "path";
10717
+ import { spawn } from "child_process";
10718
+ init_utils();
10719
+ class ScriptRunner {
10720
+ projectPath;
10721
+ forceRegenerate;
10722
+ prod;
10723
+ credentials;
10724
+ constructor(options) {
10725
+ this.projectPath = path35.resolve(options.projectPath);
10726
+ this.forceRegenerate = options.forceRegenerate ?? false;
10727
+ this.prod = options.prod ?? false;
10728
+ this.credentials = options.credentials;
10729
+ }
10730
+ async prepare() {
10731
+ const project = await AgentProject.load(this.projectPath, {
10732
+ adkCommand: "adk-build"
10733
+ });
10734
+ const botPath = path35.join(this.projectPath, ".adk", "bot");
10735
+ const runnerPath = path35.join(botPath, "src", "script-runner.ts");
10736
+ const botpressTypesPath = path35.join(botPath, ".botpress", "implementation", "index.ts");
10737
+ const needsRegenerate = this.forceRegenerate || !existsSync8(runnerPath) || !existsSync8(botpressTypesPath);
10738
+ if (needsRegenerate) {
10739
+ try {
10740
+ await generateAssetsTypes(project.path);
10741
+ await generateAssetsRuntime(project.path, project.agentInfo?.botId, project.agentInfo?.workspaceId);
10742
+ } catch {}
10743
+ await generateBotProject({
10744
+ projectPath: project.path,
10745
+ outputPath: botPath
10746
+ });
10747
+ await this.generateScriptRunner(botPath);
10748
+ await this.runBpBuild(botPath);
10749
+ }
10750
+ return { botPath, runnerPath, project };
10751
+ }
10752
+ async runBpBuild(botPath) {
10753
+ const buildCommand = new BpBuildCommand({ botPath });
10754
+ return new Promise((resolve3, reject) => {
10755
+ buildCommand.on("done", () => resolve3());
10756
+ buildCommand.on("error", (err) => reject(new Error(err.message)));
10757
+ buildCommand.run();
10758
+ });
10759
+ }
10760
+ async generateScriptRunner(botPath) {
10761
+ const content = dedent2`
10762
+ /**
10763
+ * ADK Script Runner Entry Point
10764
+ *
10765
+ * This file bootstraps the ADK runtime and then executes a user script.
10766
+ * It's auto-generated by the ADK CLI.
10767
+ */
10768
+ import * as bp from '.botpress'
10769
+ import { setupAdkRuntime } from './adk-runtime'
10770
+
10771
+ // Create a minimal bot instance for runtime initialization
10772
+ const bot = new bp.Bot({
10773
+ actions: {}
10774
+ })
10775
+
10776
+ // Initialize the ADK runtime
10777
+ setupAdkRuntime(bot)
10778
+
10779
+ // Export runtime utilities for scripts to use
10780
+ export { bot }
10781
+
10782
+ // Get the script path from command line arguments
10783
+ const scriptPath = process.argv[2]
10784
+
10785
+ if (!scriptPath) {
10786
+ console.error('Error: No script path provided')
10787
+ console.error('Usage: bun run script-runner.ts <script-path> [args...]')
10788
+ process.exit(1)
10789
+ }
10790
+
10791
+ // Import and run the user script
10792
+ async function runScript() {
10793
+ try {
10794
+ // Dynamic import of the user script
10795
+ const scriptModule = await import(scriptPath)
10796
+
10797
+ // If the script exports a default function, call it
10798
+ if (typeof scriptModule.default === 'function') {
10799
+ const args = process.argv.slice(3)
10800
+ await scriptModule.default(...args)
10801
+ }
10802
+ // If it exports a 'run' function, call it
10803
+ else if (typeof scriptModule.run === 'function') {
10804
+ const args = process.argv.slice(3)
10805
+ await scriptModule.run(...args)
10806
+ }
10807
+ // If it exports a 'main' function, call it
10808
+ else if (typeof scriptModule.main === 'function') {
10809
+ const args = process.argv.slice(3)
10810
+ await scriptModule.main(...args)
10811
+ }
10812
+ // Otherwise, the script should have run on import (top-level code)
10813
+ } catch (error) {
10814
+ console.error('Script execution failed:', error)
10815
+ process.exit(1)
10816
+ }
10817
+ }
10818
+
10819
+ runScript()
10820
+ `;
10821
+ await fs17.writeFile(path35.join(botPath, "src", "script-runner.ts"), await formatCode(content), "utf-8");
10822
+ }
10823
+ async run(scriptPath, options = {}) {
10824
+ const { botPath, runnerPath, project } = await this.prepare();
10825
+ const absoluteScriptPath = path35.isAbsolute(scriptPath) ? scriptPath : path35.resolve(this.projectPath, scriptPath);
10826
+ if (!existsSync8(absoluteScriptPath)) {
10827
+ throw new Error(`Script not found: ${absoluteScriptPath}`);
10828
+ }
10829
+ const botId = this.prod ? project.agentInfo?.botId : project.agentInfo?.devId || project.agentInfo?.botId;
10830
+ const workspaceId = project.agentInfo?.workspaceId;
10831
+ if (!botId) {
10832
+ const idType = this.prod ? "botId" : "devId";
10833
+ throw new Error(`No ${idType} found in agent.json. ` + (this.prod ? 'Please deploy your agent first with "adk deploy".' : 'Please run "adk dev" first to create a development bot, or use --prod to use the production bot.'));
10834
+ }
10835
+ const args = ["run", runnerPath, absoluteScriptPath, ...options.args || []];
10836
+ const env = {
10837
+ ...process.env,
10838
+ ADK_PROJECT_PATH: this.projectPath,
10839
+ ADK_BOT_PATH: botPath,
10840
+ ADK_BOT_ID: botId,
10841
+ ADK_WORKSPACE_ID: workspaceId || "",
10842
+ ADK_IS_PROD: this.prod ? "true" : "false",
10843
+ BP_DISABLE_WORKER_MODE: "true",
10844
+ ...options.env,
10845
+ ADK_SCRIPT_MODE: "true",
10846
+ ADK_SCRIPT_PATH: absoluteScriptPath,
10847
+ ADK_TOKEN: this.credentials.token,
10848
+ ADK_API_URL: this.credentials.apiUrl
10849
+ };
10850
+ return new Promise((resolve3, reject) => {
10851
+ const child = spawn("bun", args, {
10852
+ cwd: botPath,
10853
+ env,
10854
+ stdio: options.inheritStdio !== false ? "inherit" : "pipe"
10855
+ });
10856
+ child.on("error", (error) => {
10857
+ reject(error);
10858
+ });
10859
+ child.on("close", (code) => {
10860
+ resolve3(code ?? 0);
10861
+ });
10862
+ });
10863
+ }
10864
+ }
10865
+ async function runScript(options) {
10866
+ const runner = new ScriptRunner({
10867
+ projectPath: options.projectPath,
10868
+ forceRegenerate: options.forceRegenerate,
10869
+ prod: options.prod,
10870
+ credentials: options.credentials
10871
+ });
10872
+ return runner.run(options.scriptPath, {
10873
+ args: options.args,
10874
+ env: options.env,
10875
+ inheritStdio: options.inheritStdio
10876
+ });
10877
+ }
10709
10878
  export {
10710
10879
  workspaceCache,
10711
10880
  stringifyWithOrder,
10881
+ runScript,
10712
10882
  orderKeys,
10713
10883
  integrationKeyOrder,
10714
10884
  initAssets,
@@ -10725,6 +10895,7 @@ export {
10725
10895
  ValidationErrors,
10726
10896
  ValidationErrorCode,
10727
10897
  TableManager,
10898
+ ScriptRunner,
10728
10899
  ProjectState,
10729
10900
  PreflightFormatter,
10730
10901
  PreflightChecker,
@@ -10763,5 +10934,5 @@ export {
10763
10934
  AgentProject
10764
10935
  };
10765
10936
 
10766
- //# debugId=4806E8ECDC510E9264756E2164756E21
10937
+ //# debugId=BDE819CF4ECB952364756E2164756E21
10767
10938
  //# sourceMappingURL=index.js.map