Skip to content

integrations/cobrowsing/cognidesk/dist

Interfaces

CobrowsingConsentPolicy

Properties

evidenceRequired?
optional evidenceRequired?: boolean;
mode
mode: CobrowsingConsentMode;
promptId?
optional promptId?: string;
retentionDays?
optional retentionDays?: number;

CobrowsingCredentialStatusInput

Properties

allowedOrigins?
optional allowedOrigins?: string[];
consentPolicyConfigured?
optional consentPolicyConfigured?: boolean;
recordingPolicyConfigured?
optional recordingPolicyConfigured?: boolean;
redactionPolicyConfigured?
optional redactionPolicyConfigured?: boolean;
scopes?
optional scopes?: string[];
sessionStoreConfigured?
optional sessionStoreConfigured?: boolean;
sessionTokenSigningConfigured?
optional sessionTokenSigningConfigured?: boolean;
webhookVerifierConfigured?
optional webhookVerifierConfigured?: boolean;

CobrowsingRecordingPolicy

Properties

mode
mode: CobrowsingRecordingMode;
requireSeparateConsent?
optional requireSeparateConsent?: boolean;
retentionDays?
optional retentionDays?: number;

CobrowsingRedactionPolicy

Properties

enabled
enabled: boolean;
fieldNames?
optional fieldNames?: string[];
maskText?
optional maskText?: string;
selectors?
optional selectors?: string[];

CobrowsingSecurityPolicy

Properties

allowedOrigins
allowedOrigins: string[];
consent: CobrowsingConsentPolicy;
recording
recording: CobrowsingRecordingPolicy;
redaction
redaction: CobrowsingRedactionPolicy;

CobrowsingSession

Properties

agentId?
optional agentId?: string;
allowedOrigins
allowedOrigins: string[];
consent: CobrowsingConsentPolicy;
conversationId?
optional conversationId?: string;
createdAt
createdAt: string;
customerId?
optional customerId?: string;
endedAt?
optional endedAt?: string;
endedBy?
optional endedBy?: string;
endReason?
optional endReason?: string;
id
id: string;
joinedAt?
optional joinedAt?: string;
metadata?
optional metadata?: CobrowsingSessionProviderExtensionFields;
origin
origin: string;
participants
participants: CobrowsingSessionParticipant[];
recording
recording: CobrowsingRecordingPolicy;
redaction
redaction: CobrowsingRedactionPolicy;
startedAt?
optional startedAt?: string;
status
status: CobrowsingSessionStatus;
updatedAt
updatedAt: string;

CobrowsingSessionClientOptions

Properties

idFactory?
optional idFactory?: () => string;
Returns

string

now?
optional now?: () => Date;
Returns

Date

policy
policy: CobrowsingSecurityPolicy;
sessionTokenSharedSecret?
optional sessionTokenSharedSecret?: string;
store
store: CobrowsingSessionStore;

CobrowsingSessionJsonObject

Extended by

Indexable

[key: string]: CobrowsingSessionProviderExtensionValue

CobrowsingSessionParticipant

Properties

displayName?
optional displayName?: string;
id
id: string;
joinedAt
joinedAt: string;
metadata?
optional metadata?: CobrowsingSessionProviderExtensionFields;
role
role: CobrowsingParticipantRole;

CobrowsingSessionProviderExtensionFields

Extends

Indexable

[key: string]: CobrowsingSessionProviderExtensionValue

CobrowsingSessionProviderResponse

Extends

Indexable

[key: string]: CobrowsingSessionProviderExtensionValue

CobrowsingSessionStore

Methods

create()
create(session): Promise<CobrowsingSession>;
Parameters
Parameter Type
session CobrowsingSession
Returns

Promise\<CobrowsingSession>

get()
get(sessionId): Promise<CobrowsingSession>;
Parameters
Parameter Type
sessionId string
Returns

Promise\<CobrowsingSession>

update()
update(session): Promise<CobrowsingSession>;
Parameters
Parameter Type
session CobrowsingSession
Returns

Promise\<CobrowsingSession>


CobrowsingSessionTokenClaims

Properties

audience?
optional audience?: string;
expiresAt
expiresAt: number;
issuedAt
issuedAt: number;
metadata?
optional metadata?: CobrowsingSessionProviderExtensionFields;
origin
origin: string;
participantId?
optional participantId?: string;
role?
optional role?: CobrowsingParticipantRole;
sessionId
sessionId: string;

CobrowsingSignedWebhookRequest

Properties

contentType?
optional contentType?: string;
event
event: NormalizedCobrowsingEvent;
json
json: RawCobrowsingSessionEvent;
rawBody
rawBody: string;
signatureHeader?
optional signatureHeader?: string;
verified
verified: boolean;

CognideskCobrowsingIntegrationClient

Methods

createSession()
createSession(input): unknown;
Parameters
Parameter Type
input CreateCobrowsingSessionInput
Returns

unknown

endSession()
endSession(input): unknown;
Parameters
Parameter Type
input EndCobrowsingSessionInput
Returns

unknown

joinSession()
joinSession(input): unknown;
Parameters
Parameter Type
input JoinCobrowsingSessionInput
Returns

unknown


CognideskCobrowsingIntegrationOptions

Properties

client
client: CognideskCobrowsingIntegrationClient;

CreateCobrowsingSessionInput

Properties

agentId?
optional agentId?: string;
conversationId?
optional conversationId?: string;
customerId?
optional customerId?: string;
id?
optional id?: string;
metadata?
optional metadata?: CobrowsingSessionProviderExtensionFields;
origin
origin: string;
policy?
optional policy?: Partial<CobrowsingSecurityPolicy>;

CreateCobrowsingSessionTokenInput

Properties

claims
claims: Omit<CobrowsingSessionTokenClaims, "expiresAt" | "issuedAt"> & {
  expiresAt?: number;
  expiresInSeconds?: number;
  issuedAt?: number;
};
Type Declaration
expiresAt?
optional expiresAt?: number;
expiresInSeconds?
optional expiresInSeconds?: number;
issuedAt?
optional issuedAt?: number;
sharedSecret
sharedSecret: string;

EndCobrowsingSessionInput

Properties

endedBy?
optional endedBy?: string;
reason?
optional reason?: string;
sessionId
sessionId: string;

JoinCobrowsingSessionInput

Properties

displayName?
optional displayName?: string;
metadata?
optional metadata?: CobrowsingSessionProviderExtensionFields;
origin
origin: string;
participantId
participantId: string;
role
role: CobrowsingParticipantRole;
sessionId
sessionId: string;
sessionToken?
optional sessionToken?: string;

NormalizedCobrowsingEvent

Properties

controlRequestId?
optional controlRequestId?: string;
data
data: CobrowsingSessionJsonObject;
id
id: string;
occurredAt
occurredAt: string;
origin?
optional origin?: string;
participantId?
optional participantId?: string;
raw
raw: RawCobrowsingSessionEvent;
rawType
rawType: string;
redactionRuleId?
optional redactionRuleId?: string;
role?
optional role?: CobrowsingParticipantRole;
sessionId
sessionId: string;
type
type: NormalizedCobrowsingEventType;

ParseCobrowsingWebhookRequestOptions

Properties

nowSeconds?
optional nowSeconds?: number;
requireSignature?
optional requireSignature?: boolean;
sharedSecret?
optional sharedSecret?: string;
signatureHeaderName?
optional signatureHeaderName?: string;
timestampToleranceSeconds?
optional timestampToleranceSeconds?: number;
verifier?
optional verifier?: (input) => boolean | Promise<boolean>;
Parameters
Parameter Type
input { rawBody: string; request: Request; signatureHeader: string; }
input.rawBody string
input.request Request
input.signatureHeader string
Returns

boolean | Promise\<boolean>


RawCobrowsingSessionEvent

Indexable

[key: string]: CobrowsingSessionProviderExtensionValue

Properties

createdAt?
optional createdAt?: string;
data?
optional data?: CobrowsingSessionJsonObject;
eventType?
optional eventType?: string;
id?
optional id?: string;
timestamp?
optional timestamp?: string;
type?
optional type?: string;

ValidateCobrowsingSessionTokenInput

Properties

allowedOrigins?
optional allowedOrigins?: string[];
expectedAudience?
optional expectedAudience?: string;
expectedSessionId?
optional expectedSessionId?: string;
nowSeconds?
optional nowSeconds?: number;
sharedSecret
sharedSecret: string;
token
token: string;

ValidateCobrowsingSignedRequestInput

Properties

nowSeconds?
optional nowSeconds?: number;
rawBody
rawBody: string | Buffer<ArrayBufferLike>;
sharedSecret
sharedSecret: string;
signatureHeader
signatureHeader: string;
timestampToleranceSeconds?
optional timestampToleranceSeconds?: number;

Type Aliases

CobrowsingConsentMode

type CobrowsingConsentMode = "required" | "optional" | "not-required";

CobrowsingParticipantRole

type CobrowsingParticipantRole = "customer" | "agent" | "observer";

CobrowsingRecordingMode

type CobrowsingRecordingMode = "disabled" | "allowed" | "required";

CobrowsingSessionJsonPrimitive

type CobrowsingSessionJsonPrimitive = string | number | boolean | null;

CobrowsingSessionJsonValue

type CobrowsingSessionJsonValue =
  | CobrowsingSessionJsonPrimitive
  | CobrowsingSessionJsonObject
  | readonly CobrowsingSessionJsonValue[];

CobrowsingSessionProviderExtensionValue

type CobrowsingSessionProviderExtensionValue =
  | CobrowsingSessionJsonValue
  | object
  | undefined;

CobrowsingSessionProviderPayload

type CobrowsingSessionProviderPayload = CobrowsingSessionJsonObject | object;

CobrowsingSessionProviderQuery

type CobrowsingSessionProviderQuery = Record<string, CobrowsingSessionProviderExtensionValue>;

CobrowsingSessionStatus

type CobrowsingSessionStatus = "created" | "started" | "joined" | "ended";

CobrowsingSessionTokenValidation

type CobrowsingSessionTokenValidation =
  | {
  claims: CobrowsingSessionTokenClaims;
  valid: true;
}
  | {
  reason: string;
  valid: false;
};

NormalizedCobrowsingEventType

type NormalizedCobrowsingEventType =
  | "cobrowse.session.started"
  | "cobrowse.session.joined"
  | "cobrowse.session.ended"
  | "cobrowse.control.requested"
  | "cobrowse.redaction.applied"
  | "cobrowse.redaction.cleared";

Functions

cobrowsingCredentialStatuses()

function cobrowsingCredentialStatuses(input): {
  expiresAt?: string;
  message?: string;
  providerPackageId?: string;
  requirementId: string;
  scopes?: string[];
  state:   | "required"
     | "configured"
     | "permission-blocked"
     | "not-required"
     | "missing"
     | "expired"
     | "insufficient-scope"
     | "unavailable";
}[];

Parameters

Parameter Type
input CobrowsingCredentialStatusInput

Returns

{ expiresAt?: string; message?: string; providerPackageId?: string; requirementId: string; scopes?: string[]; state: | "required" | "configured" | "permission-blocked" | "not-required" | "missing" | "expired" | "insufficient-scope" | "unavailable"; }[]


createCobrowsingSessionClient()

function createCobrowsingSessionClient(options): {
  createSession: Promise<CobrowsingSession>;
  endSession: Promise<CobrowsingSession>;
  joinSession: Promise<CobrowsingSession>;
};

Parameters

Parameter Type
options CobrowsingSessionClientOptions

Returns

{
  createSession: Promise<CobrowsingSession>;
  endSession: Promise<CobrowsingSession>;
  joinSession: Promise<CobrowsingSession>;
}
Name Type
createSession() (input) => Promise\<CobrowsingSession>
endSession() (input) => Promise\<CobrowsingSession>
joinSession() (input) => Promise\<CobrowsingSession>

createCobrowsingSessionToken()

function createCobrowsingSessionToken(input): string;

Parameters

Parameter Type
input CreateCobrowsingSessionTokenInput

Returns

string


createCognideskCobrowsingIntegration()

function createCognideskCobrowsingIntegration(options): DefinedIntegration<never, unknown, never>;

Parameters

Parameter Type
options CognideskCobrowsingIntegrationOptions

Returns

DefinedIntegration\<never, unknown, never>


createInMemoryCobrowsingSessionStore()

function createInMemoryCobrowsingSessionStore(initialSessions?): CobrowsingSessionStore;

Parameters

Parameter Type
initialSessions? CobrowsingSession[]

Returns

CobrowsingSessionStore


normalizeCobrowsingEvent()

function normalizeCobrowsingEvent(input): NormalizedCobrowsingEvent;

Parameters

Parameter Type
input RawCobrowsingSessionEvent

Returns

NormalizedCobrowsingEvent


parseCobrowsingSignatureHeader()

function parseCobrowsingSignatureHeader(header): {
  signature: string;
  timestamp: string;
};

Parameters

Parameter Type
header string

Returns

{
  signature: string;
  timestamp: string;
}
Name Type
signature string
timestamp string

parseCobrowsingWebhookRequest()

function parseCobrowsingWebhookRequest(request, options?): Promise<CobrowsingSignedWebhookRequest>;

Parameters

Parameter Type
request Request
options? ParseCobrowsingWebhookRequestOptions

Returns

Promise\<CobrowsingSignedWebhookRequest>


signCobrowsingWebhook()

function signCobrowsingWebhook(input): string;

Parameters

Parameter Type
input { body: string | Buffer\<ArrayBufferLike>; sharedSecret: string; timestamp: number; }
input.body string | Buffer\<ArrayBufferLike>
input.sharedSecret string
input.timestamp number

Returns

string


validateCobrowsingSessionToken()

function validateCobrowsingSessionToken(input): CobrowsingSessionTokenValidation;

Parameters

Parameter Type
input ValidateCobrowsingSessionTokenInput

Returns

CobrowsingSessionTokenValidation


validateCobrowsingSignedRequest()

function validateCobrowsingSignedRequest(input): boolean;

Parameters

Parameter Type
input ValidateCobrowsingSignedRequestInput

Returns

boolean

References

cognideskCobrowsingProviderManifest

Re-exports cognideskCobrowsingProviderManifest