@cognigy/rest-api-client
Version:
Cognigy REST-Client
413 lines • 15.3 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ADD_TRANSCRIPT_STEP = void 0;
/* Custom modules */
const createNodeDescriptor_1 = require("../../createNodeDescriptor");
const transcripts_1 = require("../../../interfaces/transcripts/transcripts");
/**
* Node name: 'addTranscriptStep'
*
* Purpose:
* Add a transcript step to the current session
*/
exports.ADD_TRANSCRIPT_STEP = (0, createNodeDescriptor_1.createNodeDescriptor)({
type: "addTranscriptStep",
defaultLabel: "Add Transcript Step",
summary: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__SUMMARY",
appearance: {
showIcon: false
},
fields: [
{
key: "role",
type: "select",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__ROLE__LABEL",
defaultValue: transcripts_1.TranscriptRole.USER,
params: {
options: [
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__ROLE__OPTIONS__USER",
value: transcripts_1.TranscriptRole.USER,
},
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__ROLE__OPTIONS__ASSISTANT",
value: transcripts_1.TranscriptRole.ASSISTANT,
},
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__ROLE__OPTIONS__AGENT",
value: transcripts_1.TranscriptRole.AGENT,
},
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__ROLE__OPTIONS__SYSTEM",
value: transcripts_1.TranscriptRole.SYSTEM,
},
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__ROLE__OPTIONS__TOOL",
value: transcripts_1.TranscriptRole.TOOL,
},
],
},
},
{
key: "assistantType",
type: "select",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__LABEL",
defaultValue: transcripts_1.TranscriptEntryType.OUTPUT,
params: {
options: [
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__OPTIONS__OUTPUT",
value: transcripts_1.TranscriptEntryType.OUTPUT,
},
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__OPTIONS__TOOL_CALL",
value: transcripts_1.TranscriptEntryType.TOOL_CALL,
},
],
},
condition: {
key: "role",
value: transcripts_1.TranscriptRole.ASSISTANT,
},
},
{
key: "agentType",
type: "select",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__LABEL",
defaultValue: transcripts_1.TranscriptEntryType.OUTPUT,
params: {
options: [
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__OPTIONS__OUTPUT",
value: transcripts_1.TranscriptEntryType.OUTPUT,
}
],
disabled: true
},
condition: {
key: "role",
value: transcripts_1.TranscriptRole.AGENT,
},
},
{
key: "userType",
type: "select",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__LABEL",
defaultValue: transcripts_1.TranscriptEntryType.INPUT,
params: {
options: [
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__OPTIONS__INPUT",
value: transcripts_1.TranscriptEntryType.INPUT,
},
],
disabled: true
},
condition: {
key: "role",
value: transcripts_1.TranscriptRole.USER,
},
},
{
key: "systemType",
type: "select",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__LABEL",
defaultValue: transcripts_1.TranscriptEntryType.DEBUG_LOG,
params: {
options: [
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__OPTIONS__DEBUG_LOG",
value: transcripts_1.TranscriptEntryType.DEBUG_LOG,
},
],
disabled: true
},
condition: {
key: "role",
value: transcripts_1.TranscriptRole.SYSTEM,
},
},
{
key: "toolType",
type: "select",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__LABEL",
defaultValue: transcripts_1.TranscriptEntryType.TOOL_ANSWER,
params: {
options: [
{
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TYPE__OPTIONS__TOOL_ANSWER",
value: transcripts_1.TranscriptEntryType.TOOL_ANSWER,
},
],
disabled: true
},
condition: {
key: "role",
value: transcripts_1.TranscriptRole.TOOL,
},
},
{
key: "text",
type: "cognigyText",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TEXT__LABEL",
defaultValue: "",
condition: {
or: [
{
key: "role",
value: transcripts_1.TranscriptRole.USER,
},
{
key: "role",
value: transcripts_1.TranscriptRole.AGENT,
},
{
and: [{
key: "role",
value: transcripts_1.TranscriptRole.ASSISTANT
}, {
key: "assistantType",
value: transcripts_1.TranscriptEntryType.OUTPUT
}]
},
],
},
},
{
key: "data",
type: "json",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__DATA__LABEL",
defaultValue: "",
condition: {
or: [
{
key: "role",
value: transcripts_1.TranscriptRole.USER,
},
{
key: "role",
value: transcripts_1.TranscriptRole.AGENT,
},
{
and: [{
key: "role",
value: transcripts_1.TranscriptRole.ASSISTANT
}, {
key: "assistantType",
value: transcripts_1.TranscriptEntryType.OUTPUT
}]
},
],
},
},
{
key: "name",
type: "cognigyText",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__NAME__LABEL",
defaultValue: "",
condition: {
or: [
{
and: [{
key: "role",
value: transcripts_1.TranscriptRole.ASSISTANT
}, {
key: "assistantType",
value: transcripts_1.TranscriptEntryType.TOOL_CALL
}]
},
{
key: "role",
value: transcripts_1.TranscriptRole.TOOL,
}
],
},
},
{
key: "id",
type: "cognigyText",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__ID__LABEL",
defaultValue: "",
condition: {
and: [{
key: "role",
value: transcripts_1.TranscriptRole.ASSISTANT
}, {
key: "assistantType",
value: transcripts_1.TranscriptEntryType.TOOL_CALL
}]
},
},
{
key: "input",
type: "json",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__INPUT__LABEL",
defaultValue: "",
condition: {
and: [{
key: "role",
value: transcripts_1.TranscriptRole.ASSISTANT
}, {
key: "assistantType",
value: transcripts_1.TranscriptEntryType.TOOL_CALL
}]
},
},
{
key: "toolCallId",
type: "cognigyText",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__TOOL_CALL_ID__LABEL",
defaultValue: "",
condition: {
key: "role",
value: transcripts_1.TranscriptRole.TOOL,
},
},
{
key: "content",
type: "cognigyText",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__CONTENT__LABEL",
defaultValue: "",
condition: {
key: "role",
value: transcripts_1.TranscriptRole.TOOL,
},
},
{
key: "header",
type: "cognigyText",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__HEADER__LABEL",
defaultValue: "",
condition: {
key: "role",
value: transcripts_1.TranscriptRole.SYSTEM,
},
},
{
key: "message",
type: "cognigyText",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__MESSAGE__LABEL",
defaultValue: "",
condition: {
key: "role",
value: transcripts_1.TranscriptRole.SYSTEM,
},
},
{
key: "metadata",
type: "json",
label: "UI__NODE_EDITOR__ADD_TRANSCRIPT_STEP__FIELDS__METADATA__LABEL",
defaultValue: "",
condition: {
key: "role",
value: transcripts_1.TranscriptRole.SYSTEM,
},
},
],
form: [
{ type: "field", key: "role" },
{ type: "field", key: "userType" },
{ type: "field", key: "assistantType" },
{ type: "field", key: "agentType" },
{ type: "field", key: "systemType" },
{ type: "field", key: "toolType" },
{ type: "field", key: "text" },
{ type: "field", key: "data" },
{ type: "field", key: "name" },
{ type: "field", key: "id" },
{ type: "field", key: "input" },
{ type: "field", key: "toolCallId" },
{ type: "field", key: "content" },
{ type: "field", key: "header" },
{ type: "field", key: "message" },
{ type: "field", key: "metadata" },
],
preview: {
key: "role",
type: "text"
},
tags: ["service", "transcripts"],
function: async ({ cognigy, config }) => {
const { role, agentType, text, data, name, id, input, toolCallId, content, header, message, metadata } = config;
const { api } = cognigy;
let log = null;
switch (role) {
case transcripts_1.TranscriptRole.USER:
log = {
role: transcripts_1.TranscriptRole.USER,
type: transcripts_1.TranscriptEntryType.INPUT,
source: transcripts_1.TranscriptEntrySource.SYSTEM,
payload: {
text,
data
}
};
break;
case transcripts_1.TranscriptRole.ASSISTANT:
if (agentType === transcripts_1.TranscriptEntryType.OUTPUT) {
log = {
role: transcripts_1.TranscriptRole.ASSISTANT,
type: transcripts_1.TranscriptEntryType.OUTPUT,
source: transcripts_1.TranscriptEntrySource.SYSTEM,
payload: {
text,
data
}
};
}
else if (agentType === transcripts_1.TranscriptEntryType.TOOL_CALL) {
log = {
role: transcripts_1.TranscriptRole.ASSISTANT,
type: transcripts_1.TranscriptEntryType.TOOL_CALL,
source: transcripts_1.TranscriptEntrySource.SYSTEM,
payload: {
name,
id,
input
}
};
}
break;
case transcripts_1.TranscriptRole.AGENT:
log = {
role: transcripts_1.TranscriptRole.AGENT,
type: transcripts_1.TranscriptEntryType.OUTPUT,
source: transcripts_1.TranscriptEntrySource.SYSTEM,
payload: {
text,
data
}
};
break;
case transcripts_1.TranscriptRole.SYSTEM:
log = {
role: transcripts_1.TranscriptRole.SYSTEM,
type: transcripts_1.TranscriptEntryType.DEBUG_LOG,
source: transcripts_1.TranscriptEntrySource.SYSTEM,
payload: {
header,
message,
metadata
}
};
break;
case transcripts_1.TranscriptRole.TOOL:
log = {
role: transcripts_1.TranscriptRole.TOOL,
type: transcripts_1.TranscriptEntryType.TOOL_ANSWER,
source: transcripts_1.TranscriptEntrySource.SYSTEM,
payload: {
toolCallId,
name,
content,
}
};
break;
default:
break;
}
if (log)
await api.addTranscriptStep(log);
}
});
//# sourceMappingURL=addTranscriptStep.js.map