integrations/cobrowsing/cognidesk/dist
Interfaces
CobrowsingConsentPolicy
Properties
evidenceRequired?
optional evidenceRequired?: boolean;
mode
mode: CobrowsingConsentMode;
promptId?
optional promptId?: string;
retentionDays?
optional retentionDays?: number;
Properties
allowedOrigins?
optional allowedOrigins?: string[];
optional consentPolicyConfigured?: boolean;
optional recordingPolicyConfigured?: boolean;
optional redactionPolicyConfigured?: boolean;
scopes?
optional scopes?: string[];
optional sessionStoreConfigured?: boolean;
optional sessionTokenSigningConfigured?: boolean;
optional webhookVerifierConfigured?: boolean;
CobrowsingRecordingPolicy
Properties
mode
mode: CobrowsingRecordingMode;
requireSeparateConsent?
optional requireSeparateConsent?: boolean;
retentionDays?
optional retentionDays?: number;
CobrowsingRedactionPolicy
Properties
enabled
fieldNames?
optional fieldNames?: string[];
maskText?
optional maskText?: string;
selectors?
optional selectors?: string[];
CobrowsingSecurityPolicy
Properties
allowedOrigins
allowedOrigins: string[];
consent
consent: CobrowsingConsentPolicy;
recording
recording: CobrowsingRecordingPolicy;
redaction
redaction: CobrowsingRedactionPolicy;
CobrowsingSession
Properties
agentId?
optional agentId?: string;
allowedOrigins
allowedOrigins: string[];
consent
consent: CobrowsingConsentPolicy;
conversationId?
optional conversationId?: string;
createdAt
customerId?
optional customerId?: string;
endedAt?
optional endedAt?: string;
endedBy?
optional endedBy?: string;
endReason?
optional endReason?: string;
id
joinedAt?
optional joinedAt?: string;
optional metadata?: CobrowsingSessionProviderExtensionFields;
origin
participants
participants: CobrowsingSessionParticipant[];
recording
recording: CobrowsingRecordingPolicy;
redaction
redaction: CobrowsingRedactionPolicy;
startedAt?
optional startedAt?: string;
status
status: CobrowsingSessionStatus;
updatedAt
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
joinedAt
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
Returns
Promise\<CobrowsingSession>
get()
get(sessionId): Promise<CobrowsingSession>;
Parameters
| Parameter |
Type |
sessionId |
string |
Returns
Promise\<CobrowsingSession>
update()
update(session): Promise<CobrowsingSession>;
Parameters
Returns
Promise\<CobrowsingSession>
CobrowsingSessionTokenClaims
Properties
audience?
optional audience?: string;
expiresAt
issuedAt
optional metadata?: CobrowsingSessionProviderExtensionFields;
origin
participantId?
optional participantId?: string;
role?
optional role?: CobrowsingParticipantRole;
sessionId
CobrowsingSignedWebhookRequest
Properties
contentType?
optional contentType?: string;
event
event: NormalizedCobrowsingEvent;
json
json: RawCobrowsingSessionEvent;
rawBody
optional signatureHeader?: string;
verified
CognideskCobrowsingIntegrationClient
Methods
createSession()
createSession(input): unknown;
Parameters
Returns
unknown
endSession()
endSession(input): unknown;
Parameters
Returns
unknown
joinSession()
joinSession(input): unknown;
Parameters
Returns
unknown
CognideskCobrowsingIntegrationOptions
Properties
client
client: CognideskCobrowsingIntegrationClient;
Properties
agentId?
optional agentId?: string;
conversationId?
optional conversationId?: string;
customerId?
optional customerId?: string;
id?
optional metadata?: CobrowsingSessionProviderExtensionFields;
origin
policy?
optional policy?: Partial<CobrowsingSecurityPolicy>;
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
Properties
endedBy?
optional endedBy?: string;
reason?
optional reason?: string;
sessionId
Properties
displayName?
optional displayName?: string;
optional metadata?: CobrowsingSessionProviderExtensionFields;
origin
participantId
role
role: CobrowsingParticipantRole;
sessionId
sessionToken?
optional sessionToken?: string;
NormalizedCobrowsingEvent
Properties
controlRequestId?
optional controlRequestId?: string;
data
data: CobrowsingSessionJsonObject;
id
occurredAt
origin?
optional origin?: string;
participantId?
optional participantId?: string;
raw
raw: RawCobrowsingSessionEvent;
rawType
redactionRuleId?
optional redactionRuleId?: string;
role?
optional role?: CobrowsingParticipantRole;
sessionId
type
type: NormalizedCobrowsingEventType;
ParseCobrowsingWebhookRequestOptions
Properties
nowSeconds?
optional nowSeconds?: number;
requireSignature?
optional requireSignature?: boolean;
sharedSecret?
optional sharedSecret?: string;
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?
timestamp?
optional timestamp?: string;
type?
Properties
allowedOrigins?
optional allowedOrigins?: string[];
expectedAudience?
optional expectedAudience?: string;
expectedSessionId?
optional expectedSessionId?: string;
nowSeconds?
optional nowSeconds?: number;
sharedSecret
token
Properties
nowSeconds?
optional nowSeconds?: number;
rawBody
rawBody: string | Buffer<ArrayBufferLike>;
sharedSecret
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
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
Returns
{
createSession: Promise<CobrowsingSession>;
endSession: Promise<CobrowsingSession>;
joinSession: Promise<CobrowsingSession>;
}
createCobrowsingSessionToken()
function createCobrowsingSessionToken(input): string;
Parameters
Returns
string
createCognideskCobrowsingIntegration()
function createCognideskCobrowsingIntegration(options): DefinedIntegration<never, unknown, never>;
Parameters
Returns
DefinedIntegration\<never, unknown, never>
createInMemoryCobrowsingSessionStore()
function createInMemoryCobrowsingSessionStore(initialSessions?): CobrowsingSessionStore;
Parameters
Returns
CobrowsingSessionStore
normalizeCobrowsingEvent()
function normalizeCobrowsingEvent(input): NormalizedCobrowsingEvent;
Parameters
Returns
NormalizedCobrowsingEvent
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
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
Returns
CobrowsingSessionTokenValidation
validateCobrowsingSignedRequest()
function validateCobrowsingSignedRequest(input): boolean;
Parameters
Returns
boolean
References
cognideskCobrowsingProviderManifest
Re-exports cognideskCobrowsingProviderManifest