@skilder-ai/runtime 0.7.10 → 0.7.12

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/index.js CHANGED
@@ -143971,6 +143971,21 @@ function loadPrompt(name21) {
143971
143971
  return body;
143972
143972
  }
143973
143973
 
143974
+ // src/constants.ts
143975
+ var MAX_ACTIVATION_RETRIES = 3;
143976
+ var ACTIVATION_COOLDOWN_MS = 6e4;
143977
+ var DEFAULT_IDLE_TIMEOUT_MS = 3e5;
143978
+ var DEFAULT_SCRIPT_TIMEOUT_MS = 3e4;
143979
+ var MAX_INTERACTIVE_SCRIPT_TIMEOUT_MS = 3e5;
143980
+ var MAX_SCRIPT_OUTPUT_SIZE = 10485760;
143981
+ var MAX_DELEGATE_DEPTH = 3;
143982
+ var DELEGATE_MCP_CLIENT_TIMEOUT_MS = 3e4;
143983
+ var DELEGATE_GENERATE_TEXT_TIMEOUT_MS = 12e4;
143984
+ var RECONNECT_INITIAL_WAIT_MS = 5e3;
143985
+ var RECONNECT_MAX_WAIT_MS = 10 * 60 * 1e3;
143986
+ var RECONNECT_BACKOFF_MULTIPLIER = 2;
143987
+ var RECONNECT_JITTER_FACTOR = 0.1;
143988
+
143974
143989
  // src/services/delegate.service.ts
143975
143990
  var __decorate9 = function(decorators, target, key, desc) {
143976
143991
  var c3 = arguments.length, r2 = c3 < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d2;
@@ -143989,9 +144004,6 @@ var __param8 = function(paramIndex, decorator) {
143989
144004
  var _a30;
143990
144005
  var _b24;
143991
144006
  var _c2;
143992
- var MAX_DELEGATE_DEPTH = 3;
143993
- var DELEGATE_MCP_CLIENT_TIMEOUT_MS = 3e4;
143994
- var DELEGATE_GENERATE_TEXT_TIMEOUT_MS = 12e4;
143995
144007
  var DelegateService = class DelegateService2 {
143996
144008
  constructor(loggerService, natsService, aiProviderService) {
143997
144009
  this.natsService = natsService;
@@ -144495,7 +144507,7 @@ var SkillService = class SkillService2 extends Service {
144495
144507
  if (this.fileService) {
144496
144508
  tools.push(this.prepareDownloadAssetTool());
144497
144509
  }
144498
- if ((this.identity.delegateDepth ?? 0) < MAX_DELEGATE_DEPTH) {
144510
+ if (process.env.SKILDER_ENABLE_AGENT_DELEGATE === "true" && (this.identity.delegateDepth ?? 0) < MAX_DELEGATE_DEPTH) {
144499
144511
  tools.push(this.prepareDelegateTool());
144500
144512
  }
144501
144513
  return tools;
@@ -149494,15 +149506,12 @@ var __param14 = function(paramIndex, decorator) {
149494
149506
  };
149495
149507
  var _a39;
149496
149508
  var ScriptType2 = dgraph_resolvers_types_exports.ScriptType;
149497
- var DEFAULT_TIMEOUT_MS = 3e4;
149498
- var MAX_INTERACTIVE_TIMEOUT_MS = 3e5;
149499
- var MAX_OUTPUT_SIZE = 10485760;
149500
149509
  var ScriptExecutorService = class ScriptExecutorService2 {
149501
149510
  constructor(loggerService) {
149502
149511
  this.logger = loggerService.getLogger("script-executor");
149503
149512
  }
149504
149513
  async execute(options) {
149505
- const { code, scriptType, args = [], timeout = DEFAULT_TIMEOUT_MS } = options;
149514
+ const { code, scriptType, args = [], timeout = DEFAULT_SCRIPT_TIMEOUT_MS } = options;
149506
149515
  this.logger.debug({ scriptType, argsCount: args.length, timeout }, "Executing script");
149507
149516
  let tempDir;
149508
149517
  let tempFile;
@@ -149575,10 +149584,10 @@ var ScriptExecutorService = class ScriptExecutorService2 {
149575
149584
  if (outputTruncated)
149576
149585
  return;
149577
149586
  const dataSize = Buffer.byteLength(data);
149578
- if (totalOutputSize + dataSize > MAX_OUTPUT_SIZE) {
149587
+ if (totalOutputSize + dataSize > MAX_SCRIPT_OUTPUT_SIZE) {
149579
149588
  outputTruncated = true;
149580
149589
  child.kill("SIGKILL");
149581
- this.logger.warn({ totalOutputSize, MAX_OUTPUT_SIZE }, "Script output exceeded maximum size");
149590
+ this.logger.warn({ totalOutputSize, MAX_SCRIPT_OUTPUT_SIZE }, "Script output exceeded maximum size");
149582
149591
  return;
149583
149592
  }
149584
149593
  totalOutputSize += dataSize;
@@ -149588,10 +149597,10 @@ var ScriptExecutorService = class ScriptExecutorService2 {
149588
149597
  if (outputTruncated)
149589
149598
  return;
149590
149599
  const dataSize = Buffer.byteLength(data);
149591
- if (totalOutputSize + dataSize > MAX_OUTPUT_SIZE) {
149600
+ if (totalOutputSize + dataSize > MAX_SCRIPT_OUTPUT_SIZE) {
149592
149601
  outputTruncated = true;
149593
149602
  child.kill("SIGKILL");
149594
- this.logger.warn({ totalOutputSize, MAX_OUTPUT_SIZE }, "Script output exceeded maximum size");
149603
+ this.logger.warn({ totalOutputSize, MAX_SCRIPT_OUTPUT_SIZE }, "Script output exceeded maximum size");
149595
149604
  return;
149596
149605
  }
149597
149606
  totalOutputSize += dataSize;
@@ -149650,7 +149659,7 @@ var ScriptExecutorService = class ScriptExecutorService2 {
149650
149659
  * The script can call MCP tools via the injected SDK.
149651
149660
  */
149652
149661
  async executeInteractive(options) {
149653
- const { code, scriptType, args = [], timeout = DEFAULT_TIMEOUT_MS, onRequest, sdkBundleContent, toolCallTimeout = 1e4 } = options;
149662
+ const { code, scriptType, args = [], timeout = DEFAULT_SCRIPT_TIMEOUT_MS, onRequest, sdkBundleContent, toolCallTimeout = 1e4 } = options;
149654
149663
  this.logger.debug({ scriptType, argsCount: args.length }, "Executing interactive script");
149655
149664
  let tempDir;
149656
149665
  try {
@@ -149707,7 +149716,7 @@ var ScriptExecutorService = class ScriptExecutorService2 {
149707
149716
  const resetTimeout = (extraMs) => {
149708
149717
  clearTimeout(timeoutId);
149709
149718
  const elapsed = Date.now() - totalStartTime;
149710
- const remaining = Math.min(extraMs, MAX_INTERACTIVE_TIMEOUT_MS - elapsed);
149719
+ const remaining = Math.min(extraMs, MAX_INTERACTIVE_SCRIPT_TIMEOUT_MS - elapsed);
149711
149720
  if (remaining <= 0) {
149712
149721
  killed = true;
149713
149722
  child.kill("SIGKILL");
@@ -149741,7 +149750,7 @@ var ScriptExecutorService = class ScriptExecutorService2 {
149741
149750
  if (outputTruncated)
149742
149751
  return;
149743
149752
  const dataSize = Buffer.byteLength(line);
149744
- if (totalOutputSize + dataSize > MAX_OUTPUT_SIZE) {
149753
+ if (totalOutputSize + dataSize > MAX_SCRIPT_OUTPUT_SIZE) {
149745
149754
  outputTruncated = true;
149746
149755
  child.kill("SIGKILL");
149747
149756
  return;
@@ -149786,7 +149795,7 @@ var ScriptExecutorService = class ScriptExecutorService2 {
149786
149795
  if (outputTruncated)
149787
149796
  return;
149788
149797
  const dataSize = Buffer.byteLength(data);
149789
- if (totalOutputSize + dataSize > MAX_OUTPUT_SIZE) {
149798
+ if (totalOutputSize + dataSize > MAX_SCRIPT_OUTPUT_SIZE) {
149790
149799
  outputTruncated = true;
149791
149800
  child.kill("SIGKILL");
149792
149801
  return;
@@ -152920,10 +152929,10 @@ var ToolService = class ToolService2 extends Service {
152920
152929
  this.startingServers = /* @__PURE__ */ new Map();
152921
152930
  this.stoppingServers = /* @__PURE__ */ new Map();
152922
152931
  this.activationFailures = /* @__PURE__ */ new Map();
152923
- this.maxActivationRetries = 3;
152924
- this.activationCooldownMs = 6e4;
152932
+ this.maxActivationRetries = MAX_ACTIVATION_RETRIES;
152933
+ this.activationCooldownMs = ACTIVATION_COOLDOWN_MS;
152925
152934
  this.lazyStartEnabled = true;
152926
- this.idleTimeoutMs = 3e5;
152935
+ this.idleTimeoutMs = DEFAULT_IDLE_TIMEOUT_MS;
152927
152936
  this.logger = this.loggerService.getLogger(this.name);
152928
152937
  }
152929
152938
  async initialize() {
@@ -152933,7 +152942,7 @@ var ToolService = class ToolService2 extends Service {
152933
152942
  const parsedTimeout = parseInt(process.env.MCP_IDLE_TIMEOUT_MS ?? "300000", 10);
152934
152943
  if (Number.isNaN(parsedTimeout) || parsedTimeout <= 0) {
152935
152944
  this.logger.warn({ rawValue: process.env.MCP_IDLE_TIMEOUT_MS }, "Invalid MCP_IDLE_TIMEOUT_MS value, falling back to default 300000ms");
152936
- this.idleTimeoutMs = 3e5;
152945
+ this.idleTimeoutMs = DEFAULT_IDLE_TIMEOUT_MS;
152937
152946
  } else {
152938
152947
  this.idleTimeoutMs = parsedTimeout;
152939
152948
  }
@@ -154362,13 +154371,9 @@ var MainService = class MainService2 extends Service {
154362
154371
  await this.up();
154363
154372
  }
154364
154373
  calculateReconnectWaitTime() {
154365
- const INITIAL_WAIT_TIME = 5e3;
154366
- const MAX_WAIT_TIME = 10 * 60 * 1e3;
154367
- const BACKOFF_MULTIPLIER = 2;
154368
- const JITTER_FACTOR = 0.1;
154369
- const baseWaitTime = INITIAL_WAIT_TIME * Math.pow(BACKOFF_MULTIPLIER, this.failedConnectionCounter - 1);
154370
- const cappedWaitTime = Math.min(baseWaitTime, MAX_WAIT_TIME);
154371
- const jitter = cappedWaitTime * JITTER_FACTOR * Math.random();
154374
+ const baseWaitTime = RECONNECT_INITIAL_WAIT_MS * Math.pow(RECONNECT_BACKOFF_MULTIPLIER, this.failedConnectionCounter - 1);
154375
+ const cappedWaitTime = Math.min(baseWaitTime, RECONNECT_MAX_WAIT_MS);
154376
+ const jitter = cappedWaitTime * RECONNECT_JITTER_FACTOR * Math.random();
154372
154377
  const finalWaitTime = cappedWaitTime + jitter;
154373
154378
  return Math.floor(finalWaitTime);
154374
154379
  }