@opencxh/domain 1.158.0 → 1.159.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities/activity/catalog.d.ts +10 -2
- package/dist/entities/activity/resolve.d.ts +24 -0
- package/dist/entities/activity/types.d.ts +45 -2
- package/dist/entities/ai-conversation/types.d.ts +26 -0
- package/dist/entities/assignment/types.d.ts +28 -0
- package/dist/entities/interaction/types.d.ts +4 -2
- package/dist/index.cjs +8 -8
- package/dist/index.js +663 -608
- package/dist/platform/api.d.ts +13 -0
- package/package.json +1 -1
|
@@ -108,9 +108,17 @@ export declare function activityIconOf(type: string): string;
|
|
|
108
108
|
/** `mail` | `chat` | `voice` | `video`, of `undefined` voor een levenscyclus-event. */
|
|
109
109
|
export declare function channelKindOf(type: string): ActivityChannelKind | undefined;
|
|
110
110
|
/**
|
|
111
|
-
* Draagt
|
|
112
|
-
*
|
|
111
|
+
* Draagt deze vorm een bericht of een interne notitie — iets wat een mens schreef en wat als
|
|
112
|
+
* "het gesprek" telt? Sluit transcripten uit; die zijn wel tekst, maar geen bericht.
|
|
113
|
+
*
|
|
114
|
+
* Op de **shape** en niet op het type, zodat er precies één definitie van "is dit een
|
|
115
|
+
* bericht" bestaat. {@link isMessageType} beantwoordt hem voor de ingebouwde types;
|
|
116
|
+
* `ActivityTypeRegistry.isMessage` doet hetzelfde voor een type dat een app declareerde.
|
|
117
|
+
* Zonder die splitsing had elk van beide zijn eigen kopie van de regel gekregen — en dat is
|
|
118
|
+
* precies hoe er twaalf hardgecodeerde typelijstjes door de codebase zijn ontstaan.
|
|
113
119
|
*/
|
|
120
|
+
export declare function isMessageShape(shape: ActivityShape | undefined): boolean;
|
|
121
|
+
/** Zie {@link isMessageShape}. Voor de ingebouwde types. */
|
|
114
122
|
export declare function isMessageType(type: string): boolean;
|
|
115
123
|
/** Kan een mens hierop antwoorden? Notities niet — die gaan nergens heen. */
|
|
116
124
|
export declare function isReplyableType(type: string): boolean;
|
|
@@ -57,6 +57,30 @@ export declare class ActivityTypeRegistry {
|
|
|
57
57
|
descriptor(type: string): ActivityTypeDescriptor | undefined;
|
|
58
58
|
/** De declaratieve blokken van een type, als het er heeft. */
|
|
59
59
|
blocks(type: string): ActivityBlock[] | undefined;
|
|
60
|
+
/**
|
|
61
|
+
* Dezelfde semantische vragen als de losse accessors in `catalog.ts`, maar dan óók voor
|
|
62
|
+
* types die een app declareerde.
|
|
63
|
+
*
|
|
64
|
+
* Dat verschil is de reden dat deze methodes bestaan. `isMessageType(type)` leest alleen
|
|
65
|
+
* `ACTIVITY_CATALOG`, dus een gedeclareerd type met `shape: "message"` gaf daar `false` —
|
|
66
|
+
* een helpdesk-app kon een berichtsoort meebrengen die vervolgens niet meetelde als
|
|
67
|
+
* gesprek, niet antwoordbaar was en niet in de analytics landde. Wie een registry bij de
|
|
68
|
+
* hand heeft, hoort deze te gebruiken; wie er geen heeft valt terug op de ingebouwde.
|
|
69
|
+
*
|
|
70
|
+
* De regel zelf staat maar op één plek: {@link isMessageShape} en de velden van
|
|
71
|
+
* {@link ResolvedActivityType}.
|
|
72
|
+
*/
|
|
73
|
+
isMessage(type: string): boolean;
|
|
74
|
+
/** Kan een mens hierop antwoorden? Notities niet — die gaan nergens heen. */
|
|
75
|
+
isReplyable(type: string): boolean;
|
|
76
|
+
/** Leesbare inhoud voor een model: berichten, notities én transcripten. */
|
|
77
|
+
carriesText(type: string): boolean;
|
|
78
|
+
/** Telt mee als in- of uitgaand bericht in de analytics-rollup. */
|
|
79
|
+
countsAs(type: string): "inbound_message" | "outbound_message" | undefined;
|
|
80
|
+
/** `mail` | `chat` | `voice` | `video`, of `undefined` voor een levenscyclus-event. */
|
|
81
|
+
channelKind(type: string): ActivityChannelKind | undefined;
|
|
82
|
+
/** Transcript-achtig artefact: meegeleverde inhoud die leesbare tekst draagt. */
|
|
83
|
+
isTranscript(type: string): boolean;
|
|
60
84
|
/** De vertaler die bij deze registry hoort, voor het oplossen van blokteksten. */
|
|
61
85
|
get translator(): Translate;
|
|
62
86
|
}
|
|
@@ -165,9 +165,16 @@ export type FileUploadedPayload = {
|
|
|
165
165
|
/** Storage FilePointer id, when the file lives in the storage app (download via storage.file.{id}.download). */
|
|
166
166
|
fileId?: string;
|
|
167
167
|
};
|
|
168
|
+
/**
|
|
169
|
+
* Elke status die `Interaction.status` kan aannemen, `snoozed` inbegrepen. Die ontbrak,
|
|
170
|
+
* en daardoor had de tijdlijn een gat precies waar hij het meest verrast: parkeren en
|
|
171
|
+
* wakker worden waren de enige twee statuswissels die geen spoor achterlieten, dus een
|
|
172
|
+
* gesprek sprong uit en weer in de lijst zonder dat iets vertelde waarom.
|
|
173
|
+
*/
|
|
174
|
+
export type InteractionStatus = "open" | "pending" | "closed" | "snoozed";
|
|
168
175
|
export type InteractionStatusChangedPayload = {
|
|
169
|
-
fromStatus:
|
|
170
|
-
toStatus:
|
|
176
|
+
fromStatus: InteractionStatus;
|
|
177
|
+
toStatus: InteractionStatus;
|
|
171
178
|
};
|
|
172
179
|
export type InteractionAssignedPayload = {
|
|
173
180
|
userId: string;
|
|
@@ -335,3 +342,39 @@ export type Activity = (BaseActivity & {
|
|
|
335
342
|
type: "INTERACTION_ASSIGNED";
|
|
336
343
|
payload: InteractionAssignedPayload;
|
|
337
344
|
});
|
|
345
|
+
/**
|
|
346
|
+
* Een activity van **welk type dan ook**, inclusief een type dat een app declareerde.
|
|
347
|
+
*
|
|
348
|
+
* `Activity` is een gesloten unie over de 41 ingebouwde types, en dat is met opzet: alleen zo
|
|
349
|
+
* weet TypeScript na `activity.type === "EMAIL_RECEIVED"` dat `payload.from` bestaat. Maar
|
|
350
|
+
* `ACTIVITY_TYPE_AUTHORING.md` nodigt apps uit hun eigen type mee te brengen, en zo'n rij
|
|
351
|
+
* pást niet in die unie — vandaar de ~40 `as Activity`-casts die door de repo staan.
|
|
352
|
+
*
|
|
353
|
+
* Een open tak ín `Activity` lost dat niet op: dan wordt `payload` overal een unie met
|
|
354
|
+
* `Record<string, unknown>` en verdwijnt precies de versmalling waar de unie voor bestaat.
|
|
355
|
+
* Daarom een eigen naam. Code die ook gedeclareerde types verwerkt — de feed, de
|
|
356
|
+
* inboxregel, de analytics-rollup — typeert op `AnyActivity` en vraagt de catalogus wat het
|
|
357
|
+
* ding is; code die in een payload leest blijft op `Activity` en versmalt.
|
|
358
|
+
*/
|
|
359
|
+
export type AnyActivity = Activity | (BaseActivity & {
|
|
360
|
+
type: string;
|
|
361
|
+
payload: Record<string, unknown>;
|
|
362
|
+
});
|
|
363
|
+
/**
|
|
364
|
+
* Type-guards voor de twee payload-vormen waar de UI rechtstreeks in leest.
|
|
365
|
+
*
|
|
366
|
+
* Dit zijn bewust wél typenamen en geen catalogus-vraag. De catalogus beantwoordt *semantiek*
|
|
367
|
+
* ("is dit een bericht", "welk kanaal") en dat hoort nooit als typelijstje in een component.
|
|
368
|
+
* Deze twee doen iets anders: ze **versmallen het type**, zodat `activity.payload.from` en
|
|
369
|
+
* `activity.payload.text` erna bestaan. Een `channelKindOf(...) === "mail"` kan dat niet — die
|
|
370
|
+
* geeft een boolean terug en TypeScript weet daarna nog steeds niet welke payload er ligt.
|
|
371
|
+
*
|
|
372
|
+
* Ze staan hier, naast de union, zodat er één plek is die de namen kent in plaats van een
|
|
373
|
+
* herhaling per component.
|
|
374
|
+
*/
|
|
375
|
+
export declare function isEmailActivity(activity: Activity): activity is Extract<Activity, {
|
|
376
|
+
type: "EMAIL_RECEIVED" | "EMAIL_SENT";
|
|
377
|
+
}>;
|
|
378
|
+
export declare function isChatMessageActivity(activity: Activity): activity is Extract<Activity, {
|
|
379
|
+
type: "CHAT_MESSAGE_SENT" | "CHAT_MESSAGE_RECEIVED";
|
|
380
|
+
}>;
|
|
@@ -1,4 +1,25 @@
|
|
|
1
|
+
import { AssignmentStatus } from '../assignment/types';
|
|
1
2
|
export type AIConversationVisibility = "shared" | "personal";
|
|
3
|
+
/**
|
|
4
|
+
* Dat deze draad die van een **agent-opdracht** is, en waar hij bij hoort te verschijnen.
|
|
5
|
+
*
|
|
6
|
+
* De draad van een opdracht leeft op `assignment:<id>` en niet op het onderwerp — dat is precies
|
|
7
|
+
* waarom een opdracht meerdere beurten kan overleven terwijl de mensvragen over hetzelfde gesprek
|
|
8
|
+
* hun eigen draad houden. Het nadeel was dat er geen enkele ingang naar toe was, behalve de
|
|
9
|
+
* agentpagina: het werk was er wel, maar niet te zien op de plek waar het over ging.
|
|
10
|
+
*
|
|
11
|
+
* Daarom levert `conversation/resolve` de draad van een opdracht ook uit bij de scope van zijn
|
|
12
|
+
* **onderwerp**, met dit stempel erop. Niet opgeslagen — het is de stand van nu, gelezen bij het
|
|
13
|
+
* ophalen, precies zoals de status van de opdracht zelf.
|
|
14
|
+
*/
|
|
15
|
+
export interface AIConversationAgentThread {
|
|
16
|
+
assignmentId: string;
|
|
17
|
+
/** Het `userId` van de agent die deze opdracht doet. */
|
|
18
|
+
agentId: string;
|
|
19
|
+
status: AssignmentStatus;
|
|
20
|
+
/** De scope waaronder deze draad wordt meegeleverd: het onderwerp van de opdracht. */
|
|
21
|
+
subjectScopeKey: string;
|
|
22
|
+
}
|
|
2
23
|
/**
|
|
3
24
|
* A single assistant conversation (thread). Grouped into the tools-panel tabs by
|
|
4
25
|
* `scopeKey`; messages, runs and thread-continuity key on the conversation id.
|
|
@@ -22,4 +43,9 @@ export interface AIConversation {
|
|
|
22
43
|
origin: "auto" | "user";
|
|
23
44
|
createdAt: number;
|
|
24
45
|
updatedAt: number;
|
|
46
|
+
/**
|
|
47
|
+
* Gezet bij het ophalen, nooit opgeslagen: deze draad hangt aan een agent-opdracht over de
|
|
48
|
+
* gevraagde scope. Aanwezig = meelezen, niet meepraten (zie {@link AIConversationAgentThread}).
|
|
49
|
+
*/
|
|
50
|
+
agent?: AIConversationAgentThread;
|
|
25
51
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ResourceRef } from '../../platform/resource';
|
|
2
|
+
import { Activity } from '../activity/types';
|
|
2
3
|
import { WaitingOn } from '../playbook/types';
|
|
3
4
|
/**
|
|
4
5
|
* Een **opdracht**: werk dat aan een agent is toegewezen en zo lang leeft als het werk.
|
|
@@ -91,9 +92,36 @@ export interface Assignment {
|
|
|
91
92
|
visibleTo?: string[];
|
|
92
93
|
/** Waar deze opdracht over gaat, in mensentaal. Voor de lijst. */
|
|
93
94
|
title?: string;
|
|
95
|
+
/**
|
|
96
|
+
* Waaróm de opdracht in deze stand staat, als er iets uit te leggen is.
|
|
97
|
+
*
|
|
98
|
+
* `decideAssignmentState` rekende dit al uit en niets bewaarde het, dus je zag `escalated` zonder
|
|
99
|
+
* uitleg — precies de vraag ("waarom heeft hij dit overgedragen?") die dit ontwerp zou moeten
|
|
100
|
+
* kunnen beantwoorden. De reden van de agent zelf staat hier, en zijn woorden in de draad.
|
|
101
|
+
*/
|
|
102
|
+
statusReason?: string;
|
|
94
103
|
createdBy: string;
|
|
95
104
|
lastActivityAt?: number;
|
|
96
105
|
}
|
|
106
|
+
/**
|
|
107
|
+
* Wekt deze activity een opdracht die op een antwoord wacht?
|
|
108
|
+
*
|
|
109
|
+
* **Twee bronnen, twee regels, en dat verschil is het hele punt.**
|
|
110
|
+
*
|
|
111
|
+
* - **De klant antwoordt** (`inbound`): dat wekt altijd. Een klant kan niemand @-noemen, en zijn
|
|
112
|
+
* antwoord is per definitie het antwoord waar de opdracht op wachtte.
|
|
113
|
+
* - **Een collega schrijft een interne notitie**: die wekt **alleen als de agent genoemd is**.
|
|
114
|
+
*
|
|
115
|
+
* Die tweede regel is er omdat "elke interne notitie wekt" te grof is: twee collega's die in het
|
|
116
|
+
* dossier overleggen zouden dan elk een modelbeurt kosten, over iets waar de agent niet bij
|
|
117
|
+
* gevraagd was — en dat vreet het beurtplafond op aan gesprek dat niet voor hem bedoeld was.
|
|
118
|
+
*
|
|
119
|
+
* Een vermelding is precies de vraag die de engine zelf niet kan beantwoorden: *is dit aan míjn
|
|
120
|
+
* agent gericht?* Dezelfde vorm als {@link assignmentMismatch} bij het toewijzen — expliciet, want
|
|
121
|
+
* geraden zou stil het verkeerde doen. En het maakt zelf-wekken onmogelijk: een agent noemt
|
|
122
|
+
* zichzelf niet.
|
|
123
|
+
*/
|
|
124
|
+
export declare function wakesAssignment(activity: Activity, agentId: string): boolean;
|
|
97
125
|
/** Het onderwerp van een opdracht als één verwijzing, of `undefined`. */
|
|
98
126
|
export declare function assignmentSubject(assignment: {
|
|
99
127
|
subjectKind?: string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { InteractionParticipant } from '../../platform/communication';
|
|
2
|
-
import { ActivityType } from '../activity/types';
|
|
2
|
+
import { ActivityType, InteractionStatus } from '../activity/types';
|
|
3
3
|
export interface ActivityPreview {
|
|
4
4
|
activityId: string;
|
|
5
5
|
/** Ook een door een app gedeclareerd type; de union houdt alleen de autocomplete. */
|
|
@@ -77,7 +77,9 @@ export interface Interaction {
|
|
|
77
77
|
*/
|
|
78
78
|
channelUriKey?: string;
|
|
79
79
|
title: string;
|
|
80
|
-
|
|
80
|
+
/** Eén definitie, gedeeld met `INTERACTION_STATUS_CHANGED`, zodat de tijdlijn elke
|
|
81
|
+
* overgang kan vastleggen die dit veld kan maken. */
|
|
82
|
+
status: InteractionStatus;
|
|
81
83
|
/**
|
|
82
84
|
* UX-shape van de interactie. "thread" = email-stijl met aparte replyable
|
|
83
85
|
* berichten (inline reply per activity). "conversation" = chat-stijl met
|
package/dist/index.cjs
CHANGED
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const x=10,S=10,_=10,b=5,xt=new Set(["header","section","context","divider","image","list","actions","attachments"]);function k(e){if(typeof e=="string")return e.length>0;if(!e||typeof e!="object")return!1;const t=e;return typeof t.key=="string"||typeof t.value=="string"}function Dt(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const i of e){if(n.length>=x){t("more than "+x+" blocks; the rest was dropped");break}if(!i||typeof i!="object")continue;const r=i;if(!xt.has(r.type)){t("unknown block type "+String(r.type));continue}switch(r.type){case"header":if(!k(r.text)){t("a header without text");continue}break;case"context":if(!k(r.text)){t("a context block without text");continue}break;case"image":if(!r.url||!r.alt){t("an image without url or alt");continue}break;case"section":Array.isArray(r.fields)&&r.fields.length>S&&(t("more than "+S+" fields in a section"),r.fields=r.fields.slice(0,S));break;case"list":if(!Array.isArray(r.items)||r.items.length===0){t("a list without items");continue}r.items.length>_&&(t("more than "+_+" list items"),r.items=r.items.slice(0,_));break;case"actions":{const a=Array.isArray(r.elements)?r.elements:[],o=a.filter(s=>s&&s.action_id&&s.invoke&&k(s.text));if(o.length!==a.length&&t("an action without action_id, invoke or text"),o.length===0)continue;o.length>b&&t("more than "+b+" actions"),r.elements=o.slice(0,b);break}}n.push(r)}return n}function ye(e){return e.replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function y(e){if(!e||e<0)return"";const t=Math.floor(e/60),n=Math.floor(e%60);return`${t}:${n.toString().padStart(2,"0")}`}function ne(e){return e?` — ${Math.floor(e/60)}m ${e%60}s`:""}function w(e){return e?.split("@")?.[0]||e||""}function T(e){return e.map(t=>t.name).join(", ")}function ie(e){return e==="meeting"?"Meeting":e==="video"?"Video call":"Audio call"}const m={VOICE_CALL_STARTED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gesprek gestart",timeline:e=>e.direction==="inbound"?`Inbound call started — ${w(e.payload.from)}`:`Outbound call started — ${w(e.payload.to)}`},VOICE_CALL_ANSWERED:{shape:"event",channelKind:"voice",icon:"phone",connected:!0,snippet:()=>"Gesprek aangenomen",timeline:(e,t)=>`Call answered — ${t}`},VOICE_CALL_HOLD:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"In de wacht",timeline:(e,t)=>`Call on hold — ${t}`},VOICE_CALL_UNHOLD:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Hervat"},VOICE_CALL_ENDED:{shape:"event",channelKind:"voice",icon:"phone",snippet:e=>`Gesprek beëindigd${e.payload.duration?` (${y(e.payload.duration)})`:""}`,timeline:e=>`Call ended${ne(e.payload.duration)}`},VOICE_CALL_MISSED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gemiste oproep",timeline:e=>`Missed call — ${w(e.payload.from)}`},VOICE_CALL_FAILED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gesprek mislukt",timeline:()=>"Call failed"},VOICE_CALL_VOICEMAIL:{shape:"artifact",channelKind:"voice",icon:"phone",snippet:e=>e.payload.transcription?.trim()?e.payload.transcription:"Voicemail ontvangen"},VIDEO_CALL_STARTED:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"Gesprek gestart",timeline:()=>"Video call started"},VIDEO_CALL_ANSWERED:{shape:"event",channelKind:"video",icon:"video",connected:!0,snippet:()=>"Gesprek aangenomen",timeline:()=>"Video call answered"},VIDEO_CALL_HOLD:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"In de wacht"},VIDEO_CALL_UNHOLD:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"Hervat"},VIDEO_CALL_ENDED:{shape:"event",channelKind:"video",icon:"video",snippet:e=>`Gesprek beëindigd${e.payload.duration?` (${y(e.payload.duration)})`:""}`,timeline:()=>"Video call ended"},VIDEO_CALL_MISSED:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"Gemiste oproep",timeline:()=>"Missed video call"},VIDEO_CALL_FAILED:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"Gesprek mislukt",timeline:()=>"Video call failed"},EMAIL_RECEIVED:{shape:"message",triggerable:!0,displayNameKey:"communication:activity.EMAIL_RECEIVED",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"inbound_message",snippet:re},EMAIL_SENT:{shape:"message",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:re},CHAT_MESSAGE_SENT:{shape:"message",component:"communication:ChatMessage",channelKind:"chat",icon:"message-circle",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:e=>e.payload.text??""},CHAT_MESSAGE_RECEIVED:{shape:"message",triggerable:!0,displayNameKey:"communication:activity.CHAT_MESSAGE_RECEIVED",component:"communication:ChatMessage",channelKind:"chat",icon:"message-circle",replyable:!0,carriesText:!0,countsAs:"inbound_message",snippet:e=>e.payload.text??""},CHAT_MEMBER_JOINED:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>`${T(e.payload.members)} toegevoegd`,timeline:e=>{const t=T(e.payload.members)||"Someone",n=e.payload.initiator?.name?` · added by ${e.payload.initiator.name}`:"";return`${t} joined the chat${n}`}},CHAT_MEMBER_LEFT:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>`${T(e.payload.members)} verlaten`,timeline:e=>{const t=T(e.payload.members)||"Someone",n=e.payload.initiator?.name?` · removed by ${e.payload.initiator.name}`:"";return`${t} left the chat${n}`}},CHAT_RENAMED:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>`Hernoemd naar "${e.payload.newName}"`,timeline:e=>`Chat renamed to "${e.payload.newName}"${e.payload.initiator?` by ${e.payload.initiator.name}`:""}`},CHAT_CALL_STARTED:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:()=>"Gesprek gestart",timeline:e=>`${ie(e.payload.callType)} started${e.payload.initiator?` by ${e.payload.initiator.name}`:""}`,joinUrl:e=>e.payload.joinUrl},CHAT_CALL_ENDED:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>`Gesprek beëindigd${e.payload.duration?` (${y(e.payload.duration)})`:""}`,timeline:e=>`${ie(e.payload.callType)} ended${ne(e.payload.duration)}`,joinUrl:e=>e.payload.joinUrl},CHAT_EVENT:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>e.payload.text??e.payload.eventType,timeline:e=>e.payload.text||e.payload.eventType},TRANSCRIPT_ADDED:{shape:"artifact",triggerable:!0,displayNameKey:"communication:activity.TRANSCRIPT_ADDED",component:"communication:TranscriptionActivity",icon:"captions",carriesText:!0,snippet:e=>(e.payload.segments??[]).map(t=>t.text).join(" ")},COMMENT_ADDED:{shape:"note",component:"communication:CommentActivity",icon:"sticky-note",carriesText:!0,snippet:e=>e.payload.text??""},FILE_UPLOADED:{shape:"artifact",component:"communication:FileActivity",icon:"paperclip",snippet:e=>`Bestand: ${e.payload.fileName}`},AI_MESSAGE_ADDED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.AI_MESSAGE_ADDED",icon:"circle",snippet:e=>e.payload.output?.text??e.payload.input?.text??"",timeline:()=>"AI message added"},AI_ACTION_PROPOSED:{shape:"event",component:"communication:ProposedActionCard",icon:"circle",playbookAuthored:!0,snippet:e=>`Voorstel wacht op goedkeuring (${e.payload.actions?.length??0} actie(s))`},PLAYBOOK_STARTED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:e=>`Playbook gestart${e.payload.playbookName?`: ${e.payload.playbookName}`:""}`,timeline:e=>`Playbook gestart${e.payload.playbookName?` — ${e.payload.playbookName}`:""}`},PLAYBOOK_COMPLETED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:()=>"Playbook afgerond",timeline:()=>"Playbook afgerond"},PLAYBOOK_ESCALATED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:()=>"Playbook geëscaleerd naar een mens",timeline:()=>"Playbook geëscaleerd naar een mens"},MEETING_SCHEDULED:{shape:"event",icon:"calendar",snippet:e=>`Vergadering gepland: ${e.payload.title}`,timeline:()=>"Meeting scheduled",joinUrl:e=>e.payload.joinUrl},MEETING_STARTED:{shape:"event",icon:"calendar",connected:!0,snippet:e=>`Vergadering gestart: ${e.payload.title}`,timeline:()=>"Meeting started",joinUrl:e=>e.payload.joinUrl},MEETING_ENDED:{shape:"event",icon:"calendar",snippet:e=>`Vergadering beëindigd${e.payload.duration?` (${y(e.payload.duration)})`:""}`,timeline:()=>"Meeting ended"},MEETING_PARTICIPANT_JOINED:{shape:"event",icon:"calendar",snippet:e=>`${e.payload.name} deelgenomen`,timeline:(e,t)=>`${t} joined the meeting`},MEETING_PARTICIPANT_LEFT:{shape:"event",icon:"calendar",snippet:e=>`${e.payload.name} verlaten`,timeline:(e,t)=>`${t} left the meeting`},INTERACTION_CREATED:{shape:"event",icon:"circle",snippet:()=>"Interactie aangemaakt",timeline:(e,t)=>`Interaction started by ${t}`},INTERACTION_STATUS_CHANGED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.INTERACTION_STATUS_CHANGED",icon:"circle-dot",snippet:e=>`Status: ${e.payload.fromStatus} → ${e.payload.toStatus}`,timeline:(e,t)=>`Status changed to ${e.payload.toStatus} by ${t}`},INTERACTION_ASSIGNED:{shape:"event",icon:"user",snippet:()=>"Interactie toegewezen",timeline:(e,t)=>`Assigned by ${t}`}};function re(e){const t=e.payload,n=t.bodySnippet?.trim()||ye(t.body??"");return t.subject?`${t.subject} — ${n}`:n}function l(e){return m[e]}function Pt(e){return l(e)?.icon??"circle"}function $t(e){return l(e)?.channelKind}function Ut(e){const t=l(e)?.shape;return t==="message"||t==="note"}function Kt(e){return l(e)?.replyable===!0}function Bt(e){return l(e)?.carriesText===!0}function Ft(e){return l(e)?.countsAs}function Gt(e){return l(e)?.playbookAuthored===!0}function jt(e){return l(e)?.connected===!0}function Vt(e){const t=l(e);return t?.shape==="artifact"&&t?.carriesText===!0}function Te(e){const t=l(e.type)?.snippet;return t?t(e):""}function Ht(e,t){const n=l(e.type)?.timeline;return n?n(e,t):e.type.replace(/_/g," ").toLowerCase()}function Wt(e){const t=l(e.type)?.joinUrl;return t?t(e):void 0}function C(e,t){let n=e;for(const i of t.split(".")){if(n==null||typeof n!="object")return"";n=n[i]}return n==null?"":typeof n=="string"?n:typeof n=="number"||typeof n=="boolean"?String(n):""}function O(e,t,n){if(e===void 0)return null;if(typeof e=="string")return e||null;if("value"in e)return C(t,e.value)||null;const i={};for(const[a,o]of Object.entries(e.params??{}))i[a]=C(t,o);const r=n(e.key,i);return r===e.key?null:r}function Se(e,t){if(!e||typeof e=="string"||"value"in e)return null;const n={};for(const[i,r]of Object.entries(e.params??{}))n[i]=C(t,r);return{key:e.key,params:n}}const Xt=e=>e;function ae(e){const t=m[e];return{type:e,shape:t.shape,channelKind:t.channelKind,icon:t.icon,replyable:t.replyable===!0,countsAs:t.countsAs,carriesText:t.carriesText===!0,triggerable:t.triggerable===!0,component:t.component,builtIn:!0,displayNameKey:t.displayNameKey}}function oe(e){return{type:e.type,shape:e.shape,channelKind:e.channelKind,icon:e.icon||"circle",replyable:e.replyable===!0,countsAs:e.countsAs,carriesText:e.carriesText===!0,triggerable:e.triggerable===!0,component:e.component,builtIn:!1,displayNameKey:e.displayNameKey}}class _e{constructor(t=[],n=Xt){this.translate=n;for(const i of t)i?.type&&(i.type in m||this.declared.has(i.type)||this.declared.set(i.type,i))}declared=new Map;get(t){if(t in m)return ae(t);const n=this.declared.get(t);return n?oe(n):void 0}triggerable(){const t=Object.keys(m).filter(i=>m[i].triggerable).map(ae),n=[...this.declared.values()].map(oe).filter(i=>i.triggerable);return[...t,...n]}timelineText(t,n){const i=m[t.type];if(i?.timeline)return i.timeline(t,n);const r=this.declared.get(t.type);return O(r?.text,t,this.translate)??t.type.replace(/_/g," ").toLowerCase()}snippet(t){const n=m[t.type];if(n?.snippet)return n.snippet(t);const i=this.declared.get(t.type);return O(i?.text,t,this.translate)??""}descriptor(t){return this.declared.get(t)}blocks(t){const n=this.declared.get(t)?.render;return n?.length?n:void 0}get translator(){return this.translate}}const zt=new _e,se=140;function Yt(e){const t=e.trim();return t.length<=se?t:t.slice(0,se-1).trimEnd()+"…"}function qt(e,t){const n=Se(t?.text,e),i=t?O(t.text,e,r=>r):null;return{activityId:e.id,type:e.type,snippet:Yt(i??Te(e)),authorName:e.author?.name??"",direction:e.direction,createdAt:e.createdAt??Date.now(),...n?{snippetKey:n.key,snippetParams:n.params}:{}}}function Jt(e,t,n=[]){const i=e.createdAt;if(!i)return[];const r=new Set(n);return e.author.type==="user"&&e.author.id&&r.add(e.author.id),Object.entries(t).filter(([a,o])=>o>=i&&!r.has(a)).map(([a])=>a)}function Qt(e){return e.createdAt??0}const Zt=[{id:"agent",label:"Agent",labelSource:"user"},{id:"team",label:"Team",labelSource:"team"},{id:"inbox",label:"Inbox",labelSource:"inbox"},{id:"channel",label:"Kanaal",labelSource:"channel"},{id:"provider",label:"Provider",labelSource:"raw"},{id:"status",label:"Status",labelSource:"raw"},{id:"handledBy",label:"Afhandelaar",labelSource:"raw"},{id:"time",label:"Tijd",labelSource:"raw"}];function en(e){const t=[];for(const n of Object.keys(e))for(const i of Object.keys(e[n]))t.push({lang:n,key:i,value:e[n][i]});return t}function R(e){return e<10?`0${e}`:`${e}`}function be(e,t){const n=new Date(e),i=`${n.getUTCFullYear()}-${R(n.getUTCMonth()+1)}-${R(n.getUTCDate())}`;return t==="day"?i:`${i}T${R(n.getUTCHours())}`}function Ie(e,t){const n=new Date(e);return n.setUTCMinutes(0,0,0),t==="day"&&n.setUTCHours(0),n.getTime()}const tn=36e5,nn=864e5;function rn(e,t,n){const i=n==="hour"?tn:nn,r=[];for(let a=Ie(e,n);a<=t;a+=i)r.push(be(a,n));return r}const Me=[{id:"resource",label:"Resource",labelSource:"raw"},{id:"origin",label:"Herkomst",labelSource:"raw"}],Ne=Me.map(e=>e.id);function Ce(e,t){return`${e}.usage.${t}`}function an(e,t){return t.map(n=>({id:Ce(e,n.unit),label:n.label,category:"Verbruik",valueType:n.valueType??"count",aggregation:"sum",supportedDimensions:["provider",...Ne,...n.extraDimensions??[],"time"]}))}const Oe=new Set(["info","success","warning","destructive"]),D=200,P=100,$=200,U=12,K=4,H=4e3,I=500,on=256*1024,sn=new Set(["heading","paragraph","list","quote","code","divider","table","kpi","callout"]),ve=["http:","https:","mailto:","tel:"],ln=/^[a-z][a-z0-9+.-]*:/i;function Le(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=ln.exec(t)?.[0];return n?ve.includes(n.toLowerCase()):!t.startsWith("//")}const cn=/^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;function un(e){let t="",n=0;for(;n<e.length;){const i=e[n]==="!"&&e[n+1]==="[";if(e[n]!=="["&&!i){t+=e[n],n+=1;continue}const r=n+(i?2:1),a=le(e,r,"[","]");if(a<0||e[a+1]!=="("){t+=e[n],n+=1;continue}const o=le(e,a+2,"(",")");if(o<0){t+=e[n],n+=1;continue}const s=e.slice(r,a),c=e.slice(a+2,o).trim().split(/\s+/)[0]??"";t+=i||!Le(c)?s:e.slice(n,o+1),n=o+1}return t}function le(e,t,n,i){let r=1;for(let a=t;a<e.length;a+=1){if(e[a]==="\\"){a+=1;continue}if(e[a]===n)r+=1;else if(e[a]===i&&(r-=1,r===0))return a}return-1}function ke(e){return un(e).replace(cn,(t,n,i)=>Le(i)?t:"")}function d(e,t=H){return typeof e=="string"?ke(e).slice(0,t):""}function dn(e,t=H){return typeof e=="string"?e.slice(0,t):""}function pn(e,t="info"){return typeof e=="string"&&Oe.has(e)?e:t}function fn(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const i of e){if(n.length>=D){t("more than "+D+" blocks; the rest was dropped");break}if(!i||typeof i!="object")continue;const r=i;if(!sn.has(r.type)){t("unknown block type "+String(r.type));continue}const a=typeof r.block_id=="string"?{block_id:r.block_id}:{};switch(r.type){case"heading":{const o=d(r.text);if(!o){t("a heading without text");continue}const s=r.level===2||r.level===3?r.level:1;n.push({...a,type:"heading",level:s,text:o});break}case"paragraph":{const o=d(r.text);if(!o){t("a paragraph without text");continue}n.push({...a,type:"paragraph",text:o});break}case"quote":{const o=d(r.text);if(!o){t("a quote without text");continue}n.push({...a,type:"quote",text:o});break}case"code":{const o=dn(r.text);if(!o){t("a code block without text");continue}const s=typeof r.lang=="string"?{lang:r.lang.slice(0,32)}:{};n.push({...a,type:"code",...s,text:o});break}case"divider":n.push({...a,type:"divider"});break;case"list":{const o=Array.isArray(r.items)?r.items:[],s=[];for(const p of o){if(s.length>=P){t("more than "+P+" list items");break}const f=d(p?.text);if(!f)continue;const u=d(p?.lead,200);s.push(u?{lead:u,text:f}:{text:f})}if(s.length===0){t("a list without usable items");continue}const c=r.style==="numbered"?"numbered":"bulleted";n.push({...a,type:"list",style:c,items:s});break}case"table":{const o=Array.isArray(r.columns)?r.columns:[],s=[];for(const u of o){if(s.length>=U){t("more than "+U+" table columns");break}const E=d(u?.label,I),L=u?.align==="right"?"right":void 0;s.push(L?{label:E,align:L}:{label:E})}if(s.length===0){t("a table without columns");continue}const c=Array.isArray(r.rows)?r.rows:[],p=[];for(const u of c){if(p.length>=$){t("more than "+$+" table rows");break}const E=Array.isArray(u)?u:[];p.push(s.map((L,Rt)=>d(E[Rt],I)))}const f=d(r.caption,I);n.push({...a,type:"table",columns:s,rows:p,...f?{caption:f}:{}});break}case"kpi":{const o=Array.isArray(r.items)?r.items:[],s=[];for(const c of o){if(s.length>=K){t("more than "+K+" kpi items");break}const p=d(c?.value,40),f=d(c?.label,80);if(!p||!f)continue;const u=c?.tone;s.push(typeof u=="string"&&Oe.has(u)?{value:p,label:f,tone:u}:{value:p,label:f})}if(s.length===0){t("a kpi block without usable items");continue}n.push({...a,type:"kpi",items:s});break}case"callout":{const o=d(r.text);if(!o){t("a callout without text");continue}const s=d(r.title,200);n.push({...a,type:"callout",tone:pn(r.tone),...s?{title:s}:{},text:o});break}}}return n}function mn(e){return JSON.stringify(e).length}function gn(e){return{blocks:e.length,types:e.map(t=>t.type),headings:e.flatMap(t=>t.type==="heading"?[t.text]:[])}}function ce(e){return e.replace(/\|/g,"\\|").replace(/\r?\n/g," ").trim()}function ue(e,t,n){const i=e.map((r,a)=>n?.[a]==="right"?"---:":"---");return[`| ${e.map(ce).join(" | ")} |`,`| ${i.join(" | ")} |`,...t.map(r=>`| ${r.map(ce).join(" | ")} |`)]}function hn(e){switch(e.type){case"heading":return[`${"#".repeat(e.level)} ${e.text}`];case"paragraph":return[e.text];case"quote":return e.text.split(/\r?\n/).map(t=>`> ${t}`);case"code":return[`\`\`\`${e.lang??""}`,e.text,"```"];case"divider":return["---"];case"list":return e.items.map((t,n)=>{const i=e.style==="numbered"?`${n+1}.`:"-";return t.lead?`${i} **${t.lead}** ${t.text}`:`${i} ${t.text}`});case"table":{const t=ue(e.columns.map(n=>n.label),e.rows,e.columns.map(n=>n.align??"left"));return e.caption?[...t,"",`*${e.caption}*`]:t}case"kpi":return ue(e.items.map(t=>t.value),[e.items.map(t=>t.label)]);case"callout":return(e.title?`**${e.title}** ${e.text}`:e.text).split(/\r?\n/).map(n=>`> ${n}`)}}function An(e,t){const n=[],i=e.some(r=>r.type==="heading"&&r.level===1);t&&!i&&n.push(`# ${t}`);for(const r of e){const a=hn(r);a.length>0&&n.push(a.join(`
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function Dt(e){return e.type==="EMAIL_RECEIVED"||e.type==="EMAIL_SENT"}function Pt(e){return e.type==="CHAT_MESSAGE_SENT"||e.type==="CHAT_MESSAGE_RECEIVED"}const x=10,S=10,_=10,b=5,$t=new Set(["header","section","context","divider","image","list","actions","attachments"]);function k(e){if(typeof e=="string")return e.length>0;if(!e||typeof e!="object")return!1;const t=e;return typeof t.key=="string"||typeof t.value=="string"}function Ut(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const i of e){if(n.length>=x){t("more than "+x+" blocks; the rest was dropped");break}if(!i||typeof i!="object")continue;const r=i;if(!$t.has(r.type)){t("unknown block type "+String(r.type));continue}switch(r.type){case"header":if(!k(r.text)){t("a header without text");continue}break;case"context":if(!k(r.text)){t("a context block without text");continue}break;case"image":if(!r.url||!r.alt){t("an image without url or alt");continue}break;case"section":Array.isArray(r.fields)&&r.fields.length>S&&(t("more than "+S+" fields in a section"),r.fields=r.fields.slice(0,S));break;case"list":if(!Array.isArray(r.items)||r.items.length===0){t("a list without items");continue}r.items.length>_&&(t("more than "+_+" list items"),r.items=r.items.slice(0,_));break;case"actions":{const a=Array.isArray(r.elements)?r.elements:[],o=a.filter(s=>s&&s.action_id&&s.invoke&&k(s.text));if(o.length!==a.length&&t("an action without action_id, invoke or text"),o.length===0)continue;o.length>b&&t("more than "+b+" actions"),r.elements=o.slice(0,b);break}}n.push(r)}return n}function Te(e){return e.replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function y(e){if(!e||e<0)return"";const t=Math.floor(e/60),n=Math.floor(e%60);return`${t}:${n.toString().padStart(2,"0")}`}function ie(e){return e?` — ${Math.floor(e/60)}m ${e%60}s`:""}function w(e){return e?.split("@")?.[0]||e||""}function T(e){return e.map(t=>t.name).join(", ")}function re(e){return e==="meeting"?"Meeting":e==="video"?"Video call":"Audio call"}const m={VOICE_CALL_STARTED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gesprek gestart",timeline:e=>e.direction==="inbound"?`Inbound call started — ${w(e.payload.from)}`:`Outbound call started — ${w(e.payload.to)}`},VOICE_CALL_ANSWERED:{shape:"event",channelKind:"voice",icon:"phone",connected:!0,snippet:()=>"Gesprek aangenomen",timeline:(e,t)=>`Call answered — ${t}`},VOICE_CALL_HOLD:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"In de wacht",timeline:(e,t)=>`Call on hold — ${t}`},VOICE_CALL_UNHOLD:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Hervat"},VOICE_CALL_ENDED:{shape:"event",channelKind:"voice",icon:"phone",snippet:e=>`Gesprek beëindigd${e.payload.duration?` (${y(e.payload.duration)})`:""}`,timeline:e=>`Call ended${ie(e.payload.duration)}`},VOICE_CALL_MISSED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gemiste oproep",timeline:e=>`Missed call — ${w(e.payload.from)}`},VOICE_CALL_FAILED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gesprek mislukt",timeline:()=>"Call failed"},VOICE_CALL_VOICEMAIL:{shape:"artifact",channelKind:"voice",icon:"phone",snippet:e=>e.payload.transcription?.trim()?e.payload.transcription:"Voicemail ontvangen"},VIDEO_CALL_STARTED:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"Gesprek gestart",timeline:()=>"Video call started"},VIDEO_CALL_ANSWERED:{shape:"event",channelKind:"video",icon:"video",connected:!0,snippet:()=>"Gesprek aangenomen",timeline:()=>"Video call answered"},VIDEO_CALL_HOLD:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"In de wacht"},VIDEO_CALL_UNHOLD:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"Hervat"},VIDEO_CALL_ENDED:{shape:"event",channelKind:"video",icon:"video",snippet:e=>`Gesprek beëindigd${e.payload.duration?` (${y(e.payload.duration)})`:""}`,timeline:()=>"Video call ended"},VIDEO_CALL_MISSED:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"Gemiste oproep",timeline:()=>"Missed video call"},VIDEO_CALL_FAILED:{shape:"event",channelKind:"video",icon:"video",snippet:()=>"Gesprek mislukt",timeline:()=>"Video call failed"},EMAIL_RECEIVED:{shape:"message",triggerable:!0,displayNameKey:"communication:activity.EMAIL_RECEIVED",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"inbound_message",snippet:ae},EMAIL_SENT:{shape:"message",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:ae},CHAT_MESSAGE_SENT:{shape:"message",component:"communication:ChatMessage",channelKind:"chat",icon:"message-circle",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:e=>e.payload.text??""},CHAT_MESSAGE_RECEIVED:{shape:"message",triggerable:!0,displayNameKey:"communication:activity.CHAT_MESSAGE_RECEIVED",component:"communication:ChatMessage",channelKind:"chat",icon:"message-circle",replyable:!0,carriesText:!0,countsAs:"inbound_message",snippet:e=>e.payload.text??""},CHAT_MEMBER_JOINED:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>`${T(e.payload.members)} toegevoegd`,timeline:e=>{const t=T(e.payload.members)||"Someone",n=e.payload.initiator?.name?` · added by ${e.payload.initiator.name}`:"";return`${t} joined the chat${n}`}},CHAT_MEMBER_LEFT:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>`${T(e.payload.members)} verlaten`,timeline:e=>{const t=T(e.payload.members)||"Someone",n=e.payload.initiator?.name?` · removed by ${e.payload.initiator.name}`:"";return`${t} left the chat${n}`}},CHAT_RENAMED:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>`Hernoemd naar "${e.payload.newName}"`,timeline:e=>`Chat renamed to "${e.payload.newName}"${e.payload.initiator?` by ${e.payload.initiator.name}`:""}`},CHAT_CALL_STARTED:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:()=>"Gesprek gestart",timeline:e=>`${re(e.payload.callType)} started${e.payload.initiator?` by ${e.payload.initiator.name}`:""}`,joinUrl:e=>e.payload.joinUrl},CHAT_CALL_ENDED:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>`Gesprek beëindigd${e.payload.duration?` (${y(e.payload.duration)})`:""}`,timeline:e=>`${re(e.payload.callType)} ended${ie(e.payload.duration)}`,joinUrl:e=>e.payload.joinUrl},CHAT_EVENT:{shape:"event",channelKind:"chat",icon:"message-circle",snippet:e=>e.payload.text??e.payload.eventType,timeline:e=>e.payload.text||e.payload.eventType},TRANSCRIPT_ADDED:{shape:"artifact",triggerable:!0,displayNameKey:"communication:activity.TRANSCRIPT_ADDED",component:"communication:TranscriptionActivity",icon:"captions",carriesText:!0,snippet:e=>(e.payload.segments??[]).map(t=>t.text).join(" ")},COMMENT_ADDED:{shape:"note",component:"communication:CommentActivity",icon:"sticky-note",carriesText:!0,snippet:e=>e.payload.text??""},FILE_UPLOADED:{shape:"artifact",component:"communication:FileActivity",icon:"paperclip",snippet:e=>`Bestand: ${e.payload.fileName}`},AI_MESSAGE_ADDED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.AI_MESSAGE_ADDED",icon:"circle",snippet:e=>e.payload.output?.text??e.payload.input?.text??"",timeline:()=>"AI message added"},AI_ACTION_PROPOSED:{shape:"event",component:"communication:ProposedActionCard",icon:"circle",playbookAuthored:!0,snippet:e=>`Voorstel wacht op goedkeuring (${e.payload.actions?.length??0} actie(s))`},PLAYBOOK_STARTED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:e=>`Playbook gestart${e.payload.playbookName?`: ${e.payload.playbookName}`:""}`,timeline:e=>`Playbook gestart${e.payload.playbookName?` — ${e.payload.playbookName}`:""}`},PLAYBOOK_COMPLETED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:()=>"Playbook afgerond",timeline:()=>"Playbook afgerond"},PLAYBOOK_ESCALATED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:()=>"Playbook geëscaleerd naar een mens",timeline:()=>"Playbook geëscaleerd naar een mens"},MEETING_SCHEDULED:{shape:"event",icon:"calendar",snippet:e=>`Vergadering gepland: ${e.payload.title}`,timeline:()=>"Meeting scheduled",joinUrl:e=>e.payload.joinUrl},MEETING_STARTED:{shape:"event",icon:"calendar",connected:!0,snippet:e=>`Vergadering gestart: ${e.payload.title}`,timeline:()=>"Meeting started",joinUrl:e=>e.payload.joinUrl},MEETING_ENDED:{shape:"event",icon:"calendar",snippet:e=>`Vergadering beëindigd${e.payload.duration?` (${y(e.payload.duration)})`:""}`,timeline:()=>"Meeting ended"},MEETING_PARTICIPANT_JOINED:{shape:"event",icon:"calendar",snippet:e=>`${e.payload.name} deelgenomen`,timeline:(e,t)=>`${t} joined the meeting`},MEETING_PARTICIPANT_LEFT:{shape:"event",icon:"calendar",snippet:e=>`${e.payload.name} verlaten`,timeline:(e,t)=>`${t} left the meeting`},INTERACTION_CREATED:{shape:"event",icon:"circle",snippet:()=>"Interactie aangemaakt",timeline:(e,t)=>`Interaction started by ${t}`},INTERACTION_STATUS_CHANGED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.INTERACTION_STATUS_CHANGED",icon:"circle-dot",snippet:e=>`Status: ${e.payload.fromStatus} → ${e.payload.toStatus}`,timeline:(e,t)=>`Status changed to ${e.payload.toStatus} by ${t}`},INTERACTION_ASSIGNED:{shape:"event",icon:"user",snippet:()=>"Interactie toegewezen",timeline:(e,t)=>`Assigned by ${t}`}};function ae(e){const t=e.payload,n=t.bodySnippet?.trim()||Te(t.body??"");return t.subject?`${t.subject} — ${n}`:n}function l(e){return m[e]}function Kt(e){return l(e)?.icon??"circle"}function Bt(e){return l(e)?.channelKind}function H(e){return e==="message"||e==="note"}function Ft(e){return H(l(e)?.shape)}function Gt(e){return l(e)?.replyable===!0}function jt(e){return l(e)?.carriesText===!0}function Vt(e){return l(e)?.countsAs}function Ht(e){return l(e)?.playbookAuthored===!0}function Wt(e){return l(e)?.connected===!0}function Xt(e){const t=l(e);return t?.shape==="artifact"&&t?.carriesText===!0}function Se(e){const t=l(e.type)?.snippet;return t?t(e):""}function zt(e,t){const n=l(e.type)?.timeline;return n?n(e,t):e.type.replace(/_/g," ").toLowerCase()}function Yt(e){const t=l(e.type)?.joinUrl;return t?t(e):void 0}function N(e,t){let n=e;for(const i of t.split(".")){if(n==null||typeof n!="object")return"";n=n[i]}return n==null?"":typeof n=="string"?n:typeof n=="number"||typeof n=="boolean"?String(n):""}function O(e,t,n){if(e===void 0)return null;if(typeof e=="string")return e||null;if("value"in e)return N(t,e.value)||null;const i={};for(const[a,o]of Object.entries(e.params??{}))i[a]=N(t,o);const r=n(e.key,i);return r===e.key?null:r}function _e(e,t){if(!e||typeof e=="string"||"value"in e)return null;const n={};for(const[i,r]of Object.entries(e.params??{}))n[i]=N(t,r);return{key:e.key,params:n}}const qt=e=>e;function oe(e){const t=m[e];return{type:e,shape:t.shape,channelKind:t.channelKind,icon:t.icon,replyable:t.replyable===!0,countsAs:t.countsAs,carriesText:t.carriesText===!0,triggerable:t.triggerable===!0,component:t.component,builtIn:!0,displayNameKey:t.displayNameKey}}function se(e){return{type:e.type,shape:e.shape,channelKind:e.channelKind,icon:e.icon||"circle",replyable:e.replyable===!0,countsAs:e.countsAs,carriesText:e.carriesText===!0,triggerable:e.triggerable===!0,component:e.component,builtIn:!1,displayNameKey:e.displayNameKey}}class be{constructor(t=[],n=qt){this.translate=n;for(const i of t)i?.type&&(i.type in m||this.declared.has(i.type)||this.declared.set(i.type,i))}declared=new Map;get(t){if(t in m)return oe(t);const n=this.declared.get(t);return n?se(n):void 0}triggerable(){const t=Object.keys(m).filter(i=>m[i].triggerable).map(oe),n=[...this.declared.values()].map(se).filter(i=>i.triggerable);return[...t,...n]}timelineText(t,n){const i=m[t.type];if(i?.timeline)return i.timeline(t,n);const r=this.declared.get(t.type);return O(r?.text,t,this.translate)??t.type.replace(/_/g," ").toLowerCase()}snippet(t){const n=m[t.type];if(n?.snippet)return n.snippet(t);const i=this.declared.get(t.type);return O(i?.text,t,this.translate)??""}descriptor(t){return this.declared.get(t)}blocks(t){const n=this.declared.get(t)?.render;return n?.length?n:void 0}isMessage(t){return H(this.get(t)?.shape)}isReplyable(t){return this.get(t)?.replyable===!0}carriesText(t){return this.get(t)?.carriesText===!0}countsAs(t){return this.get(t)?.countsAs}channelKind(t){return this.get(t)?.channelKind}isTranscript(t){const n=this.get(t);return n?.shape==="artifact"&&n.carriesText}get translator(){return this.translate}}const Jt=new be,le=140;function Qt(e){const t=e.trim();return t.length<=le?t:t.slice(0,le-1).trimEnd()+"…"}function Zt(e,t){const n=_e(t?.text,e),i=t?O(t.text,e,r=>r):null;return{activityId:e.id,type:e.type,snippet:Qt(i??Se(e)),authorName:e.author?.name??"",direction:e.direction,createdAt:e.createdAt??Date.now(),...n?{snippetKey:n.key,snippetParams:n.params}:{}}}function en(e,t,n=[]){const i=e.createdAt;if(!i)return[];const r=new Set(n);return e.author.type==="user"&&e.author.id&&r.add(e.author.id),Object.entries(t).filter(([a,o])=>o>=i&&!r.has(a)).map(([a])=>a)}function tn(e){return e.createdAt??0}const nn=[{id:"agent",label:"Agent",labelSource:"user"},{id:"team",label:"Team",labelSource:"team"},{id:"inbox",label:"Inbox",labelSource:"inbox"},{id:"channel",label:"Kanaal",labelSource:"channel"},{id:"provider",label:"Provider",labelSource:"raw"},{id:"status",label:"Status",labelSource:"raw"},{id:"handledBy",label:"Afhandelaar",labelSource:"raw"},{id:"time",label:"Tijd",labelSource:"raw"}];function rn(e){const t=[];for(const n of Object.keys(e))for(const i of Object.keys(e[n]))t.push({lang:n,key:i,value:e[n][i]});return t}function R(e){return e<10?`0${e}`:`${e}`}function Ie(e,t){const n=new Date(e),i=`${n.getUTCFullYear()}-${R(n.getUTCMonth()+1)}-${R(n.getUTCDate())}`;return t==="day"?i:`${i}T${R(n.getUTCHours())}`}function Me(e,t){const n=new Date(e);return n.setUTCMinutes(0,0,0),t==="day"&&n.setUTCHours(0),n.getTime()}const an=36e5,on=864e5;function sn(e,t,n){const i=n==="hour"?an:on,r=[];for(let a=Me(e,n);a<=t;a+=i)r.push(Ie(a,n));return r}const Ce=[{id:"resource",label:"Resource",labelSource:"raw"},{id:"origin",label:"Herkomst",labelSource:"raw"}],Ne=Ce.map(e=>e.id);function Oe(e,t){return`${e}.usage.${t}`}function ln(e,t){return t.map(n=>({id:Oe(e,n.unit),label:n.label,category:"Verbruik",valueType:n.valueType??"count",aggregation:"sum",supportedDimensions:["provider",...Ne,...n.extraDimensions??[],"time"]}))}const ve=new Set(["info","success","warning","destructive"]),D=200,P=100,$=200,U=12,K=4,W=4e3,I=500,cn=256*1024,un=new Set(["heading","paragraph","list","quote","code","divider","table","kpi","callout"]),Le=["http:","https:","mailto:","tel:"],dn=/^[a-z][a-z0-9+.-]*:/i;function ke(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=dn.exec(t)?.[0];return n?Le.includes(n.toLowerCase()):!t.startsWith("//")}const pn=/^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;function fn(e){let t="",n=0;for(;n<e.length;){const i=e[n]==="!"&&e[n+1]==="[";if(e[n]!=="["&&!i){t+=e[n],n+=1;continue}const r=n+(i?2:1),a=ce(e,r,"[","]");if(a<0||e[a+1]!=="("){t+=e[n],n+=1;continue}const o=ce(e,a+2,"(",")");if(o<0){t+=e[n],n+=1;continue}const s=e.slice(r,a),c=e.slice(a+2,o).trim().split(/\s+/)[0]??"";t+=i||!ke(c)?s:e.slice(n,o+1),n=o+1}return t}function ce(e,t,n,i){let r=1;for(let a=t;a<e.length;a+=1){if(e[a]==="\\"){a+=1;continue}if(e[a]===n)r+=1;else if(e[a]===i&&(r-=1,r===0))return a}return-1}function we(e){return fn(e).replace(pn,(t,n,i)=>ke(i)?t:"")}function d(e,t=W){return typeof e=="string"?we(e).slice(0,t):""}function mn(e,t=W){return typeof e=="string"?e.slice(0,t):""}function gn(e,t="info"){return typeof e=="string"&&ve.has(e)?e:t}function hn(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const i of e){if(n.length>=D){t("more than "+D+" blocks; the rest was dropped");break}if(!i||typeof i!="object")continue;const r=i;if(!un.has(r.type)){t("unknown block type "+String(r.type));continue}const a=typeof r.block_id=="string"?{block_id:r.block_id}:{};switch(r.type){case"heading":{const o=d(r.text);if(!o){t("a heading without text");continue}const s=r.level===2||r.level===3?r.level:1;n.push({...a,type:"heading",level:s,text:o});break}case"paragraph":{const o=d(r.text);if(!o){t("a paragraph without text");continue}n.push({...a,type:"paragraph",text:o});break}case"quote":{const o=d(r.text);if(!o){t("a quote without text");continue}n.push({...a,type:"quote",text:o});break}case"code":{const o=mn(r.text);if(!o){t("a code block without text");continue}const s=typeof r.lang=="string"?{lang:r.lang.slice(0,32)}:{};n.push({...a,type:"code",...s,text:o});break}case"divider":n.push({...a,type:"divider"});break;case"list":{const o=Array.isArray(r.items)?r.items:[],s=[];for(const p of o){if(s.length>=P){t("more than "+P+" list items");break}const f=d(p?.text);if(!f)continue;const u=d(p?.lead,200);s.push(u?{lead:u,text:f}:{text:f})}if(s.length===0){t("a list without usable items");continue}const c=r.style==="numbered"?"numbered":"bulleted";n.push({...a,type:"list",style:c,items:s});break}case"table":{const o=Array.isArray(r.columns)?r.columns:[],s=[];for(const u of o){if(s.length>=U){t("more than "+U+" table columns");break}const E=d(u?.label,I),L=u?.align==="right"?"right":void 0;s.push(L?{label:E,align:L}:{label:E})}if(s.length===0){t("a table without columns");continue}const c=Array.isArray(r.rows)?r.rows:[],p=[];for(const u of c){if(p.length>=$){t("more than "+$+" table rows");break}const E=Array.isArray(u)?u:[];p.push(s.map((L,xt)=>d(E[xt],I)))}const f=d(r.caption,I);n.push({...a,type:"table",columns:s,rows:p,...f?{caption:f}:{}});break}case"kpi":{const o=Array.isArray(r.items)?r.items:[],s=[];for(const c of o){if(s.length>=K){t("more than "+K+" kpi items");break}const p=d(c?.value,40),f=d(c?.label,80);if(!p||!f)continue;const u=c?.tone;s.push(typeof u=="string"&&ve.has(u)?{value:p,label:f,tone:u}:{value:p,label:f})}if(s.length===0){t("a kpi block without usable items");continue}n.push({...a,type:"kpi",items:s});break}case"callout":{const o=d(r.text);if(!o){t("a callout without text");continue}const s=d(r.title,200);n.push({...a,type:"callout",tone:gn(r.tone),...s?{title:s}:{},text:o});break}}}return n}function An(e){return JSON.stringify(e).length}function En(e){return{blocks:e.length,types:e.map(t=>t.type),headings:e.flatMap(t=>t.type==="heading"?[t.text]:[])}}function ue(e){return e.replace(/\|/g,"\\|").replace(/\r?\n/g," ").trim()}function de(e,t,n){const i=e.map((r,a)=>n?.[a]==="right"?"---:":"---");return[`| ${e.map(ue).join(" | ")} |`,`| ${i.join(" | ")} |`,...t.map(r=>`| ${r.map(ue).join(" | ")} |`)]}function yn(e){switch(e.type){case"heading":return[`${"#".repeat(e.level)} ${e.text}`];case"paragraph":return[e.text];case"quote":return e.text.split(/\r?\n/).map(t=>`> ${t}`);case"code":return[`\`\`\`${e.lang??""}`,e.text,"```"];case"divider":return["---"];case"list":return e.items.map((t,n)=>{const i=e.style==="numbered"?`${n+1}.`:"-";return t.lead?`${i} **${t.lead}** ${t.text}`:`${i} ${t.text}`});case"table":{const t=de(e.columns.map(n=>n.label),e.rows,e.columns.map(n=>n.align??"left"));return e.caption?[...t,"",`*${e.caption}*`]:t}case"kpi":return de(e.items.map(t=>t.value),[e.items.map(t=>t.label)]);case"callout":return(e.title?`**${e.title}** ${e.text}`:e.text).split(/\r?\n/).map(n=>`> ${n}`)}}function Tn(e,t){const n=[],i=e.some(r=>r.type==="heading"&&r.level===1);t&&!i&&n.push(`# ${t}`);for(const r of e){const a=yn(r);a.length>0&&n.push(a.join(`
|
|
2
2
|
`))}return`${n.join(`
|
|
3
3
|
|
|
4
4
|
`)}
|
|
5
|
-
`}const W=e=>`user:${e}`,X=e=>`team:${e}`;function En(e){const t=new Set;for(const n of e??[])n?.id&&(n.kind==="user"&&t.add(W(n.id)),n.kind==="team"&&t.add(X(n.id)));return[...t].sort()}function yn(e,t){return[W(e),...t.map(X)]}function Tn(e){const t=new Set;for(const n of e??[])n?.kind&&t.add(n.kind);return[...t]}const we=["done","escalated"];function Sn(e){return we.includes(e)}const Re="assignment";function _n(e){return`${Re}:${e}`}function bn(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}const xe=12;function In(e,t,n=xe){const i=t+1;return e?e.kind==="done"?{status:"done",waitingOn:null,turns:i,reason:e.note}:e.kind==="escalate"?{status:"escalated",waitingOn:null,turns:i,reason:e.reason}:i>=n?{status:"escalated",waitingOn:null,turns:i,reason:`na ${n} beurten nog niet afgerond, dus een mens neemt het over`}:{status:"waiting",waitingOn:e.on,turns:i}:{status:"escalated",waitingOn:null,turns:i,reason:"de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"}}const B=["lookup","condition","parallel","for-each"];function F(e){for(const t of e){if(!B.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${B.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const i=F(n);if(i)return i}if(t.type==="for-each"){const n=F(t.body??[]);if(n)return n}}return null}function Mn(e,t){switch(e.kind){case"org":return!0;case"team":return!!t.teamId&&e.teamId===t.teamId;case"personal":return e.userId===t.userId}}function Nn(e,t){return e.filter(n=>n.enabled&&Mn(n.ownerScope,t))}function Cn(e){return(e.startsWith("tool:")?e.slice(5):e).replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}const On=[{name:"text",type:"string"},{name:"subject",type:"string"},{name:"from",type:"string"},{name:"type",type:"string"},{name:"direction",type:"string"},{name:"channelId",type:"string"},{name:"interactionId",type:"string"},{name:"activityId",type:"string"},{name:"authorType",type:"string"},{name:"authorName",type:"string"},{name:"textRaw",type:"string"},{name:"fromStatus",type:"string"},{name:"toStatus",type:"string"},{name:"contactId",type:"string"},{name:"companyId",type:"string"},{name:"assigneeUserId",type:"string"}],vn={topics:[{name:"topicId",type:"string"},{name:"topic",type:"string"},{name:"confidence",type:"number"},{name:"reasoning",type:"string"}],question:[{name:"answer",type:"boolean"},{name:"reasoning",type:"string"}],extract:[]};function De(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Ln(e){if(typeof e!="string")return;const t=e.trim();if(t==="org")return{kind:"org"};const n=t.indexOf(":");if(n<=0)return;const i=t.slice(0,n),r=t.slice(n+1).trim();if(r){if(i==="user")return{kind:"user",userId:r};if(i==="team")return{kind:"team",teamId:r}}}function Pe(e){return De(e)}function $e(e){switch(e.kind){case"personal":return{kind:"user",userId:e.userId};case"team":return{kind:"team",teamId:e.teamId};case"org":return{kind:"org"}}}function kn(e){return e.agentId?{kind:"user",userId:e.agentId}:$e(e.ownerScope)}function wn(e){return Pe(e)}function Rn(e,t){if(!t)return;let n=e;for(const i of t.split(".")){if(n===null||typeof n!="object")return;n=n[i]}return n}function xn(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function Dn(e,t){if(t)return e.targets.find(n=>n.id===t)}function Ue(e){return e?.kind==="assignment"}function Pn(e){const{trigger:t,agentId:n,target:i,activityType:r,assigneeUserId:a,authorUserId:o}=e;return Ue(t)?n?i?i.activityTypes.includes(r)?a?a!==n?"assigned to someone else":o&&o===n?"the agent assigned this to itself, which would restart its own run":null:`no assignee found at ${i.assigneePath}`:`activity type ${r} does not announce an assignment for ${i.id}`:`assignment target kind "${t.targetKind}" is not declared by any installed app`:"this playbook has no agent, so an assignment can never be for it":"trigger is not an assignment trigger"}function Ke(e){return`${e.type}:${e.id}`}const Be="interaction";function Fe(e){return e?.type===Be?e.id:void 0}const Ge=64,je=8e3;function $n(e){const t=typeof e=="number"?e:Number(String(e??"").trim());if(!(!Number.isFinite(t)||t<=0))return Math.min(Math.max(Math.round(t),Ge),je)}const Un={kind:"workflow",steps:[]};function Kn(e){return e?.kind==="workflow"?e.steps:[]}function Bn(e){return e?.kind==="procedure"?e.procedure:void 0}const Ve=["done","escalated","failed","stopped"];function Fn(e){return Ve.includes(e)}function He(e){return e==="waiting"}function Gn(e){return e==="running"||He(e)}function z(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function jn(e){const t=z(e);return t?Ke(t):void 0}function Vn(e){return Fe(z(e))}function Hn(e,t){const n=e.labels??[];return n.find(i=>i.locale===t)?.label??n[0]?.label??e.url}function Wn(e,t,n){const i=e.translations??[];return i.find(r=>r.locale===t)??(n?i.find(r=>r.locale===n):void 0)??{locale:t}}const G=[{code:"nl",label:"Nederlands",english:"Dutch"},{code:"en",label:"English",english:"English"},{code:"de",label:"Deutsch",english:"German"},{code:"fr",label:"Français",english:"French"},{code:"es",label:"Español",english:"Spanish"},{code:"it",label:"Italiano",english:"Italian"},{code:"pt",label:"Português",english:"Portuguese"},{code:"pl",label:"Polski",english:"Polish"},{code:"sv",label:"Svenska",english:"Swedish"},{code:"da",label:"Dansk",english:"Danish"},{code:"nb",label:"Norsk bokmål",english:"Norwegian Bokmål"},{code:"fi",label:"Suomi",english:"Finnish"},{code:"tr",label:"Türkçe",english:"Turkish"}];function We(e){const t=(e??"").toLowerCase();return G.find(n=>n.code===t)??G.find(n=>n.code===t.split("-")[0])}function Xn(e){return We(e)?.label??e}function zn(e){const t=We(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const Y=3;function Xe(e,t){const n=new Set;let i=1,r=t.get(e)?.parentId;for(;r;){if(n.has(r)||(n.add(r),i++,i>Y+1))return 1/0;r=t.get(r)?.parentId}return i}function Yn(e,t,n){if(!e)return!0;if(e===t)return!1;const i=new Map(n.map(o=>[o.id,o]));if(!i.has(e)||t&&ze(e,t,i))return!1;const r=Xe(e,i),a=t?q(t,n):1;return r+a<=Y}function ze(e,t,n){const i=new Set;let r=n.get(e)?.parentId;for(;r;){if(r===t)return!0;if(i.has(r))return!1;i.add(r),r=n.get(r)?.parentId}return!1}function q(e,t,n=new Set){if(n.has(e))return 1;n.add(e);const i=t.filter(r=>r.parentId===e);return i.length?1+Math.max(...i.map(r=>q(r.id,t,n))):1}const Ye="en";function qe(e){return e.defaultLocale||e.locale||Ye}function qn(e){const t=new Set,n=[];for(const i of[qe(e),...e.locales??[]])!i||t.has(i)||(t.add(i),n.push(i));return n}function Jn(e,t,n){const i=e.translations??[];return i.find(r=>r.locale===t)?.name??(n?i.find(r=>r.locale===n)?.name:void 0)??e.name}const Je=20,Qe=20,M=300;function g(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function Ze(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=M)return t;const n=t.slice(0,M),i=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return i>M*.6?n.slice(0,i+1):`${n.trimEnd()}…`}function Qn(e,t){const n=Ze(t.text),i=g(n);if(!i||(e.examples??[]).some(o=>g(o)===i))return null;const r=e.exampleCandidates??[],a=r.findIndex(o=>g(o.text)===i);if(a>=0){if(r[a].corrected||!t.corrected)return null;const o=[...r];return o[a]={...o[a],corrected:!0,addedAt:t.addedAt},de(o)}return de([{...t,text:n},...r]).slice(0,Qe)}function de(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function Zn(e,t){const n=g(t),i=(e.examples??[]).filter(a=>a.trim());return{examples:i.some(a=>g(a)===n)?i:[...i,t].slice(-Je),exampleCandidates:et(e,t)}}function et(e,t){const n=g(t);return(e.exampleCandidates??[]).filter(i=>g(i.text)!==n)}function tt(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function ei(e,t){return e.filter(n=>tt(n,t))}const J=[{id:"openai",attachmentKinds:["image","pdf"],label:"OpenAI",capabilities:["chat","transcription","embedding"],defaultModel:"gpt-5-mini",baseUrl:"https://api.openai.com/v1"},{id:"gemini",attachmentKinds:["image","pdf"],label:"Google Gemini",capabilities:["chat","transcription","embedding"],defaultModel:"gemini-3.5-flash",baseUrl:"https://generativelanguage.googleapis.com/v1beta"},{id:"anthropic",attachmentKinds:["image","pdf"],label:"Anthropic",capabilities:["chat"],defaultModel:"claude-haiku-4-5",baseUrl:"https://api.anthropic.com/v1"},{id:"elevenlabs",label:"ElevenLabs",capabilities:["transcription"],baseUrl:"https://api.elevenlabs.io/v1"},{id:"moonshot",label:"Moonshot (Kimi)",capabilities:["chat"],defaultModel:"kimi-k3",baseUrl:"https://api.moonshot.ai/v1"},{id:"deepseek",label:"DeepSeek",capabilities:["chat"],defaultModel:"deepseek-v4-flash",baseUrl:"https://api.deepseek.com/v1"},{id:"groq",label:"Groq",capabilities:["chat"],defaultModel:"openai/gpt-oss-120b",baseUrl:"https://api.groq.com/openai/v1"},{id:"mistral",label:"Mistral",capabilities:["chat"],defaultModel:"mistral-large-latest",baseUrl:"https://api.mistral.ai/v1"},{id:"openrouter",label:"OpenRouter",capabilities:["chat"],defaultModel:"openrouter/auto",baseUrl:"https://openrouter.ai/api/v1"},{id:"ollama",label:"Ollama (self-hosted)",capabilities:["chat"],defaultModel:"llama3.3"},{id:"openai-compatible",label:"OpenAI-compatible (eigen endpoint)",capabilities:["chat"],defaultModel:"default"}];function A(e){return J.find(t=>t.id===e)}function ti(e){return A(e)?.label??e}function ni(e,t="gpt-5-mini"){return A(e)?.defaultModel??t}function ii(e){return J.filter(t=>t.capabilities.includes(e))}function ri(e){const t=A(e);return!!t&&!t.baseUrl}function ai(e,t){return t==="text"?!0:A(e)?.attachmentKinds?.includes(t)===!0}function oi(e,t){if(!e.enabled)return"ok";const n=j(e.hardLimitNanos),i=j(e.softLimitNanos);return n!==void 0&&t>=n?"hard":i!==void 0&&t>=i?"soft":"ok"}function j(e){return typeof e=="number"?e:void 0}function nt(e,t="month"){const n=new Date(e);return Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)}function si(e,t="month"){const n=new Date(nt(e,t));return`${n.getUTCFullYear()}-${String(n.getUTCMonth()+1).padStart(2,"0")}`}function li(e){return e?.listeningEnabled!==!1}const ci=new Set(["mail","message"]);function it(e,t){const n=e.settings?.signatures?.[t];return!n||!n.enabled||!n.body||n.body.trim()===""?null:n}function ui(e,t,n,i="html"){if(!e)return n;const r=it(e,t);return r?`${n}${i==="text"?`
|
|
5
|
+
`}const X=e=>`user:${e}`,z=e=>`team:${e}`;function Sn(e){const t=new Set;for(const n of e??[])n?.id&&(n.kind==="user"&&t.add(X(n.id)),n.kind==="team"&&t.add(z(n.id)));return[...t].sort()}function _n(e,t){return[X(e),...t.map(z)]}function bn(e){const t=new Set;for(const n of e??[])n?.kind&&t.add(n.kind);return[...t]}const Re=["done","escalated"];function In(e){return Re.includes(e)}const xe="assignment";function Mn(e){return`${xe}:${e}`}function Cn(e,t){if(e.direction==="inbound")return!0;if(e.author?.type==="user"&&e.author.id===t)return!1;const n=e.payload?.mentions;return Array.isArray(n)&&n.includes(t)}function Nn(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}const De=12;function On(e,t,n=De){const i=t+1;return e?e.kind==="done"?{status:"done",waitingOn:null,turns:i,reason:e.note}:e.kind==="escalate"?{status:"escalated",waitingOn:null,turns:i,reason:e.reason}:i>=n?{status:"escalated",waitingOn:null,turns:i,reason:`na ${n} beurten nog niet afgerond, dus een mens neemt het over`}:{status:"waiting",waitingOn:e.on,turns:i}:{status:"escalated",waitingOn:null,turns:i,reason:"de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"}}const B=["lookup","condition","parallel","for-each"];function F(e){for(const t of e){if(!B.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${B.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const i=F(n);if(i)return i}if(t.type==="for-each"){const n=F(t.body??[]);if(n)return n}}return null}function vn(e,t){switch(e.kind){case"org":return!0;case"team":return!!t.teamId&&e.teamId===t.teamId;case"personal":return e.userId===t.userId}}function Ln(e,t){return e.filter(n=>n.enabled&&vn(n.ownerScope,t))}function kn(e){return(e.startsWith("tool:")?e.slice(5):e).replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}const wn=[{name:"text",type:"string"},{name:"subject",type:"string"},{name:"from",type:"string"},{name:"type",type:"string"},{name:"direction",type:"string"},{name:"channelId",type:"string"},{name:"interactionId",type:"string"},{name:"activityId",type:"string"},{name:"authorType",type:"string"},{name:"authorName",type:"string"},{name:"textRaw",type:"string"},{name:"fromStatus",type:"string"},{name:"toStatus",type:"string"},{name:"contactId",type:"string"},{name:"companyId",type:"string"},{name:"assigneeUserId",type:"string"}],Rn={topics:[{name:"topicId",type:"string"},{name:"topic",type:"string"},{name:"confidence",type:"number"},{name:"reasoning",type:"string"}],question:[{name:"answer",type:"boolean"},{name:"reasoning",type:"string"}],extract:[]};function Pe(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function xn(e){if(typeof e!="string")return;const t=e.trim();if(t==="org")return{kind:"org"};const n=t.indexOf(":");if(n<=0)return;const i=t.slice(0,n),r=t.slice(n+1).trim();if(r){if(i==="user")return{kind:"user",userId:r};if(i==="team")return{kind:"team",teamId:r}}}function $e(e){return Pe(e)}function Ue(e){switch(e.kind){case"personal":return{kind:"user",userId:e.userId};case"team":return{kind:"team",teamId:e.teamId};case"org":return{kind:"org"}}}function Dn(e){return e.agentId?{kind:"user",userId:e.agentId}:Ue(e.ownerScope)}function Pn(e){return $e(e)}function $n(e,t){if(!t)return;let n=e;for(const i of t.split(".")){if(n===null||typeof n!="object")return;n=n[i]}return n}function Un(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function Kn(e,t){if(t)return e.targets.find(n=>n.id===t)}function Ke(e){return e?.kind==="assignment"}function Bn(e){const{trigger:t,agentId:n,target:i,activityType:r,assigneeUserId:a,authorUserId:o}=e;return Ke(t)?n?i?i.activityTypes.includes(r)?a?a!==n?"assigned to someone else":o&&o===n?"the agent assigned this to itself, which would restart its own run":null:`no assignee found at ${i.assigneePath}`:`activity type ${r} does not announce an assignment for ${i.id}`:`assignment target kind "${t.targetKind}" is not declared by any installed app`:"this playbook has no agent, so an assignment can never be for it":"trigger is not an assignment trigger"}function Be(e){return`${e.type}:${e.id}`}const Fe="interaction";function Ge(e){return e?.type===Fe?e.id:void 0}const je=64,Ve=8e3;function Fn(e){const t=typeof e=="number"?e:Number(String(e??"").trim());if(!(!Number.isFinite(t)||t<=0))return Math.min(Math.max(Math.round(t),je),Ve)}const Gn={kind:"workflow",steps:[]};function jn(e){return e?.kind==="workflow"?e.steps:[]}function Vn(e){return e?.kind==="procedure"?e.procedure:void 0}const He=["done","escalated","failed","stopped"];function Hn(e){return He.includes(e)}function We(e){return e==="waiting"}function Wn(e){return e==="running"||We(e)}function Y(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function Xn(e){const t=Y(e);return t?Be(t):void 0}function zn(e){return Ge(Y(e))}function Yn(e,t){const n=e.labels??[];return n.find(i=>i.locale===t)?.label??n[0]?.label??e.url}function qn(e,t,n){const i=e.translations??[];return i.find(r=>r.locale===t)??(n?i.find(r=>r.locale===n):void 0)??{locale:t}}const G=[{code:"nl",label:"Nederlands",english:"Dutch"},{code:"en",label:"English",english:"English"},{code:"de",label:"Deutsch",english:"German"},{code:"fr",label:"Français",english:"French"},{code:"es",label:"Español",english:"Spanish"},{code:"it",label:"Italiano",english:"Italian"},{code:"pt",label:"Português",english:"Portuguese"},{code:"pl",label:"Polski",english:"Polish"},{code:"sv",label:"Svenska",english:"Swedish"},{code:"da",label:"Dansk",english:"Danish"},{code:"nb",label:"Norsk bokmål",english:"Norwegian Bokmål"},{code:"fi",label:"Suomi",english:"Finnish"},{code:"tr",label:"Türkçe",english:"Turkish"}];function Xe(e){const t=(e??"").toLowerCase();return G.find(n=>n.code===t)??G.find(n=>n.code===t.split("-")[0])}function Jn(e){return Xe(e)?.label??e}function Qn(e){const t=Xe(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const q=3;function ze(e,t){const n=new Set;let i=1,r=t.get(e)?.parentId;for(;r;){if(n.has(r)||(n.add(r),i++,i>q+1))return 1/0;r=t.get(r)?.parentId}return i}function Zn(e,t,n){if(!e)return!0;if(e===t)return!1;const i=new Map(n.map(o=>[o.id,o]));if(!i.has(e)||t&&Ye(e,t,i))return!1;const r=ze(e,i),a=t?J(t,n):1;return r+a<=q}function Ye(e,t,n){const i=new Set;let r=n.get(e)?.parentId;for(;r;){if(r===t)return!0;if(i.has(r))return!1;i.add(r),r=n.get(r)?.parentId}return!1}function J(e,t,n=new Set){if(n.has(e))return 1;n.add(e);const i=t.filter(r=>r.parentId===e);return i.length?1+Math.max(...i.map(r=>J(r.id,t,n))):1}const qe="en";function Je(e){return e.defaultLocale||e.locale||qe}function ei(e){const t=new Set,n=[];for(const i of[Je(e),...e.locales??[]])!i||t.has(i)||(t.add(i),n.push(i));return n}function ti(e,t,n){const i=e.translations??[];return i.find(r=>r.locale===t)?.name??(n?i.find(r=>r.locale===n)?.name:void 0)??e.name}const Qe=20,Ze=20,M=300;function g(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function et(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=M)return t;const n=t.slice(0,M),i=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return i>M*.6?n.slice(0,i+1):`${n.trimEnd()}…`}function ni(e,t){const n=et(t.text),i=g(n);if(!i||(e.examples??[]).some(o=>g(o)===i))return null;const r=e.exampleCandidates??[],a=r.findIndex(o=>g(o.text)===i);if(a>=0){if(r[a].corrected||!t.corrected)return null;const o=[...r];return o[a]={...o[a],corrected:!0,addedAt:t.addedAt},pe(o)}return pe([{...t,text:n},...r]).slice(0,Ze)}function pe(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function ii(e,t){const n=g(t),i=(e.examples??[]).filter(a=>a.trim());return{examples:i.some(a=>g(a)===n)?i:[...i,t].slice(-Qe),exampleCandidates:tt(e,t)}}function tt(e,t){const n=g(t);return(e.exampleCandidates??[]).filter(i=>g(i.text)!==n)}function nt(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function ri(e,t){return e.filter(n=>nt(n,t))}const Q=[{id:"openai",attachmentKinds:["image","pdf"],label:"OpenAI",capabilities:["chat","transcription","embedding"],defaultModel:"gpt-5-mini",baseUrl:"https://api.openai.com/v1"},{id:"gemini",attachmentKinds:["image","pdf"],label:"Google Gemini",capabilities:["chat","transcription","embedding"],defaultModel:"gemini-3.5-flash",baseUrl:"https://generativelanguage.googleapis.com/v1beta"},{id:"anthropic",attachmentKinds:["image","pdf"],label:"Anthropic",capabilities:["chat"],defaultModel:"claude-haiku-4-5",baseUrl:"https://api.anthropic.com/v1"},{id:"elevenlabs",label:"ElevenLabs",capabilities:["transcription"],baseUrl:"https://api.elevenlabs.io/v1"},{id:"moonshot",label:"Moonshot (Kimi)",capabilities:["chat"],defaultModel:"kimi-k3",baseUrl:"https://api.moonshot.ai/v1"},{id:"deepseek",label:"DeepSeek",capabilities:["chat"],defaultModel:"deepseek-v4-flash",baseUrl:"https://api.deepseek.com/v1"},{id:"groq",label:"Groq",capabilities:["chat"],defaultModel:"openai/gpt-oss-120b",baseUrl:"https://api.groq.com/openai/v1"},{id:"mistral",label:"Mistral",capabilities:["chat"],defaultModel:"mistral-large-latest",baseUrl:"https://api.mistral.ai/v1"},{id:"openrouter",label:"OpenRouter",capabilities:["chat"],defaultModel:"openrouter/auto",baseUrl:"https://openrouter.ai/api/v1"},{id:"ollama",label:"Ollama (self-hosted)",capabilities:["chat"],defaultModel:"llama3.3"},{id:"openai-compatible",label:"OpenAI-compatible (eigen endpoint)",capabilities:["chat"],defaultModel:"default"}];function A(e){return Q.find(t=>t.id===e)}function ai(e){return A(e)?.label??e}function oi(e,t="gpt-5-mini"){return A(e)?.defaultModel??t}function si(e){return Q.filter(t=>t.capabilities.includes(e))}function li(e){const t=A(e);return!!t&&!t.baseUrl}function ci(e,t){return t==="text"?!0:A(e)?.attachmentKinds?.includes(t)===!0}function ui(e,t){if(!e.enabled)return"ok";const n=j(e.hardLimitNanos),i=j(e.softLimitNanos);return n!==void 0&&t>=n?"hard":i!==void 0&&t>=i?"soft":"ok"}function j(e){return typeof e=="number"?e:void 0}function it(e,t="month"){const n=new Date(e);return Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)}function di(e,t="month"){const n=new Date(it(e,t));return`${n.getUTCFullYear()}-${String(n.getUTCMonth()+1).padStart(2,"0")}`}function pi(e){return e?.listeningEnabled!==!1}const fi=new Set(["mail","message"]);function rt(e,t){const n=e.settings?.signatures?.[t];return!n||!n.enabled||!n.body||n.body.trim()===""?null:n}function mi(e,t,n,i="html"){if(!e)return n;const r=rt(e,t);return r?`${n}${i==="text"?`
|
|
6
6
|
|
|
7
|
-
`:t==="mail"?"<br><br>-- <br>":"<br><br>"}${r.body}`:n}function
|
|
7
|
+
`:t==="mail"?"<br><br>-- <br>":"<br><br>"}${r.body}`:n}function gi(e){return e.endpoints??[]}const hi=e=>!!e.assignedUserId||!!e.assignedInboxId,Ai=e=>e.status==="closed",Ei=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,yi=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`;function Ti(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const Si=1e3,_i=2e3,bi=500,Ii=12e3,Mi=4e3,at=["contact","company"];function Ci(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return at.includes(t)}function Ni(e){return e.type==="agent"}const v={NL:{callingCode:"31",trunkPrefix:"0",nsnMin:7,nsnMax:9},BE:{callingCode:"32",trunkPrefix:"0",nsnMin:8,nsnMax:9},LU:{callingCode:"352",nsnMin:6,nsnMax:9},DE:{callingCode:"49",trunkPrefix:"0",nsnMin:6,nsnMax:13},FR:{callingCode:"33",trunkPrefix:"0",nsnMin:9,nsnMax:9},GB:{callingCode:"44",trunkPrefix:"0",nsnMin:9,nsnMax:10},IE:{callingCode:"353",trunkPrefix:"0",nsnMin:7,nsnMax:9},ES:{callingCode:"34",nsnMin:9,nsnMax:9},PT:{callingCode:"351",nsnMin:9,nsnMax:9},IT:{callingCode:"39",nsnMin:6,nsnMax:11},AT:{callingCode:"43",trunkPrefix:"0",nsnMin:7,nsnMax:13},CH:{callingCode:"41",trunkPrefix:"0",nsnMin:9,nsnMax:9},DK:{callingCode:"45",nsnMin:8,nsnMax:8},SE:{callingCode:"46",trunkPrefix:"0",nsnMin:7,nsnMax:13},NO:{callingCode:"47",nsnMin:8,nsnMax:8},FI:{callingCode:"358",trunkPrefix:"0",nsnMin:5,nsnMax:12},PL:{callingCode:"48",nsnMin:9,nsnMax:9},US:{callingCode:"1",nsnMin:10,nsnMax:10},CA:{callingCode:"1",nsnMin:10,nsnMax:10}},ot="NL",Oi=15,vi=8,Li=Array.from(new Set(Object.values(v).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function fe(e){if(e)return v[e.trim().toUpperCase()]}function C(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function me(e){if(e.length>Oi)return null;for(const t of Li){if(!e.startsWith(t))continue;const n=e.slice(t.length);for(const i of Object.values(v)){if(i.callingCode!==t)continue;const r=i.trunkPrefix,a=r&&n.startsWith(r)?n.slice(r.length):n;if(C(a,i))return`+${t}${a}`}return null}return e.length<vi?null:`+${e}`}function ki(e){let t=e.trim();const n=t.match(/^(sips?|tel|whatsapp):/i);n&&(t=t.slice(n[0].length));const i=t.indexOf("@");return i>=0&&(t=t.slice(0,i)),t.trim()}function wi(e){if(!e)return!1;const t=e.indexOf("@");if(t<=0)return!1;const n=e.slice(0,t).trim();return!/^[+\d\s().-]+$/.test(n)}function V(e,t){if(!e)return null;const n=ki(e);if(!n)return null;const i=n.startsWith("+"),r=n.replace(/\D/g,"");if(!r)return null;if(i)return me(r);if(r.startsWith("00"))return me(r.slice(2));const a=fe(t)??fe(ot);if(!a)return null;const o=a.trunkPrefix;if(o&&r.startsWith(o)){const s=r.slice(o.length);return C(s,a)?`+${a.callingCode}${s}`:null}if(r.startsWith(a.callingCode)){const s=r.slice(a.callingCode.length);if(C(s,a))return`+${a.callingCode}${s}`}return!o&&C(r,a)?`+${a.callingCode}${r}`:null}function Ri(e,t=9){const n=(e??"").replace(/\D/g,"");return n.length<t?null:n.slice(-t)}function Z(e){if(!e)return null;const t=e.trim().toLowerCase(),n=t.lastIndexOf("@");if(n<=0||n===t.length-1)return null;const i=t.slice(0,n).split("+")[0],r=t.slice(n+1);return!i||!r.includes(".")?null:`${i}@${r}`}function xi(e){const t=Z(e);return t?t.slice(t.lastIndexOf("@")+1):null}const Di=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function st(e){if(!e)return null;const t=e.trim().toLowerCase().replace(/\.$/,"").split(".").filter(Boolean);if(t.length<2)return null;const n=t.slice(-2).join(".");return Di.has(n)&&t.length>=3?t.slice(-3).join("."):n}const lt=new Set(["gmail.com","googlemail.com","outlook.com","hotmail.com","hotmail.nl","hotmail.be","hotmail.co.uk","live.com","live.nl","live.be","msn.com","yahoo.com","yahoo.co.uk","ymail.com","icloud.com","me.com","mac.com","aol.com","gmx.net","gmx.de","web.de","protonmail.com","proton.me","pm.me","tutanota.com","zoho.com","mail.com","ziggo.nl","kpnmail.nl","planet.nl","home.nl","casema.nl","chello.nl","xs4all.nl","telfort.nl","hetnet.nl","zonnet.nl","upcmail.nl","quicknet.nl","telenet.be","skynet.be","proximus.be","scarlet.be"]);function Pi(e){const t=st(e);return t?lt.has(t):!1}function $i(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function Ui(e,t,n){if(!e||!t)return null;const i=e.trim().toLowerCase();if(i==="tel"||i==="sms"||i==="whatsapp"){const a=V(t,n);return a?`tel:${a}`:null}if(i==="fax"){const a=V(t,n);return a?`fax:${a}`:null}if(i==="mailto"||i==="email"){const a=Z(t);return a?`mailto:${a}`:null}const r=t.trim().toLowerCase();return r?`${i}:${r}`:null}const Ki=/(\*\*|__)(?=\S)([\s\S]*?\S)\1/g,Bi=/(\*|_)(?=\S)([^*_\n]*?\S)\1/g;function Fi(e){if(typeof e!="string"||!e)return"";let t=e;return t=t.replace(/```[a-z]*\n?/gi,"").replace(/~~~[a-z]*\n?/gi,""),t=t.replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1"),t=t.replace(/\[([^\]]*)\]\([^)]*\)/g,"$1"),t=t.replace(/\[([^\]]*)\]\[[^\]]*\]/g,"$1"),t=t.replace(/<((?:https?|mailto):[^>\s]+)>/gi,"$1"),t=t.split(`
|
|
8
8
|
`).map(n=>n.replace(/^\s{0,3}#{1,6}\s+/,"").replace(/^\s{0,3}>\s?/,"").replace(/^\s*[-*+]\s+/,"").replace(/^\s*\d+[.)]\s+/,"").replace(/^\s*(?:[-*_]\s*){3,}$/,"")).join(`
|
|
9
|
-
`),t=t.replace(
|
|
10
|
-
`);for(let n=0;n<t.length;n++)if(
|
|
11
|
-
`).trim();return e}function
|
|
9
|
+
`),t=t.replace(Ki,"$2"),t=t.replace(Bi,"$2"),t=t.replace(/~~(?=\S)([\s\S]*?\S)~~/g,"$1"),t=t.replace(/`([^`\n]+)`/g,"$1"),t.replace(/\s+/g," ").trim()}const Gi=[/<blockquote/i,/class="?gmail_quote/i,/id="?[^"]*divRplyFwdMsg/i,/id="?[^"]*mail-editor-reference-message-container/i,/-{3,}\s*Original Message\s*-{3,}/i,/\n_{5,}\s*\n/,/\bOn\b[\s\S]{0,200}?\bwrote:/i],ge=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,ji=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function Vi(e){const t=e.split(`
|
|
10
|
+
`);for(let n=0;n<t.length;n++)if(ji.test(t[n])||ge.test(t[n])&&t.slice(n+1,n+4).some(i=>ge.test(i)))return t.slice(0,n).join(`
|
|
11
|
+
`).trim();return e}function he(e){let t=e;return t=t.replace(/<(script|style)[\s\S]*?<\/\1>/gi,""),t=t.replace(/<br\s*\/?>/gi,`
|
|
12
12
|
`),t=t.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi,`
|
|
13
13
|
|
|
14
14
|
`),t=t.replace(/<\/(div|li|tr)>/gi,`
|
|
15
|
-
`),t=t.replace(/<\/(td|th)>/gi," "),t=t.replace(/<[^>]+>/g,""),t=t.replace(/<[^>]*$/,""),t}function
|
|
15
|
+
`),t=t.replace(/<\/(td|th)>/gi," "),t=t.replace(/<[^>]+>/g,""),t=t.replace(/<[^>]*$/,""),t}function Ae(e){return!Number.isInteger(e)||e<0||e>1114111?null:String.fromCodePoint(e)}function Ee(e){return e.replace(/ /gi," ").replace(/</gi,"<").replace(/>/gi,">").replace(/"/gi,'"').replace(/&#(\d+);/g,(t,n)=>Ae(Number(n))??t).replace(/&#x([0-9a-f]+);/gi,(t,n)=>Ae(parseInt(n,16))??t).replace(/&/gi,"&")}function ye(e){return e.replace(/\r/g,"").replace(/[ \t]+/g," ").replace(/ *\n */g,`
|
|
16
16
|
`).replace(/\n{3,}/g,`
|
|
17
17
|
|
|
18
|
-
`).trim()}function Fi(e){if(typeof e!="string"||!e)return"";let t=e.length;for(const a of Ui){const o=e.search(a);o>=0&&o<t&&(t=o)}const n=e.slice(0,t);let i=Ee(Ae(ge(n)));return i||(i=Ee(Ae(ge(e)))),Bi(i)||i}const Gi=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,ji=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function Vi(e,t){return!!(e&&Gi.test(e)||t&&ji.test(t))}const lt=3,ct=600;function Hi(e,t){return e>=lt||t>=ct}const Wi=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),Xi=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function ut(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?Wi.has(t)?"image":t==="application/pdf"?"pdf":Xi.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const h=1024*1024,dt={image:5*h,pdf:20*h,text:1*h,audio:20*h},zi=25*h,Yi=5;function qi(e,t){const n=ut(e);return n==="unsupported"?"unsupported":t>dt[n]?"too-large":null}function pt(e){return`${e.kind}:${e.id||e.url||e.title}`}function Ji(e,t=[]){const n=new Set(t),i=[],r=[];for(const a of e){const o=pt(a);n.has(o)||(n.add(o),i.push(a),r.push(o))}return{sources:i,keys:r}}function ft(e,t){const n=new Set(e.disabledIntents??[]),i=e.intentOverrides??{},r=t.intents.filter(o=>!n.has(o.intent)).map(o=>Zi(o,i[o.intent]));if(!e.extraIntents||e.extraIntents.length===0)return r;const a=new Set(r.map(o=>o.intent));for(const o of e.extraIntents)a.has(o.intent)||(r.push(o),a.add(o.intent));return r}function mt(e,t){const n={};for(const i of e.intents){if(!i.togglable)continue;const r=t?.[i.intent];n[i.intent]=r??i.defaultEnabled??!0}return n}function Qi(e,t){const n=mt(e,t);return Object.entries(n).filter(([,i])=>!i).map(([i])=>i)}function Zi(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function er(e,t){const n=[];for(const i of e){if(!i.enabled)continue;const r=t[i.providerId];if(r)for(const a of ft(i,r))n.push({channel:i,description:r,capability:a})}return n}function tr(e,t){return t.filter(n=>n.capability.intent===e)}function gt(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function nr(e,t){return gt(e.scheme,t)}function ir(e,t,n){const i=[];for(const r of e)for(const a of n)a.capability.intent===t&&a.capability.targetSchemes.includes(r.scheme)&&i.push({channelIntent:a,endpoint:r});return i}var ht=(e=>(e.MAILTO="mailto",e.SIP="sip",e.TEL="tel",e.WEBHOOK="webhook",e.USERNAME="username",e.ID="id",e.CUSTOM="custom",e.URL="url",e.TELEGRAM="telegram",e.WHATSAPP="whatsapp",e.MESSENGER="messenger",e.INSTAGRAM="instagram",e.VIBER="viber",e.SMS="sms",e.FAX="fax",e.TEAMS="teams",e.CALENDAR="calendar",e))(ht||{});const rr={mailto:"mail",sip:"tel",tel:"tel",fax:"tel",sms:"chat",teams:"chat",telegram:"chat",messenger:"chat",instagram:"chat",viber:"chat",whatsapp:"wa",webhook:"note",url:"note",calendar:"note",username:"note",id:"note",custom:"note"};function ar(e){return e?rr[e]??"note":"note"}const or="message_window",sr="message_templates",lr={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},cr=(e,t)=>({intent:e,...t}),ur="folder_management",dr="remote_search",pr={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},Z="auth";function ee(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function fr(e){const t=ee(e);return t?t!==Z:typeof e=="string"&&e.startsWith("/wake")}function mr(e){return typeof e!="string"||e===""||e==="/"?!0:ee(e)===Z}function gr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function At(e){const n=e.split("/").filter(Boolean).map(i=>i.startsWith(":")?i.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":"/"+gr(i)).join("");return new RegExp(`^${n}\\/?$`)}function Et(e,t){const n=e.split("/").filter(Boolean),i=t.split("/").filter(Boolean),r={};return n.forEach((a,o)=>{if(a.startsWith(":")){const s=a.endsWith("?")?a.slice(1,-1):a.slice(1),c=i[o];c&&(r[s]=c)}}),r}function yt(e){return e.publicBasePath??`/apps/${e.name}`}function hr(e){const t=[];for(const n of e){if(!n?.name)continue;const i=yt(n);for(const r of n.routes??[]){if(!r.public)continue;const a=r.path==="/"?"":r.path;t.push({appName:n.name,resource:r.resource,pattern:`${i}${a}`,props:r.props})}}return t}function Tt(e,t){const n=e.split("/").filter(Boolean),i=t.split("/").filter(Boolean);for(let r=0;r<Math.min(n.length,i.length);r++){const a=n[r].startsWith(":"),o=i[r].startsWith(":");if(a!==o)return o}return n.length>i.length}function St(e,t){if(typeof e!="string")return null;let n=null;for(const i of t)At(i.pattern).test(e)&&(!n||Tt(i.pattern,n.pattern))&&(n=i);return n?{...n,params:{...n.props,...Et(n.pattern,e)}}:null}function Ar(e,t){return St(e,t)!==null}const Er={afrikaans:["[Muziek]","(C) TV GELDERLAND 2021","*Thomp thomp thomp*","www.youtube.com","ä n wood s","!.."],english:["[applause]","[APPLAUSE]","(claps)","(clapping)","(audience applauds)","(keyboard clicking)","(keyboard clacking)","(clicking)","[CLICK]","[BLANK_AUDIO]","(upbeat music)","(dramatic music)","[music playing]","(electronic music)","(audience cheering)","(audience cheers)","[MUSIC]","( ( ( ( ) ( ) ( ) ( )","(laughs)","(air whooshing)","<u>Transcribed</u> by https://otter.ai","All new tonight at 6... coming up. A new look at your forecast is A new look at your forecast is","www.mooji.org","KATHRYN A new forecast is coming up... A new forecast is coming up...","KATHRYN pandemic started. increasing since the The pandemic has been","A new look at your forecast this morning... A new look at your","We'll be right back.","We'll see you next week.","Thanks for watching!","❤️ Translated by Amara.org Communit"],flemish:["*clap*","TV GELDERLAND 2020","TV Gelderland 2021","(C) TV GELDERLAND 2021","[Muziek]","Kuman","Ondertitels ingediend door de Amara.org gemeenschap","Ondertiteld door de Amara.org gemeenschap","Dank u wel voor het kijken.","Ondertiteling door de Amara.org gemeenschap","GELUID VAN MAHIH U similarly"],french:["(applaudissements)","[Applaudissements]","Sous-titres réalisés par la communauté d'Amara.org","- Bonne journée. - Bonjour.","POP POP הי","Merci d'avoir regardé cette vidéo.","Merci d'avoir regardé cette vidéo!","Merci d'avoir regardé la vidéo.","J'espère que vous avez apprécié la vidéo.","Je vous remercie de vous abonner","Merci d'avoir regardé!","❤️ par SousTitreur.com","— Sous-titrage ST'501 —","Thanks for watching!","Sous-titres réalisés par l'Amara.org","Sous-titres réalisés para la communauté d'Amara.org","Sous-titres réalisés par la communauté d'Amara.org","Sous-titres fait par Sous-titres par Amara.org","Sous-titres réalisés par les SousTitres d'Amara.org","Sous-titres par Amara.org","Sous-titres par la communauté d'Amara.org","Sous-titres réalisés pour la communauté d'Amara.org","Sous-titres réalisés par la communauté de l'Amara.org","Sous-Titres faits par la communauté d'Amara.org","Sous-titres par l'Amara.org","Sous-titres fait par la communauté d'Amara.org","Sous-titrage ST' 501","Sous-titrage ST'501","Cliquez-vous sur les sous-titres et abonnez-vous à la chaîne d'Amara.org","❤️ par SousTitreur.com"],german:["[Klicken]","(Jubel)","*lacht*","[Anhaltender Beifall]","[Applaus]","(Applaus)","* Applaus *","[MUSIK]","* mustard ml Drumglöck und knack in einem Handbewerb *","Untertitelung aufgrund der Amara.org-Community","Untertitel im Auftrag des ZDF für funk, 2017","Untertitel von Stephanie Geiges","Untertitel der Amara.org-Community","Untertitel im Auftrag des ZDF, 2017","Untertitel im Auftrag des ZDF, 2020","Untertitel im Auftrag des ZDF, 2018","Untertitel im Auftrag des ZDF, 2021","Untertitelung im Auftrag des ZDF, 2021","Copyright WDR 2021","Copyright WDR 2020","Copyright WDR 2019","SWR 2021","SWR 2020"],italian:["Alla prossima!","*applauso*","[Musica]","[Musica]","[Applausi]","*Bip bip bip bip*","(musica del NS shore)","D' 1962 alle tribunte del Gulf","Sottotitoli creati dalla comunità Amara.org","Sottotitoli di Sottotitoli di Amara.org","Sottotitoli e revisione al canale di Amara.org","Sottotitoli e revisione a cura di Amara.org","Sottotitoli e revisione a cura di QTSS","Sottotitoli e revisione a cura di QTSS.","Sottotitoli a cura di QTSS","Sottotitoli a cura di Sottotitoli"],spanish:["[música]","[Música de cierre]","[Aplausos]","(Aplausos)","www.alimmenta.com","¡Gracias por ver el vídeo!","(sonidos del celular) (Inudible distorsión)","¡Suscríbete!","Subtítulos realizados por la comunidad de Amara.org","Subtitulado por la comunidad de Amara.org","Subtítulos por la comunidad de Amara.org","Subtítulos creados por la comunidad de Amara.org","Subtítulos en español de Amara.org","Subtítulos hechos por la comunidad de Amara.org","Subtitulos por la comunidad de Amara.org","Más información www.alimmenta.com","www.mooji.org","[MÚSICA]","[Music cuts in British]"]},_t=e=>{let t=e;return Object.values(Er).forEach(n=>{n.forEach(i=>{t=t.replaceAll(i,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},bt=6e4,It=8e3,Mt=2,Nt=.4,yr=3,Tr=new Set(["aan","als","ben","bent","bij","dan","dat","deze","die","dit","doen","door","dus","echt","een","eens","even","gaan","gaat","geen","geweest","goed","graag","had","heb","hebben","hebt","heeft","het","hier","hoe","hoor","iets","inderdaad","kan","klopt","kunnen","kunt","maar","mag","mee","meer","met","mij","mijn","misschien","moet","moeten","naar","net","niet","nog","nou","oke","ook","over","prima","toch","uhm","uit","van","veel","voor","wat","weer","weet","wel","wij","wil","wilt","worden","wordt","zeg","zeggen","zijn","zou","zult","about","and","are","been","but","can","does","for","have","just","know","like","not","okay","right","she","that","the","them","then","there","they","this","want","was","well","were","what","will","with","would","yeah","you","your"]);function Ct(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<yr||Tr.has(n)||t.add(n);return[...t]}function Ot(e,t){if(!e.length)return 0;if(!t.length)return 1;const n=new Set(t),i=new Set(e);let r=0;for(const a of i)n.has(a)||(r+=1);return r/i.size}function vt(e,t=bt){const n=e.filter(o=>!o.partial&&typeof o.text=="string");if(!n.length)return{text:"",segmentCount:0};const r=n.reduce((o,s)=>Math.max(o,s.endedAt??0),0)-t;return{text:n.filter(o=>(o.endedAt??0)>=r).map(o=>_t(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const Lt=60;function Sr(e,t,n=Lt){const i=new Set(e),r=[...e];for(const a of t)!a||i.has(a)||(i.add(a),r.push(a));return r.slice(-n)}function _r(e){const{segments:t,now:n,state:i}=e;if(i.lastTriggerAt&&n-i.lastTriggerAt<It)return{trigger:!1,reason:"too_soon"};const r=vt(t,e.windowMs);if(!r.text)return{trigger:!1,reason:"no_speech"};const a=r.segmentCount-(i.lastSegmentCount??0);if(i.lastQueryTerms&&a<Mt)return{trigger:!1,reason:"too_few_new"};const o=Ct(r.text);return o.length?i.lastQueryTerms?.length&&Ot(o,i.lastQueryTerms)<Nt?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:r.text,terms:o,segmentCount:r.segmentCount}:{trigger:!1,reason:"no_speech"}}const te=9e4,kt=["out_of_office"],wt=e=>kt.includes(e);function br(e,t,n){const i=n-e<te,r=t?.status&&(!t.expiresAt||t.expiresAt>n)?t:void 0;if(!r?.status)return{online:i,status:i?"available":"offline"};const a=r.status;return!i&&!wt(a)?{online:!1,status:"offline"}:{online:i,status:a,message:r.message}}function Ir(e,t){const n=t-e.lastSeenAt<te,i=n||wt(e.status)?e.status:"offline";return n===e.online&&i===e.status?e:{...e,online:n,status:i}}function Mr(e,t){return e?.teamId&&t.includes(e.teamId)?{teamId:e.teamId,mustChoose:!1}:t.length===1?{teamId:t[0],mustChoose:!1}:{teamId:void 0,mustChoose:t.length>1}}function Nr(e){return e.providerAvailable&&e.allowed}const Cr="installation-id";exports.ACTIVITY_CATALOG=m;exports.AI_ATTACHMENT_LIMITS=dt;exports.AI_ATTACHMENT_MAX_PER_TURN=Yi;exports.AI_ATTACHMENT_TURN_BUDGET=zi;exports.AI_VENDORS=J;exports.ALLOWED_LINK_SCHEMES=ve;exports.ARTIFACT_MAX_BLOCKS=D;exports.ARTIFACT_MAX_BODY_BYTES=on;exports.ARTIFACT_MAX_CELL_LEN=I;exports.ARTIFACT_MAX_KPI_ITEMS=K;exports.ARTIFACT_MAX_LIST_ITEMS=P;exports.ARTIFACT_MAX_TABLE_COLUMNS=U;exports.ARTIFACT_MAX_TABLE_ROWS=$;exports.ARTIFACT_MAX_TEXT_LEN=H;exports.ASSIGNMENT_SCOPE_KIND=Re;exports.AUTH_APP_NAME=Z;exports.ActivityTypeRegistry=_e;exports.BUILT_IN_ONLY=zt;exports.CADENCE_FLOOR_MS=It;exports.CADENCE_MIN_NEW_SEGMENTS=Mt;exports.CADENCE_MIN_NOVELTY=Nt;exports.CADENCE_WINDOW_MS=bt;exports.CLASSIFY_VARS=vn;exports.CORE_DIMENSIONS=Zt;exports.CommunicationScheme=ht;exports.DEFAULT_MEMORY_BUDGET=Si;exports.DEFAULT_PHONE_REGION=at;exports.EMPTY_WORKFLOW=Un;exports.FEATURE_FOLDER_MANAGEMENT=ur;exports.FEATURE_REMOTE_SEARCH=dr;exports.INSTALLATION_HEADER=Cr;exports.INTERACTION_KIND=Be;exports.InteractionParticipantRole=lr;exports.KB_FALLBACK_LOCALE=Ye;exports.KB_LOCALES=G;exports.MAX_ACTIONS=b;exports.MAX_ASSIGNMENT_TURNS=xe;exports.MAX_BLOCKS=x;exports.MAX_COLLECTION_DEPTH=Y;exports.MAX_FIELDS=S;exports.MAX_LIST_ITEMS=_;exports.MAX_MEMORY_BROWSE=Ai;exports.MAX_MEMORY_BUDGET=Ti;exports.MAX_MEMORY_CHARS=Ei;exports.MAX_SHOWN_KEYS=Lt;exports.MAX_TOPIC_CANDIDATES=Qe;exports.MAX_TOPIC_EXAMPLES=Je;exports.MAX_TOPIC_EXAMPLE_CHARS=M;exports.MIN_MEMORY_BUDGET=yi;exports.PHONE_REGIONS=v;exports.PRESENCE_ONLINE_WINDOW_MS=te;exports.PRESENCE_SURVIVES_OFFLINE=kt;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=sr;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=or;exports.PUBLIC_EMAIL_DOMAINS=st;exports.READ_STEP_TYPES=B;exports.RELATED_SUBJECT_KINDS=rt;exports.SIGNATURE_INTENTS=ci;exports.STEP_MAX_TOKENS_MAX=je;exports.STEP_MAX_TOKENS_MIN=Ge;exports.SUMMARY_MIN_LAST_CHARS=ct;exports.SUMMARY_MIN_MESSAGES=lt;exports.TERMINAL_ASSIGNMENT_STATUSES=we;exports.TERMINAL_RUN_STATUSES=Ve;exports.TRIGGER_VARS=On;exports.UNSUPPORTED=pr;exports.USAGE_DIMENSIONS=Me;exports.USAGE_DIMENSION_IDS=Ne;exports.acceptExampleCandidate=Zn;exports.actingIdentityKey=Pe;exports.activityIconOf=Pt;exports.activityJoinUrl=Wt;exports.activitySnippet=Te;exports.activityTextParams=Se;exports.activityTimelineText=Ht;exports.activityTimestamp=Qt;exports.activityTypeInfo=l;exports.actorKey=wn;exports.addExampleCandidate=Qn;exports.agePresenceEntry=Ir;exports.aiAttachmentKind=ut;exports.aiAttachmentRejection=qi;exports.aiBudgetLimit=j;exports.aiBudgetPeriodKey=si;exports.aiBudgetPeriodStart=nt;exports.aiBudgetState=oi;exports.aiVendorAcceptsAttachment=ai;exports.aiVendorDefaultModel=ni;exports.aiVendorLabel=ti;exports.aiVendorNeedsBaseUrl=ri;exports.aiVendorsWith=ii;exports.appNameFromPath=ee;exports.applySignature=ui;exports.artifactBodyBytes=mn;exports.artifactOutline=gn;exports.artifactToMarkdown=An;exports.assignmentMismatch=Pn;exports.assignmentScopeKey=_n;exports.assignmentSubject=bn;exports.buildActivityPreview=qt;exports.buildChannelIntents=er;exports.buildShareKeys=En;exports.buildWindow=vt;exports.canNestUnder=Yn;exports.carriesText=Bt;exports.categoryLabel=Jn;exports.channelKindForScheme=ar;exports.channelKindOf=$t;exports.clampStepMaxTokens=$n;exports.cleanMessageText=Fi;exports.decideAssignmentState=In;exports.decideCadence=_r;exports.defaultLocaleOf=qe;exports.defineIntent=cr;exports.depthOf=Xe;exports.derivePresence=br;exports.disabledIntentsFromCapabilities=Qi;exports.emailDomain=Li;exports.endpointKey=xi;exports.extractParams=Et;exports.extractTerms=Ct;exports.filterByEndpoint=nr;exports.filterByIntent=tr;exports.filterByTargetScheme=gt;exports.findAiVendor=A;exports.flattenLocales=en;exports.floorToPeriod=Ie;exports.formatActingIdentity=De;exports.formatPeriod=be;exports.freshSources=Ji;exports.getActivitySeenUserIds=Jt;exports.getContactEndpoints=di;exports.getShortTitle=gi;exports.getUrgencyScore=mi;exports.heightOf=q;exports.helpCenterText=Wn;exports.humanizeAction=Cn;exports.interactionIdOf=Fe;exports.isAgentUser=bi;exports.isAssigned=pi;exports.isAssignmentTerminal=Sn;exports.isAssignmentTrigger=Ue;exports.isClosed=fi;exports.isConnectedType=jt;exports.isDeepLink=fr;exports.isDescendant=ze;exports.isInFlight=Gn;exports.isInteractionUnseen=hi;exports.isLandingPath=mr;exports.isLikelyBulk=Vi;exports.isMessageType=Ut;exports.isMoreSpecificPattern=Tt;exports.isPaused=He;exports.isPlaybookAuthoredType=Gt;exports.isPublicEmailDomain=wi;exports.isPublicPath=Ar;exports.isReplyableType=Kt;exports.isTerminal=Fn;exports.isThreadLongEnough=Hi;exports.isTranscriptType=Vt;exports.linkLabel=Hn;exports.listeningAllowed=li;exports.localeInstruction=zn;exports.localeName=Xn;exports.localesOf=qn;exports.looksLikeEmail=Oi;exports.matchContactToIntents=ir;exports.matchPublicRoute=St;exports.mergeShownKeys=Sr;exports.messageCountsAs=Ft;exports.needsPhoneRegion=Ri;exports.normalizeArtifactBlocks=fn;exports.normalizeBlocks=Dt;exports.normalizeEmail=Q;exports.normalizeExample=g;exports.novelty=Ot;exports.parseActingIdentity=Ln;exports.pathToRegex=At;exports.periodsInRange=rn;exports.phoneSuffix=vi;exports.plainTextFromMarkdown=$i;exports.playbookActor=$e;exports.procedureOf=Bn;exports.publicBasePathFor=yt;exports.publicRoutePatterns=hr;exports.readPath=C;exports.readStepError=F;exports.refKey=Ke;exports.registrableDomain=ot;exports.rejectExampleCandidate=et;exports.relatedByDefault=_i;exports.resolveAccountCapabilities=mt;exports.resolveActivityText=O;exports.resolveChannelIntents=ft;exports.resolveSignature=it;exports.resolveWorkMode=Mr;exports.runActor=kn;exports.runInteractionId=Vn;exports.sanitizeInline=ke;exports.sanitizeTranscript=_t;exports.selectLenses=Nn;exports.shareKeyForTeam=X;exports.shareKeyForUser=W;exports.shareKeysForViewer=yn;exports.shouldRunAudioPipeline=Nr;exports.sourceKey=pt;exports.stepsOf=Kn;exports.stripHtml=ye;exports.subjectKeyOf=jn;exports.subjectOf=z;exports.targetById=Dn;exports.targetForActivityType=xn;exports.toE164=V;exports.toolSourceKinds=Tn;exports.topicOfferedForTeam=tt;exports.topicsForTeam=ei;exports.truncateExample=Ze;exports.usageMetricId=Ce;exports.usageMetrics=an;exports.valueAtPath=Rn;
|
|
18
|
+
`).trim()}function Hi(e){if(typeof e!="string"||!e)return"";let t=e.length;for(const a of Gi){const o=e.search(a);o>=0&&o<t&&(t=o)}const n=e.slice(0,t);let i=ye(Ee(he(n)));return i||(i=ye(Ee(he(e)))),Vi(i)||i}const Wi=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,Xi=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function zi(e,t){return!!(e&&Wi.test(e)||t&&Xi.test(t))}const ct=3,ut=600;function Yi(e,t){return e>=ct||t>=ut}const qi=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),Ji=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function dt(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?qi.has(t)?"image":t==="application/pdf"?"pdf":Ji.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const h=1024*1024,pt={image:5*h,pdf:20*h,text:1*h,audio:20*h},Qi=25*h,Zi=5;function er(e,t){const n=dt(e);return n==="unsupported"?"unsupported":t>pt[n]?"too-large":null}function ft(e){return`${e.kind}:${e.id||e.url||e.title}`}function tr(e,t=[]){const n=new Set(t),i=[],r=[];for(const a of e){const o=ft(a);n.has(o)||(n.add(o),i.push(a),r.push(o))}return{sources:i,keys:r}}function mt(e,t){const n=new Set(e.disabledIntents??[]),i=e.intentOverrides??{},r=t.intents.filter(o=>!n.has(o.intent)).map(o=>ir(o,i[o.intent]));if(!e.extraIntents||e.extraIntents.length===0)return r;const a=new Set(r.map(o=>o.intent));for(const o of e.extraIntents)a.has(o.intent)||(r.push(o),a.add(o.intent));return r}function gt(e,t){const n={};for(const i of e.intents){if(!i.togglable)continue;const r=t?.[i.intent];n[i.intent]=r??i.defaultEnabled??!0}return n}function nr(e,t){const n=gt(e,t);return Object.entries(n).filter(([,i])=>!i).map(([i])=>i)}function ir(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function rr(e,t){const n=[];for(const i of e){if(!i.enabled)continue;const r=t[i.providerId];if(r)for(const a of mt(i,r))n.push({channel:i,description:r,capability:a})}return n}function ar(e,t){return t.filter(n=>n.capability.intent===e)}function ht(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function or(e,t){return ht(e.scheme,t)}function sr(e,t,n){const i=[];for(const r of e)for(const a of n)a.capability.intent===t&&a.capability.targetSchemes.includes(r.scheme)&&i.push({channelIntent:a,endpoint:r});return i}var At=(e=>(e.MAILTO="mailto",e.SIP="sip",e.TEL="tel",e.WEBHOOK="webhook",e.USERNAME="username",e.ID="id",e.CUSTOM="custom",e.URL="url",e.TELEGRAM="telegram",e.WHATSAPP="whatsapp",e.MESSENGER="messenger",e.INSTAGRAM="instagram",e.VIBER="viber",e.SMS="sms",e.FAX="fax",e.TEAMS="teams",e.CALENDAR="calendar",e))(At||{});const lr={mailto:"mail",sip:"tel",tel:"tel",fax:"tel",sms:"chat",teams:"chat",telegram:"chat",messenger:"chat",instagram:"chat",viber:"chat",whatsapp:"wa",webhook:"note",url:"note",calendar:"note",username:"note",id:"note",custom:"note"};function cr(e){return e?lr[e]??"note":"note"}const ur="message_window",dr="message_templates",pr={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},fr=(e,t)=>({intent:e,...t}),mr="folder_management",gr="remote_search",hr={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},ee="auth";function te(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function Ar(e){const t=te(e);return t?t!==ee:typeof e=="string"&&e.startsWith("/wake")}function Er(e){return typeof e!="string"||e===""||e==="/"?!0:te(e)===ee}function yr(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Et(e){const n=e.split("/").filter(Boolean).map(i=>i.startsWith(":")?i.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":"/"+yr(i)).join("");return new RegExp(`^${n}\\/?$`)}function yt(e,t){const n=e.split("/").filter(Boolean),i=t.split("/").filter(Boolean),r={};return n.forEach((a,o)=>{if(a.startsWith(":")){const s=a.endsWith("?")?a.slice(1,-1):a.slice(1),c=i[o];c&&(r[s]=c)}}),r}function Tt(e){return e.publicBasePath??`/apps/${e.name}`}function Tr(e){const t=[];for(const n of e){if(!n?.name)continue;const i=Tt(n);for(const r of n.routes??[]){if(!r.public)continue;const a=r.path==="/"?"":r.path;t.push({appName:n.name,resource:r.resource,pattern:`${i}${a}`,props:r.props})}}return t}function St(e,t){const n=e.split("/").filter(Boolean),i=t.split("/").filter(Boolean);for(let r=0;r<Math.min(n.length,i.length);r++){const a=n[r].startsWith(":"),o=i[r].startsWith(":");if(a!==o)return o}return n.length>i.length}function _t(e,t){if(typeof e!="string")return null;let n=null;for(const i of t)Et(i.pattern).test(e)&&(!n||St(i.pattern,n.pattern))&&(n=i);return n?{...n,params:{...n.props,...yt(n.pattern,e)}}:null}function Sr(e,t){return _t(e,t)!==null}const _r={afrikaans:["[Muziek]","(C) TV GELDERLAND 2021","*Thomp thomp thomp*","www.youtube.com","ä n wood s","!.."],english:["[applause]","[APPLAUSE]","(claps)","(clapping)","(audience applauds)","(keyboard clicking)","(keyboard clacking)","(clicking)","[CLICK]","[BLANK_AUDIO]","(upbeat music)","(dramatic music)","[music playing]","(electronic music)","(audience cheering)","(audience cheers)","[MUSIC]","( ( ( ( ) ( ) ( ) ( )","(laughs)","(air whooshing)","<u>Transcribed</u> by https://otter.ai","All new tonight at 6... coming up. A new look at your forecast is A new look at your forecast is","www.mooji.org","KATHRYN A new forecast is coming up... A new forecast is coming up...","KATHRYN pandemic started. increasing since the The pandemic has been","A new look at your forecast this morning... A new look at your","We'll be right back.","We'll see you next week.","Thanks for watching!","❤️ Translated by Amara.org Communit"],flemish:["*clap*","TV GELDERLAND 2020","TV Gelderland 2021","(C) TV GELDERLAND 2021","[Muziek]","Kuman","Ondertitels ingediend door de Amara.org gemeenschap","Ondertiteld door de Amara.org gemeenschap","Dank u wel voor het kijken.","Ondertiteling door de Amara.org gemeenschap","GELUID VAN MAHIH U similarly"],french:["(applaudissements)","[Applaudissements]","Sous-titres réalisés par la communauté d'Amara.org","- Bonne journée. - Bonjour.","POP POP הי","Merci d'avoir regardé cette vidéo.","Merci d'avoir regardé cette vidéo!","Merci d'avoir regardé la vidéo.","J'espère que vous avez apprécié la vidéo.","Je vous remercie de vous abonner","Merci d'avoir regardé!","❤️ par SousTitreur.com","— Sous-titrage ST'501 —","Thanks for watching!","Sous-titres réalisés par l'Amara.org","Sous-titres réalisés para la communauté d'Amara.org","Sous-titres réalisés par la communauté d'Amara.org","Sous-titres fait par Sous-titres par Amara.org","Sous-titres réalisés par les SousTitres d'Amara.org","Sous-titres par Amara.org","Sous-titres par la communauté d'Amara.org","Sous-titres réalisés pour la communauté d'Amara.org","Sous-titres réalisés par la communauté de l'Amara.org","Sous-Titres faits par la communauté d'Amara.org","Sous-titres par l'Amara.org","Sous-titres fait par la communauté d'Amara.org","Sous-titrage ST' 501","Sous-titrage ST'501","Cliquez-vous sur les sous-titres et abonnez-vous à la chaîne d'Amara.org","❤️ par SousTitreur.com"],german:["[Klicken]","(Jubel)","*lacht*","[Anhaltender Beifall]","[Applaus]","(Applaus)","* Applaus *","[MUSIK]","* mustard ml Drumglöck und knack in einem Handbewerb *","Untertitelung aufgrund der Amara.org-Community","Untertitel im Auftrag des ZDF für funk, 2017","Untertitel von Stephanie Geiges","Untertitel der Amara.org-Community","Untertitel im Auftrag des ZDF, 2017","Untertitel im Auftrag des ZDF, 2020","Untertitel im Auftrag des ZDF, 2018","Untertitel im Auftrag des ZDF, 2021","Untertitelung im Auftrag des ZDF, 2021","Copyright WDR 2021","Copyright WDR 2020","Copyright WDR 2019","SWR 2021","SWR 2020"],italian:["Alla prossima!","*applauso*","[Musica]","[Musica]","[Applausi]","*Bip bip bip bip*","(musica del NS shore)","D' 1962 alle tribunte del Gulf","Sottotitoli creati dalla comunità Amara.org","Sottotitoli di Sottotitoli di Amara.org","Sottotitoli e revisione al canale di Amara.org","Sottotitoli e revisione a cura di Amara.org","Sottotitoli e revisione a cura di QTSS","Sottotitoli e revisione a cura di QTSS.","Sottotitoli a cura di QTSS","Sottotitoli a cura di Sottotitoli"],spanish:["[música]","[Música de cierre]","[Aplausos]","(Aplausos)","www.alimmenta.com","¡Gracias por ver el vídeo!","(sonidos del celular) (Inudible distorsión)","¡Suscríbete!","Subtítulos realizados por la comunidad de Amara.org","Subtitulado por la comunidad de Amara.org","Subtítulos por la comunidad de Amara.org","Subtítulos creados por la comunidad de Amara.org","Subtítulos en español de Amara.org","Subtítulos hechos por la comunidad de Amara.org","Subtitulos por la comunidad de Amara.org","Más información www.alimmenta.com","www.mooji.org","[MÚSICA]","[Music cuts in British]"]},bt=e=>{let t=e;return Object.values(_r).forEach(n=>{n.forEach(i=>{t=t.replaceAll(i,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},It=6e4,Mt=8e3,Ct=2,Nt=.4,br=3,Ir=new Set(["aan","als","ben","bent","bij","dan","dat","deze","die","dit","doen","door","dus","echt","een","eens","even","gaan","gaat","geen","geweest","goed","graag","had","heb","hebben","hebt","heeft","het","hier","hoe","hoor","iets","inderdaad","kan","klopt","kunnen","kunt","maar","mag","mee","meer","met","mij","mijn","misschien","moet","moeten","naar","net","niet","nog","nou","oke","ook","over","prima","toch","uhm","uit","van","veel","voor","wat","weer","weet","wel","wij","wil","wilt","worden","wordt","zeg","zeggen","zijn","zou","zult","about","and","are","been","but","can","does","for","have","just","know","like","not","okay","right","she","that","the","them","then","there","they","this","want","was","well","were","what","will","with","would","yeah","you","your"]);function Ot(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<br||Ir.has(n)||t.add(n);return[...t]}function vt(e,t){if(!e.length)return 0;if(!t.length)return 1;const n=new Set(t),i=new Set(e);let r=0;for(const a of i)n.has(a)||(r+=1);return r/i.size}function Lt(e,t=It){const n=e.filter(o=>!o.partial&&typeof o.text=="string");if(!n.length)return{text:"",segmentCount:0};const r=n.reduce((o,s)=>Math.max(o,s.endedAt??0),0)-t;return{text:n.filter(o=>(o.endedAt??0)>=r).map(o=>bt(o.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const kt=60;function Mr(e,t,n=kt){const i=new Set(e),r=[...e];for(const a of t)!a||i.has(a)||(i.add(a),r.push(a));return r.slice(-n)}function Cr(e){const{segments:t,now:n,state:i}=e;if(i.lastTriggerAt&&n-i.lastTriggerAt<Mt)return{trigger:!1,reason:"too_soon"};const r=Lt(t,e.windowMs);if(!r.text)return{trigger:!1,reason:"no_speech"};const a=r.segmentCount-(i.lastSegmentCount??0);if(i.lastQueryTerms&&a<Ct)return{trigger:!1,reason:"too_few_new"};const o=Ot(r.text);return o.length?i.lastQueryTerms?.length&&vt(o,i.lastQueryTerms)<Nt?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:r.text,terms:o,segmentCount:r.segmentCount}:{trigger:!1,reason:"no_speech"}}const ne=9e4,wt=["out_of_office"],Rt=e=>wt.includes(e);function Nr(e,t,n){const i=n-e<ne,r=t?.status&&(!t.expiresAt||t.expiresAt>n)?t:void 0;if(!r?.status)return{online:i,status:i?"available":"offline"};const a=r.status;return!i&&!Rt(a)?{online:!1,status:"offline"}:{online:i,status:a,message:r.message}}function Or(e,t){const n=t-e.lastSeenAt<ne,i=n||Rt(e.status)?e.status:"offline";return n===e.online&&i===e.status?e:{...e,online:n,status:i}}function vr(e,t){return e?.teamId&&t.includes(e.teamId)?{teamId:e.teamId,mustChoose:!1}:t.length===1?{teamId:t[0],mustChoose:!1}:{teamId:void 0,mustChoose:t.length>1}}function Lr(e){return e.providerAvailable&&e.allowed}const kr="installation-id";exports.ACTIVITY_CATALOG=m;exports.AI_ATTACHMENT_LIMITS=pt;exports.AI_ATTACHMENT_MAX_PER_TURN=Zi;exports.AI_ATTACHMENT_TURN_BUDGET=Qi;exports.AI_VENDORS=Q;exports.ALLOWED_LINK_SCHEMES=Le;exports.ARTIFACT_MAX_BLOCKS=D;exports.ARTIFACT_MAX_BODY_BYTES=cn;exports.ARTIFACT_MAX_CELL_LEN=I;exports.ARTIFACT_MAX_KPI_ITEMS=K;exports.ARTIFACT_MAX_LIST_ITEMS=P;exports.ARTIFACT_MAX_TABLE_COLUMNS=U;exports.ARTIFACT_MAX_TABLE_ROWS=$;exports.ARTIFACT_MAX_TEXT_LEN=W;exports.ASSIGNMENT_SCOPE_KIND=xe;exports.AUTH_APP_NAME=ee;exports.ActivityTypeRegistry=be;exports.BUILT_IN_ONLY=Jt;exports.CADENCE_FLOOR_MS=Mt;exports.CADENCE_MIN_NEW_SEGMENTS=Ct;exports.CADENCE_MIN_NOVELTY=Nt;exports.CADENCE_WINDOW_MS=It;exports.CLASSIFY_VARS=Rn;exports.CORE_DIMENSIONS=nn;exports.CommunicationScheme=At;exports.DEFAULT_MEMORY_BUDGET=Mi;exports.DEFAULT_PHONE_REGION=ot;exports.EMPTY_WORKFLOW=Gn;exports.FEATURE_FOLDER_MANAGEMENT=mr;exports.FEATURE_REMOTE_SEARCH=gr;exports.INSTALLATION_HEADER=kr;exports.INTERACTION_KIND=Fe;exports.InteractionParticipantRole=pr;exports.KB_FALLBACK_LOCALE=qe;exports.KB_LOCALES=G;exports.MAX_ACTIONS=b;exports.MAX_ASSIGNMENT_TURNS=De;exports.MAX_BLOCKS=x;exports.MAX_COLLECTION_DEPTH=q;exports.MAX_FIELDS=S;exports.MAX_LIST_ITEMS=_;exports.MAX_MEMORY_BROWSE=Si;exports.MAX_MEMORY_BUDGET=Ii;exports.MAX_MEMORY_CHARS=_i;exports.MAX_SHOWN_KEYS=kt;exports.MAX_TOPIC_CANDIDATES=Ze;exports.MAX_TOPIC_EXAMPLES=Qe;exports.MAX_TOPIC_EXAMPLE_CHARS=M;exports.MIN_MEMORY_BUDGET=bi;exports.PHONE_REGIONS=v;exports.PRESENCE_ONLINE_WINDOW_MS=ne;exports.PRESENCE_SURVIVES_OFFLINE=wt;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=dr;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=ur;exports.PUBLIC_EMAIL_DOMAINS=lt;exports.READ_STEP_TYPES=B;exports.RELATED_SUBJECT_KINDS=at;exports.SIGNATURE_INTENTS=fi;exports.STEP_MAX_TOKENS_MAX=Ve;exports.STEP_MAX_TOKENS_MIN=je;exports.SUMMARY_MIN_LAST_CHARS=ut;exports.SUMMARY_MIN_MESSAGES=ct;exports.TERMINAL_ASSIGNMENT_STATUSES=Re;exports.TERMINAL_RUN_STATUSES=He;exports.TRIGGER_VARS=wn;exports.UNSUPPORTED=hr;exports.USAGE_DIMENSIONS=Ce;exports.USAGE_DIMENSION_IDS=Ne;exports.acceptExampleCandidate=ii;exports.actingIdentityKey=$e;exports.activityIconOf=Kt;exports.activityJoinUrl=Yt;exports.activitySnippet=Se;exports.activityTextParams=_e;exports.activityTimelineText=zt;exports.activityTimestamp=tn;exports.activityTypeInfo=l;exports.actorKey=Pn;exports.addExampleCandidate=ni;exports.agePresenceEntry=Or;exports.aiAttachmentKind=dt;exports.aiAttachmentRejection=er;exports.aiBudgetLimit=j;exports.aiBudgetPeriodKey=di;exports.aiBudgetPeriodStart=it;exports.aiBudgetState=ui;exports.aiVendorAcceptsAttachment=ci;exports.aiVendorDefaultModel=oi;exports.aiVendorLabel=ai;exports.aiVendorNeedsBaseUrl=li;exports.aiVendorsWith=si;exports.appNameFromPath=te;exports.applySignature=mi;exports.artifactBodyBytes=An;exports.artifactOutline=En;exports.artifactToMarkdown=Tn;exports.assignmentMismatch=Bn;exports.assignmentScopeKey=Mn;exports.assignmentSubject=Nn;exports.buildActivityPreview=Zt;exports.buildChannelIntents=rr;exports.buildShareKeys=Sn;exports.buildWindow=Lt;exports.canNestUnder=Zn;exports.carriesText=jt;exports.categoryLabel=ti;exports.channelKindForScheme=cr;exports.channelKindOf=Bt;exports.clampStepMaxTokens=Fn;exports.cleanMessageText=Hi;exports.decideAssignmentState=On;exports.decideCadence=Cr;exports.defaultLocaleOf=Je;exports.defineIntent=fr;exports.depthOf=ze;exports.derivePresence=Nr;exports.disabledIntentsFromCapabilities=nr;exports.emailDomain=xi;exports.endpointKey=Ui;exports.extractParams=yt;exports.extractTerms=Ot;exports.filterByEndpoint=or;exports.filterByIntent=ar;exports.filterByTargetScheme=ht;exports.findAiVendor=A;exports.flattenLocales=rn;exports.floorToPeriod=Me;exports.formatActingIdentity=Pe;exports.formatPeriod=Ie;exports.freshSources=tr;exports.getActivitySeenUserIds=en;exports.getContactEndpoints=gi;exports.getShortTitle=yi;exports.getUrgencyScore=Ei;exports.heightOf=J;exports.helpCenterText=qn;exports.humanizeAction=kn;exports.interactionIdOf=Ge;exports.isAgentUser=Ni;exports.isAssigned=hi;exports.isAssignmentTerminal=In;exports.isAssignmentTrigger=Ke;exports.isChatMessageActivity=Pt;exports.isClosed=Ai;exports.isConnectedType=Wt;exports.isDeepLink=Ar;exports.isDescendant=Ye;exports.isEmailActivity=Dt;exports.isInFlight=Wn;exports.isInteractionUnseen=Ti;exports.isLandingPath=Er;exports.isLikelyBulk=zi;exports.isMessageShape=H;exports.isMessageType=Ft;exports.isMoreSpecificPattern=St;exports.isPaused=We;exports.isPlaybookAuthoredType=Ht;exports.isPublicEmailDomain=Pi;exports.isPublicPath=Sr;exports.isReplyableType=Gt;exports.isTerminal=Hn;exports.isThreadLongEnough=Yi;exports.isTranscriptType=Xt;exports.linkLabel=Yn;exports.listeningAllowed=pi;exports.localeInstruction=Qn;exports.localeName=Jn;exports.localesOf=ei;exports.looksLikeEmail=wi;exports.matchContactToIntents=sr;exports.matchPublicRoute=_t;exports.mergeShownKeys=Mr;exports.messageCountsAs=Vt;exports.needsPhoneRegion=$i;exports.normalizeArtifactBlocks=hn;exports.normalizeBlocks=Ut;exports.normalizeEmail=Z;exports.normalizeExample=g;exports.novelty=vt;exports.parseActingIdentity=xn;exports.pathToRegex=Et;exports.periodsInRange=sn;exports.phoneSuffix=Ri;exports.plainTextFromMarkdown=Fi;exports.playbookActor=Ue;exports.procedureOf=Vn;exports.publicBasePathFor=Tt;exports.publicRoutePatterns=Tr;exports.readPath=N;exports.readStepError=F;exports.refKey=Be;exports.registrableDomain=st;exports.rejectExampleCandidate=tt;exports.relatedByDefault=Ci;exports.resolveAccountCapabilities=gt;exports.resolveActivityText=O;exports.resolveChannelIntents=mt;exports.resolveSignature=rt;exports.resolveWorkMode=vr;exports.runActor=Dn;exports.runInteractionId=zn;exports.sanitizeInline=we;exports.sanitizeTranscript=bt;exports.selectLenses=Ln;exports.shareKeyForTeam=z;exports.shareKeyForUser=X;exports.shareKeysForViewer=_n;exports.shouldRunAudioPipeline=Lr;exports.sourceKey=ft;exports.stepsOf=jn;exports.stripHtml=Te;exports.subjectKeyOf=Xn;exports.subjectOf=Y;exports.targetById=Kn;exports.targetForActivityType=Un;exports.toE164=V;exports.toolSourceKinds=bn;exports.topicOfferedForTeam=nt;exports.topicsForTeam=ri;exports.truncateExample=et;exports.usageMetricId=Oe;exports.usageMetrics=ln;exports.valueAtPath=$n;exports.wakesAssignment=Cn;
|