/** * SmartyMeet Dev03 API REST * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * * The version of the OpenAPI document: 1.0.1 * Contact: developer@smartymeet.com * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import type { ResourceTimestampsSchema } from './ResourceTimestampsSchema'; /** * Cross-protocol chat message attributes. One row per direction: * inbound and outbound replies on the same conversation are separate * rows, joined by relationships.conversation. `protocol` is the wire * format (sms/whatsapp/teams/googlechat/webapp). `fromIdentifier` * and `toIdentifier` are protocol-native handles (E.164 phone for * SMS/WhatsApp, Teams AAD object id, Google Chat user id, etc.) so * the row carries the literal sender/receiver without joins. The * resolved principals (candidate / talent / user) live in * relationships - direction tells you which side of the * conversation each principal is on (inbound: from-side is the * external party; outbound: to-side is the external party, plus an * optional user relationship for the boe agent that signed it). * `body` is a multilingual dict {locale: text} mirroring the email * pattern - the chat AI step function translates user-facing * content into the tenant's active locales for admin display. * @export * @interface ChatAttributesSchema */ export interface ChatAttributesSchema { /** * Message direction relative to boe (inbound from external, outbound to external). * @type {ChatAttributesSchemaDirectionEnum} * @memberof ChatAttributesSchema */ direction?: ChatAttributesSchemaDirectionEnum; /** * Wire protocol. Adapter Lambdas set this on write so downstream code can branch on rendering / status callback handling. * @type {ChatAttributesSchemaProtocolEnum} * @memberof ChatAttributesSchema */ protocol?: ChatAttributesSchemaProtocolEnum; /** * Sender's protocol-native handle (E.164 phone for SMS/WhatsApp, AAD object id for Teams, etc.). * @type {string} * @memberof ChatAttributesSchema */ fromIdentifier?: string; /** * Display name of the sender at write time. Denormalised from the resolved principal. * @type {string} * @memberof ChatAttributesSchema */ fromName?: string; /** * Principal type of the sender. Maps the platform's principal tables. `guest` for unknown senders (typically rejected by the inbound gate). * @type {ChatAttributesSchemaFromTypeEnum} * @memberof ChatAttributesSchema */ fromType?: ChatAttributesSchemaFromTypeEnum; /** * Recipient's protocol-native handle. * @type {string} * @memberof ChatAttributesSchema */ toIdentifier?: string; /** * Display name of the recipient at write time. * @type {string} * @memberof ChatAttributesSchema */ toName?: string; /** * Principal type of the recipient. * @type {ChatAttributesSchemaToTypeEnum} * @memberof ChatAttributesSchema */ toType?: ChatAttributesSchemaToTypeEnum; /** * Multilingual message body keyed by BCP 47 locale (e.g. {`en-US`: `Hi`, `pl-PL`: `Cześć`}). Inbound writers stamp a single locale; the chat AI step function fills the rest. * @type {{ [key: string]: string; }} * @memberof ChatAttributesSchema */ body?: { [key: string]: string; }; /** * Lifecycle state. Inbound rows go straight to `received`. Outbound rows that go through an operator review window or explicit scheduling start at `draft` (editable) or `scheduled` (Schedule armed for fireAt); on Schedule fire they progress queued -> sent -> delivered (or failed). `cancelled` is the terminal state when an operator hard-killed a draft / scheduled row before fire. `archived` is a terminal soft-delete for both directions. * @type {ChatAttributesSchemaStatusEnum} * @memberof ChatAttributesSchema */ status?: ChatAttributesSchemaStatusEnum; /** * ISO 8601 timestamp at which the Schedule row armed for this chat will fire. Set on direction=outbound rows that go through a review window or explicit scheduling. Operators can PATCH this to reschedule; the eventbus PATCHes the underlying Schedule row in lockstep. Mirror of email.attributes.scheduledFireAt. * @type {string} * @memberof ChatAttributesSchema */ scheduledFireAt?: string; /** * FK denormalisation of relationships.schedule for cheap read paths. Populated by the chat eventbus after it arms a Schedule row in response to chat:created with scheduledFireAt set. Mirror of email.attributes.scheduleId. * @type {string} * @memberof ChatAttributesSchema */ scheduleId?: string; /** * BCP 47 locale of the original message (the locale key initially populated in `body`). Detected at the inbound gate, set by the writer on outbound. * @type {string} * @memberof ChatAttributesSchema */ languageCode?: string; /** * Unique short identifier (provider/lookup correlation). * @type {string} * @memberof ChatAttributesSchema */ shortCode?: string; /** * * @type {ResourceTimestampsSchema} * @memberof ChatAttributesSchema */ timestamps?: ResourceTimestampsSchema; } /** * @export */ export declare const ChatAttributesSchemaDirectionEnum: { readonly Inbound: "inbound"; readonly Outbound: "outbound"; }; export type ChatAttributesSchemaDirectionEnum = typeof ChatAttributesSchemaDirectionEnum[keyof typeof ChatAttributesSchemaDirectionEnum]; /** * @export */ export declare const ChatAttributesSchemaProtocolEnum: { readonly Sms: "sms"; readonly Whatsapp: "whatsapp"; readonly Teams: "teams"; readonly Googlechat: "googlechat"; readonly Webapp: "webapp"; }; export type ChatAttributesSchemaProtocolEnum = typeof ChatAttributesSchemaProtocolEnum[keyof typeof ChatAttributesSchemaProtocolEnum]; /** * @export */ export declare const ChatAttributesSchemaFromTypeEnum: { readonly User: "user"; readonly Candidate: "candidate"; readonly Talent: "talent"; readonly Guest: "guest"; }; export type ChatAttributesSchemaFromTypeEnum = typeof ChatAttributesSchemaFromTypeEnum[keyof typeof ChatAttributesSchemaFromTypeEnum]; /** * @export */ export declare const ChatAttributesSchemaToTypeEnum: { readonly User: "user"; readonly Candidate: "candidate"; readonly Talent: "talent"; readonly Guest: "guest"; }; export type ChatAttributesSchemaToTypeEnum = typeof ChatAttributesSchemaToTypeEnum[keyof typeof ChatAttributesSchemaToTypeEnum]; /** * @export */ export declare const ChatAttributesSchemaStatusEnum: { readonly Received: "received"; readonly Draft: "draft"; readonly Scheduled: "scheduled"; readonly Cancelled: "cancelled"; readonly Queued: "queued"; readonly Sent: "sent"; readonly Delivered: "delivered"; readonly Failed: "failed"; readonly Archived: "archived"; }; export type ChatAttributesSchemaStatusEnum = typeof ChatAttributesSchemaStatusEnum[keyof typeof ChatAttributesSchemaStatusEnum]; /** * Check if a given object implements the ChatAttributesSchema interface. */ export declare function instanceOfChatAttributesSchema(value: object): value is ChatAttributesSchema; export declare function ChatAttributesSchemaFromJSON(json: any): ChatAttributesSchema; export declare function ChatAttributesSchemaFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChatAttributesSchema; export declare function ChatAttributesSchemaToJSON(json: any): ChatAttributesSchema; export declare function ChatAttributesSchemaToJSONTyped(value?: ChatAttributesSchema | null, ignoreDiscriminator?: boolean): any; //# sourceMappingURL=ChatAttributesSchema.d.ts.map