@maximai/maxim-js
Version:
Maxim AI JS SDK. Visit https://getmaxim.ai for more info.
145 lines • 5.08 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Trace = void 0;
const base_1 = require("./base");
const error_1 = require("./error");
const generation_1 = require("./generation");
const retrieval_1 = require("./retrieval");
const span_1 = require("./span");
const toolCall_1 = require("./toolCall");
const types_1 = require("./types");
class Trace extends base_1.EventEmittingBaseContainer {
constructor(config, writer) {
super(types_1.Entity.TRACE, config, writer);
this.commit("create", {
...this.data(),
sessionId: config.sessionId,
});
}
generation(config) {
const generation = new generation_1.Generation(config, this.writer);
this.commit("add-generation", {
id: config.id,
messages: JSON.parse(JSON.stringify(config.messages)),
...generation.data(),
});
return generation;
}
static generation_(writer, id, config) {
const generation = new generation_1.Generation(config, writer);
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "add-generation", {
id: config.id,
messages: JSON.parse(JSON.stringify(config.messages)),
...generation.data(),
});
return generation;
}
addToSession(sessionId) {
this.commit("update", { sessionId });
}
static addToSession_(writer, id, sessionId) {
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "update", { sessionId });
}
feedback(feedback) {
this.commit("add-feedback", feedback);
}
static feedback_(writer, id, feedback) {
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "add-feedback", feedback);
}
addAttachment(attachment) {
this.commit("upload-attachment", attachment);
}
static addAttachment_(writer, id, attachment) {
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "upload-attachment", attachment);
}
span(config) {
const span = new span_1.Span(config, this.writer);
this.commit("add-span", {
id: span.id,
...span.data(),
});
return span;
}
static span_(writer, id, config) {
const span = new span_1.Span(config, writer);
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "add-span", {
id: span.id,
...span.data(),
});
return span;
}
error(config) {
const error = new error_1.Error(config, this.writer);
this.commit("add-error", {
id: config.id,
...error.data(),
});
return error;
}
static error_(writer, id, config) {
const error = new error_1.Error(config, writer);
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "add-error", {
id: config.id,
...error.data(),
});
return error;
}
toolCall(config) {
const toolCall = new toolCall_1.ToolCall(config, this.writer);
this.commit("add-tool-call", {
id: config.id,
...toolCall.data(),
});
return toolCall;
}
static toolCall_(writer, id, config) {
const toolCall = new toolCall_1.ToolCall(config, writer);
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "add-tool-call", {
id: toolCall.id,
...toolCall.data(),
});
return toolCall;
}
retrieval(config) {
const retrieval = new retrieval_1.Retrieval(config, this.writer);
this.commit("add-retrieval", {
id: config.id,
...retrieval.data(),
});
return retrieval;
}
input(input) {
this.commit("update", { input });
return this;
}
output(output) {
this.commit("update", { output });
return this;
}
static retrieval_(writer, id, config) {
const retrieval = new retrieval_1.Retrieval(config, writer);
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "add-retrieval", {
id: config.id,
...retrieval.data(),
});
return retrieval;
}
static input_(writer, id, input) {
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "update", {
input: input,
});
}
static output_(writer, id, output) {
base_1.EventEmittingBaseContainer.commit_(writer, types_1.Entity.TRACE, id, "update", {
output: output,
});
}
static end_(writer, id, data) {
base_1.EventEmittingBaseContainer.end_(writer, types_1.Entity.TRACE, id, data);
}
static addTag_(writer, id, key, value) {
base_1.EventEmittingBaseContainer.addTag_(writer, types_1.Entity.TRACE, id, key, value);
}
}
exports.Trace = Trace;
//# sourceMappingURL=trace.js.map