UNPKG

twilio

Version:
479 lines (478 loc) 19.4 kB
"use strict"; /* * This code was generated by * ___ _ _ _ _ _ _ ____ ____ ____ _ ____ ____ _ _ ____ ____ ____ ___ __ __ * | | | | | | | | | __ | | |__| | __ | __ |___ |\ | |___ |__/ |__| | | | |__/ * | |_|_| | |___ | |__| |__| | | | |__] |___ | \| |___ | \ | | | |__| | \ * * Twilio Conversational Intelligence API * The Conversational Intelligence API includes resources to create and manage intelligence configurations, define and run language operators, and retrieve processed conversations and operator results. * Use the Configurations resource to create and manage intelligence configurations and define rules that control how and when language operators analyze and transform conversations. * Use the Operators resource to create custom language operators or retrieve Twilio-author and custom operators. * Use the Conversations resource to retrieve conversations processed with an intelligence configuration, and the OperatorResults resource to retrieve language operator results for those conversations. * * NOTE: This class is auto generated by OpenAPI Generator. * https://openapi-generator.tech * Do not edit the class manually. */ var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.OperatorResultPage = exports.OperatorResultInstance = exports.OperatorResultContextImpl = exports.SystemMetaData = exports.ResolvedContextMemory = exports.ResolvedContextKnowledgeSources = exports.ResolvedContextKnowledge = exports.ResolvedContext = exports.OperatorResultsResponseBaseMetadata = exports.OperatorReference = exports.IntelligenceConfigurationReference = exports.ExtractionResultResultEntities = exports.ExtractionResultResult = exports.ExecutionDetailsTrigger = exports.ExecutionDetailsParticipants = exports.ExecutionDetailsCommunications = exports.ExecutionDetails = void 0; exports.OperatorResultListInstance = OperatorResultListInstance; const util_1 = require("util"); const TokenPage_1 = __importDefault(require("../../../base/TokenPage")); const deserialize = require("../../../base/deserialize"); const serialize = require("../../../base/serialize"); const utility_1 = require("../../../base/utility"); /** * Details about the conditions under which the Operator executed. */ class ExecutionDetails { constructor(payload) { this.trigger = payload["trigger"]; this.communications = payload["communications"]; this.channels = payload["channels"]; this.participants = payload["participants"]; this.resolvedContext = payload["resolvedContext"]; } } exports.ExecutionDetails = ExecutionDetails; /** * Range of first and last communications in the Conversation that were processed during this Operator execution. */ class ExecutionDetailsCommunications { constructor(payload) { this.first = payload["first"]; this.last = payload["last"]; } } exports.ExecutionDetailsCommunications = ExecutionDetailsCommunications; class ExecutionDetailsParticipants { constructor(payload) { this.id = payload["id"]; this.profileId = payload["profileId"]; this.type = payload["type"]; } } exports.ExecutionDetailsParticipants = ExecutionDetailsParticipants; /** * Metadata for the trigger that generated this Operator Result. */ class ExecutionDetailsTrigger { constructor(payload) { this.on = payload["on"]; this.timestamp = payload["timestamp"]; } } exports.ExecutionDetailsTrigger = ExecutionDetailsTrigger; /** * The actual result from executing the Language Operator with `EXTRACTION` output format. */ class ExtractionResultResult { constructor(payload) { this.entities = payload["entities"]; } } exports.ExtractionResultResult = ExtractionResultResult; class ExtractionResultResultEntities { constructor(payload) { this.text = payload["text"]; this.label = payload["label"]; } } exports.ExtractionResultResultEntities = ExtractionResultResultEntities; /** * Reference to the Intelligence Configuration that generated the Operator Result. */ class IntelligenceConfigurationReference { constructor(payload) { this.id = payload["id"]; this.ruleId = payload["ruleId"]; this.version = payload["version"]; } } exports.IntelligenceConfigurationReference = IntelligenceConfigurationReference; /** * Reference to the Language Operator that generated the Operator Result. */ class OperatorReference { constructor(payload) { this.id = payload["id"]; this.version = payload["version"]; this.parameters = payload["parameters"]; } } exports.OperatorReference = OperatorReference; class OperatorResultsResponseBaseMetadata { constructor(payload) { this.system = payload["system"]; } } exports.OperatorResultsResponseBaseMetadata = OperatorResultsResponseBaseMetadata; /** * The context that was actually used by the operator during execution */ class ResolvedContext { constructor(payload) { this.memory = payload["memory"]; this.knowledge = payload["knowledge"]; } } exports.ResolvedContext = ResolvedContext; /** * Knowledge source IDs with their respective knowledge base ID that was accessed and used by the LLM to generate the result. null if no knowledge was accessed. */ class ResolvedContextKnowledge { constructor(payload) { this.sources = payload["sources"]; } } exports.ResolvedContextKnowledge = ResolvedContextKnowledge; class ResolvedContextKnowledgeSources { constructor(payload) { this.baseId = payload["baseId"]; this.sourceId = payload["sourceId"]; } } exports.ResolvedContextKnowledgeSources = ResolvedContextKnowledgeSources; /** * The customer profile that was accessed. null if no memory was accessed. Either observations and/or traits from the profile were used by the LLM to generate the result. */ class ResolvedContextMemory { constructor(payload) { this.profileId = payload["profileId"]; this.memoryStoreId = payload["memoryStoreId"]; } } exports.ResolvedContextMemory = ResolvedContextMemory; class SystemMetaData { constructor(payload) { this.resolvedModel = payload["resolvedModel"]; this.latencyMs = payload["latencyMs"]; this.inputCharacters = payload["inputCharacters"]; this.outputCharacters = payload["outputCharacters"]; this.inputTruncated = payload["inputTruncated"]; } } exports.SystemMetaData = SystemMetaData; class OperatorResultContextImpl { constructor(_version, operatorResultId) { this._version = _version; if (!(0, utility_1.isValidPathParam)(operatorResultId)) { throw new Error("Parameter 'operatorResultId' is not valid."); } this._solution = { operatorResultId }; this._uri = `/OperatorResults/${operatorResultId}`; } remove(callback) { const headers = {}; const instance = this; let operationVersion = instance._version, operationPromise = operationVersion.remove({ uri: instance._uri, method: "delete", headers, }); operationPromise = instance._version.setPromiseCallback(operationPromise, callback); return operationPromise; } removeWithHttpInfo(callback) { const headers = {}; const instance = this; let operationVersion = instance._version; // DELETE operation - returns boolean based on status code let operationPromise = operationVersion .removeWithResponseInfo({ uri: instance._uri, method: "delete", headers }) .then((response) => ({ ...response, body: response.statusCode === 204, })); operationPromise = instance._version.setPromiseCallback(operationPromise, callback); return operationPromise; } fetch(callback) { const headers = {}; headers["Accept"] = "application/json"; const instance = this; let operationVersion = instance._version, operationPromise = operationVersion.fetch({ uri: instance._uri, method: "get", headers, }); operationPromise = operationPromise.then((payload) => new OperatorResultInstance(operationVersion, payload, instance._solution.operatorResultId)); operationPromise = instance._version.setPromiseCallback(operationPromise, callback); return operationPromise; } fetchWithHttpInfo(callback) { const headers = {}; headers["Accept"] = "application/json"; const instance = this; let operationVersion = instance._version; // CREATE, FETCH, UPDATE operations let operationPromise = operationVersion .fetchWithResponseInfo({ uri: instance._uri, method: "get", headers, }) .then((response) => ({ ...response, body: new OperatorResultInstance(operationVersion, response.body, instance._solution.operatorResultId), })); operationPromise = instance._version.setPromiseCallback(operationPromise, callback); return operationPromise; } /** * Provide a user-friendly representation * * @returns Object */ toJSON() { return this._solution; } [util_1.inspect.custom](_depth, options) { return (0, util_1.inspect)(this.toJSON(), options); } } exports.OperatorResultContextImpl = OperatorResultContextImpl; class OperatorResultInstance { constructor(_version, _payload, operatorResultId) { this._version = _version; const payload = _payload; this.outputFormat = payload.outputFormat; this.id = payload.id; this.accountId = payload.accountId; this.intelligenceConfiguration = payload.intelligenceConfiguration !== null && payload.intelligenceConfiguration !== undefined ? new IntelligenceConfigurationReference(payload.intelligenceConfiguration) : null; this.conversationId = payload.conversationId; this.operator = payload.operator !== null && payload.operator !== undefined ? new OperatorReference(payload.operator) : null; this.dateCreated = deserialize.iso8601DateTime(payload.dateCreated); this.referenceIds = payload.referenceIds; this.executionDetails = payload.executionDetails !== null && payload.executionDetails !== undefined ? new ExecutionDetails(payload.executionDetails) : null; this.metadata = payload.metadata !== null && payload.metadata !== undefined ? new OperatorResultsResponseBaseMetadata(payload.metadata) : null; this.result = payload.result !== null && payload.result !== undefined ? new ExtractionResultResult(payload.result) : null; this._solution = { operatorResultId: operatorResultId }; } get _proxy() { this._context = this._context || new OperatorResultContextImpl(this._version, this._solution.operatorResultId); return this._context; } /** * Remove a OperatorResultInstance * * @param callback - Callback to handle processed record * * @returns Resolves to processed boolean */ remove(callback) { return this._proxy.remove(callback); } /** * Remove a OperatorResultInstance and return HTTP info * * @param callback - Callback to handle processed record * * @returns Resolves to processed boolean with HTTP metadata */ removeWithHttpInfo(callback) { return this._proxy.removeWithHttpInfo(callback); } /** * Fetch a OperatorResultInstance * * @param callback - Callback to handle processed record * * @returns Resolves to processed OperatorResultInstance */ fetch(callback) { return this._proxy.fetch(callback); } /** * Fetch a OperatorResultInstance and return HTTP info * * @param callback - Callback to handle processed record * * @returns Resolves to processed OperatorResultInstance with HTTP metadata */ fetchWithHttpInfo(callback) { return this._proxy.fetchWithHttpInfo(callback); } /** * Provide a user-friendly representation * * @returns Object */ toJSON() { return { outputFormat: this.outputFormat, id: this.id, accountId: this.accountId, intelligenceConfiguration: this.intelligenceConfiguration, conversationId: this.conversationId, operator: this.operator, dateCreated: this.dateCreated, referenceIds: this.referenceIds, executionDetails: this.executionDetails, metadata: this.metadata, result: this.result, }; } [util_1.inspect.custom](_depth, options) { return (0, util_1.inspect)(this.toJSON(), options); } } exports.OperatorResultInstance = OperatorResultInstance; function OperatorResultListInstance(version) { const instance = ((operatorResultId) => instance.get(operatorResultId)); instance.get = function get(operatorResultId) { return new OperatorResultContextImpl(version, operatorResultId); }; instance._version = version; instance._solution = {}; instance._uri = `/OperatorResults`; instance.page = function page(params, callback) { if (params instanceof Function) { callback = params; params = {}; } else { params = params || {}; } let data = {}; if (params["conversationId"] !== undefined) data["conversationId"] = params["conversationId"]; if (params["intelligenceConfigurationId"] !== undefined) data["intelligenceConfigurationId"] = params["intelligenceConfigurationId"]; if (params["operatorId"] !== undefined) data["operatorId"] = params["operatorId"]; if (params["pageSize"] !== undefined) data["pageSize"] = params["pageSize"]; if (params["pageToken"] !== undefined) data["pageToken"] = params["pageToken"]; const headers = {}; headers["Accept"] = "application/json"; let operationVersion = version, operationPromise = operationVersion.page({ uri: instance._uri, method: "get", params: data, headers, }); operationPromise = operationPromise.then((payload) => new OperatorResultPage(operationVersion, payload, instance._uri, data, instance._solution)); operationPromise = instance._version.setPromiseCallback(operationPromise, callback); return operationPromise; }; instance.each = instance._version.each; instance.list = instance._version.list; instance.getPage = function getPage(targetUrl, callback) { const operationPromise = instance._version._domain.twilio.request({ method: "get", uri: targetUrl, }); let pagePromise = operationPromise.then((payload) => new OperatorResultPage(instance._version, payload, instance._uri, {}, instance._solution)); pagePromise = instance._version.setPromiseCallback(pagePromise, callback); return pagePromise; }; instance.pageWithHttpInfo = function pageWithHttpInfo(params, callback) { if (params instanceof Function) { callback = params; params = {}; } else { params = params || {}; } let data = {}; if (params["conversationId"] !== undefined) data["conversationId"] = params["conversationId"]; if (params["intelligenceConfigurationId"] !== undefined) data["intelligenceConfigurationId"] = params["intelligenceConfigurationId"]; if (params["operatorId"] !== undefined) data["operatorId"] = params["operatorId"]; if (params["pageSize"] !== undefined) data["pageSize"] = params["pageSize"]; if (params["pageToken"] !== undefined) data["pageToken"] = params["pageToken"]; const headers = {}; headers["Accept"] = "application/json"; let operationVersion = version; // For page operations, use page() directly as it already returns { statusCode, body, headers } // IMPORTANT: Pass full response to Page constructor, not response.body let operationPromise = operationVersion .page({ uri: instance._uri, method: "get", params: data, headers }) .then((response) => ({ statusCode: response.statusCode, headers: response.headers, body: new OperatorResultPage(operationVersion, response, instance._uri, data, instance._solution), })); operationPromise = instance._version.setPromiseCallback(operationPromise, callback); return operationPromise; }; instance.each = instance._version.each; instance.eachWithHttpInfo = instance._version.eachWithHttpInfo; instance.list = instance._version.list; instance.listWithHttpInfo = instance._version.listWithHttpInfo; instance.getPageWithHttpInfo = function getPageWithHttpInfo(targetUrl, callback) { // Use request() directly as it already returns { statusCode, body, headers } const operationPromise = instance._version._domain.twilio.request({ method: "get", uri: targetUrl, }); let pagePromise = operationPromise.then((response) => ({ statusCode: response.statusCode, headers: response.headers, body: new OperatorResultPage(instance._version, response, instance._uri, {}, instance._solution), })); pagePromise = instance._version.setPromiseCallback(pagePromise, callback); return pagePromise; }; instance.toJSON = function toJSON() { return instance._solution; }; instance[util_1.inspect.custom] = function inspectImpl(_depth, options) { return (0, util_1.inspect)(instance.toJSON(), options); }; return instance; } class OperatorResultPage extends TokenPage_1.default { /** * Initialize the OperatorResultPage * * @param version - Version of the resource * @param response - Response from the API * @param uri - URI of the resource * @param params - Query parameters * @param solution - Path solution */ constructor(version, response, uri, params, solution) { super(version, response, uri, params, solution); } /** * Build an instance of OperatorResultInstance * * @param payload - Payload response from the API */ getInstance(payload) { return new OperatorResultInstance(this._version, payload); } [util_1.inspect.custom](depth, options) { return (0, util_1.inspect)(this.toJSON(), options); } } exports.OperatorResultPage = OperatorResultPage;