@botpress/adk-cli
Version:
Command-line interface for the Botpress Agent Development Kit (ADK)
157 lines (154 loc) • 4.9 kB
JavaScript
// @bun
import {
cleanStackTrace
} from "./chunk-ytpp1kam.js";
// ../../node_modules/.bun/llmz@0.0.79+b49d396f5ed96e7f/node_modules/llmz/dist/chunk-WSVDMGMR.js
var errorClasses = {};
function registerErrorClass(name, errorClass) {
errorClasses[name] = errorClass;
}
var tryParseMessage = (str) => {
try {
return JSON.parse(str);
} catch {
return str;
}
};
var Signals;
((Signals2) => {
function isWrappedError(error) {
var _a, _b;
const isAlreadyWrapped = error.name === "Error" && ((_a = error == null ? undefined : error.message) == null ? undefined : _a.startsWith("{")) && ((_b = error == null ? undefined : error.message) == null ? undefined : _b.endsWith("}"));
return isAlreadyWrapped;
}
Signals2.isWrappedError = isWrappedError;
function serializeError(error) {
if (isWrappedError(error)) {
const msg = tryParseMessage(error.message);
return JSON.stringify({
...typeof msg === "object" ? msg : { message: msg },
properties: { ...error }
});
}
return JSON.stringify({
name: error.constructor.name,
message: error.message,
stack: cleanStackTrace(error.stack ?? ""),
properties: { ...error }
});
}
Signals2.serializeError = serializeError;
function maybeDeserializeError(error) {
const errorIsAlreadyDeserialized = error instanceof Error && error.name in errorClasses;
if (errorIsAlreadyDeserialized) {
return error;
}
const serializedError = error instanceof Error ? error.message : typeof error === "string" ? error : (error == null ? undefined : error.toString()) ?? "";
try {
const parsed = JSON.parse(serializedError);
if (parsed && parsed.name && parsed.message) {
const { name, message, properties = {} } = parsed;
const ErrorClass = errorClasses[name] || Error;
const errorInstance = new ErrorClass(message);
errorInstance.message = message;
errorInstance.name = name;
errorInstance.stack = cleanStackTrace((error == null ? undefined : error.stack) ?? "");
Object.assign(errorInstance, properties);
if (isWrappedError(errorInstance)) {
return maybeDeserializeError(errorInstance);
}
return errorInstance;
}
} catch {}
return error;
}
Signals2.maybeDeserializeError = maybeDeserializeError;
})(Signals || (Signals = {}));
var VMSignal = class extends Error {
constructor(message) {
super(message);
this.message = message;
this.message = Signals.serializeError(this);
}
truncatedCode = "";
toolCall;
variables = {};
};
var SnapshotSignal = class extends VMSignal {
constructor(message) {
super(message);
this.message = Signals.serializeError(this);
}
};
var VMLoopSignal = class extends VMSignal {
constructor(message) {
super(message);
this.message = Signals.serializeError(this);
}
};
var ThinkSignal = class extends VMLoopSignal {
constructor(reason, context, metadata) {
super("Think signal received: " + reason);
this.reason = reason;
this.context = context;
this.metadata = metadata;
this.message = Signals.serializeError(this);
this.stack = "";
}
toString() {
return Signals.serializeError(this);
}
};
var CodeExecutionError = class extends Error {
constructor(message, code, stacktrace) {
super(message);
this.code = code;
this.stacktrace = stacktrace;
this.message = Signals.serializeError(this);
}
};
var InvalidCodeError = class extends Error {
constructor(message, code) {
super(message);
this.code = code;
this.message = Signals.serializeError(this);
this.stack = "";
}
};
var LoopExceededError = class extends Error {
constructor() {
super("Loop exceeded error");
this.message = Signals.serializeError(this);
this.stack = "";
}
};
var CodeFormattingError = class extends Error {
constructor(message, code) {
super(message, {
cause: "Code formatting error"
});
this.code = code;
this.stack = "";
}
};
var AssignmentError = class extends Error {
constructor(message) {
super(message);
this.message = Signals.serializeError(this);
}
};
var CognitiveError = class extends Error {
constructor(message) {
super(message);
this.message = Signals.serializeError(this);
this.stack = "";
}
};
registerErrorClass("VMSignal", VMSignal);
registerErrorClass("SnapshotSignal", SnapshotSignal);
registerErrorClass("VMLoopSignal", VMLoopSignal);
registerErrorClass("ThinkSignal", ThinkSignal);
registerErrorClass("CodeExecutionError", CodeExecutionError);
registerErrorClass("AssignmentError", AssignmentError);
registerErrorClass("CognitiveError", CognitiveError);
export { Signals, VMSignal, SnapshotSignal, ThinkSignal, CodeExecutionError, InvalidCodeError, LoopExceededError, CodeFormattingError, AssignmentError, CognitiveError };