@opencxh/domain 1.159.0 → 1.161.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/assignment/types.d.ts +17 -12
- package/dist/entities/time-entry/duration.d.ts +22 -0
- package/dist/entities/time-entry/duration.test.d.ts +1 -0
- package/dist/entities/time-entry/index.d.ts +2 -0
- package/dist/entities/time-entry/types.d.ts +141 -0
- package/dist/index.cjs +6 -6
- package/dist/index.d.ts +1 -0
- package/dist/index.js +149 -127
- package/dist/platform/communication.d.ts +0 -1
- package/package.json +1 -1
|
@@ -106,22 +106,27 @@ export interface Assignment {
|
|
|
106
106
|
/**
|
|
107
107
|
* Wekt deze activity een opdracht die op een antwoord wacht?
|
|
108
108
|
*
|
|
109
|
-
* **
|
|
109
|
+
* **Vier regels, van hard naar zacht.**
|
|
110
110
|
*
|
|
111
|
-
*
|
|
112
|
-
*
|
|
113
|
-
*
|
|
111
|
+
* 1. **De klant antwoordt** (`inbound`): wekt altijd. Een klant kan niemand @-noemen, en zijn
|
|
112
|
+
* antwoord is per definitie het antwoord waar de opdracht op wachtte.
|
|
113
|
+
* 2. **De agent zelf schreef dit**: nooit. Zonder deze poort is de vraag die de agent stelt het
|
|
114
|
+
* signaal waarop hij wakker wordt — een lus die pas bij het beurtplafond stopt.
|
|
115
|
+
* 3. **De agent is genoemd**: wekt, ongeacht waarop hij wacht. Een vermelding is de expliciete
|
|
116
|
+
* vraag die de engine zelf niet kan beantwoorden: *is dit aan míjn agent gericht?*
|
|
117
|
+
* 4. **Een interne notitie terwijl hij op een antwoord wacht** (`waitingOn === "reply"`): wekt.
|
|
114
118
|
*
|
|
115
|
-
*
|
|
116
|
-
*
|
|
117
|
-
*
|
|
119
|
+
* Regel 4 is nieuw en vervangt "alleen als hij genoemd is" voor dit ene geval. **Als een agent
|
|
120
|
+
* expliciet om een antwoord heeft gevraagd, ís het volgende wat een collega schrijft dat antwoord** —
|
|
121
|
+
* dan iemand dwingen zijn eigen agent te @-noemen op de vraag die die agent net zelf stelde is een
|
|
122
|
+
* ritueel, niet een signaal. De oude vrees ("twee collega's die overleggen kosten elk een beurt")
|
|
123
|
+
* blijft gedekt door de rand eromheen: `waitingOn` moet `"reply"` zijn, en zodra hij op een taak
|
|
124
|
+
* wacht of nog bezig is, is de vermelding weer de enige weg naar binnen.
|
|
118
125
|
*
|
|
119
|
-
*
|
|
120
|
-
*
|
|
121
|
-
* geraden zou stil het verkeerde doen. En het maakt zelf-wekken onmogelijk: een agent noemt
|
|
122
|
-
* zichzelf niet.
|
|
126
|
+
* @param waitingOn Waarop de opdracht wacht. Weggelaten = alleen de regels 1-3 (het gedrag van
|
|
127
|
+
* vóór regel 4), zodat een beller die het niet weet nooit te ruim wekt.
|
|
123
128
|
*/
|
|
124
|
-
export declare function wakesAssignment(activity: Activity, agentId: string): boolean;
|
|
129
|
+
export declare function wakesAssignment(activity: Activity, agentId: string, waitingOn?: WaitingOn["on"]): boolean;
|
|
125
130
|
/** Het onderwerp van een opdracht als één verwijzing, of `undefined`. */
|
|
126
131
|
export declare function assignmentSubject(assignment: {
|
|
127
132
|
subjectKind?: string;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { TimeEntry, TimeRounding } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* De verstreken tijd van een regel, in seconden.
|
|
4
|
+
*
|
|
5
|
+
* In `domain` en niet in de app-server, omdat client én server hetzelfde antwoord moeten geven:
|
|
6
|
+
* de server stempelt de duur bij het stoppen, het paneel laat 'm ondertussen elke seconde
|
|
7
|
+
* oplopen. Zou het paneel zelf tellen vanaf een eigen nulpunt, dan loopt de zichtbare klok weg
|
|
8
|
+
* van wat er uiteindelijk geboekt wordt zodra een tabblad even slaapt.
|
|
9
|
+
*/
|
|
10
|
+
export declare function elapsedSeconds(entry: Pick<TimeEntry, "accumulatedSeconds" | "runningSince">, now: number): number;
|
|
11
|
+
/**
|
|
12
|
+
* De geboekte duur die bij een gemeten duur hoort.
|
|
13
|
+
*
|
|
14
|
+
* Naar boven en met een minimum van één eenheid: wie "per 15 minuten" kiest, wil dat een klus
|
|
15
|
+
* van drie minuten een kwartier wordt en niet nul. Bij `exact` is de bodem één minuut, om
|
|
16
|
+
* dezelfde reden — een regel van nul seconden is geen regel.
|
|
17
|
+
*/
|
|
18
|
+
export declare function applyRounding(rawSeconds: number, rounding: TimeRounding | undefined): number;
|
|
19
|
+
/** `0:45` / `2:05` — uren en minuten, zoals de dagtotalen in het paneel. */
|
|
20
|
+
export declare function formatHm(totalSeconds: number): string;
|
|
21
|
+
/** `12:34` onder het uur, `1:02:03` erboven — de lopende klok. */
|
|
22
|
+
export declare function formatClock(totalSeconds: number): string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
import { OwnerScope } from '../contact/types';
|
|
2
|
+
/**
|
|
3
|
+
* Waar een urenregel in zijn leven staat.
|
|
4
|
+
*
|
|
5
|
+
* `review` is met opzet een **server**-staat en niet iets wat alleen in het paneel leeft: het
|
|
6
|
+
* ontwerp laat je na het stoppen nog afronden, een werksoort kiezen en een notitie bijwerken
|
|
7
|
+
* voordat de regel telt. Zat die tussenstap alleen in de client, dan was een dichtgeslagen
|
|
8
|
+
* tabblad precies het moment waarop het gewerkte uur verdampt. Nu vindt het paneel de regel bij
|
|
9
|
+
* het volgende bezoek gewoon terug en staat de review-kaart er weer.
|
|
10
|
+
*
|
|
11
|
+
* `logged` is de enige staat die meetelt in totalen en in de rapportage.
|
|
12
|
+
*/
|
|
13
|
+
export type TimeEntryStatus = "running" | "paused" | "review" | "logged";
|
|
14
|
+
/** Hoe de gemeten tijd naar een boekbare duur wordt vertaald. */
|
|
15
|
+
export type TimeRounding = "exact" | "15" | "30";
|
|
16
|
+
/** Handmatig ingevoerd of daadwerkelijk geklokt — zichtbaar in de rapportage. */
|
|
17
|
+
export type TimeEntrySource = "timer" | "manual";
|
|
18
|
+
export interface TimeEntry {
|
|
19
|
+
id: string;
|
|
20
|
+
organizationId: string;
|
|
21
|
+
/** Wie de tijd schreef. Een regel hoort altijd bij precies één mens. */
|
|
22
|
+
userId: string;
|
|
23
|
+
/**
|
|
24
|
+
* Waarop geboekt wordt: `"interaction:abc"`, `"task:42"`, `"company:xyz"`. Afwezig =
|
|
25
|
+
* algemeen werk zonder object.
|
|
26
|
+
*
|
|
27
|
+
* Bewust een opake sleutel en geen `interactionId`: de app die de soort bezit beantwoordt
|
|
28
|
+
* de toegangsvraag (`assertScopeAccess`), dus urenregistratie hoeft geen enkele andere app
|
|
29
|
+
* te kennen om er tijd op te kunnen schrijven.
|
|
30
|
+
*/
|
|
31
|
+
scopeKey?: string;
|
|
32
|
+
/** Menselijk etiket op schrijfmoment ("Gesprek · RE: EYLO"), zodat een lijst leesbaar blijft
|
|
33
|
+
* zonder per regel de bron-app te bevragen. */
|
|
34
|
+
scopeLabel?: string;
|
|
35
|
+
/** Dossiersleutels van de resource, platgeslagen bij schrijven — zie de `keys`-conventie. */
|
|
36
|
+
keys?: string[];
|
|
37
|
+
/** Eigenaarschap zoals de bron-app het ziet; bepaalt wie de regel in een teamweergave ziet. */
|
|
38
|
+
ownerScope?: OwnerScope;
|
|
39
|
+
status: TimeEntryStatus;
|
|
40
|
+
/** Epoch ms, gezet door de server. De client rekent alleen af hoe laat het nu is. */
|
|
41
|
+
startedAt: number;
|
|
42
|
+
/** Epoch ms; gezet zodra de timer stopt. Afwezig zolang hij loopt of gepauzeerd staat. */
|
|
43
|
+
endedAt?: number;
|
|
44
|
+
/**
|
|
45
|
+
* Seconden die vóór het huidige segment al gebankt zijn.
|
|
46
|
+
*
|
|
47
|
+
* Pauzeren mag geen tweede rij opleveren — het ontwerp belooft één regel per klus, met een
|
|
48
|
+
* pauzeknop erin. Daarom telt de server bij elke pauze het gelopen segment hierbij op en
|
|
49
|
+
* laat `runningSince` los; hervatten zet alleen `runningSince` opnieuw. De verstreken tijd
|
|
50
|
+
* is dus altijd `accumulatedSeconds + (runningSince ? now - runningSince : 0)`, en dat
|
|
51
|
+
* antwoord is hetzelfde op elk apparaat.
|
|
52
|
+
*/
|
|
53
|
+
accumulatedSeconds: number;
|
|
54
|
+
/** Epoch ms waarop het lopende segment begon. Afwezig = gepauzeerd of gestopt. */
|
|
55
|
+
runningSince?: number;
|
|
56
|
+
/** Wat de klok werkelijk mat. Blijft staan als afronding de geboekte duur optrekt. */
|
|
57
|
+
rawSeconds?: number;
|
|
58
|
+
/**
|
|
59
|
+
* De geboekte duur in seconden — dít telt in totalen en facturatie.
|
|
60
|
+
*
|
|
61
|
+
* Los van `rawSeconds` omdat afronding een keuze van de gebruiker is en geen meting: wie
|
|
62
|
+
* later vraagt "waar komt dat kwartier vandaan" moet de gemeten twee minuten nog kunnen zien.
|
|
63
|
+
*/
|
|
64
|
+
durationSeconds?: number;
|
|
65
|
+
rounding?: TimeRounding;
|
|
66
|
+
billable: boolean;
|
|
67
|
+
/** Verwijst naar `WorkType.key`. */
|
|
68
|
+
workType?: string;
|
|
69
|
+
note?: string;
|
|
70
|
+
source: TimeEntrySource;
|
|
71
|
+
createdAt?: number;
|
|
72
|
+
updatedAt?: number;
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Een beheerbare werksoort in plaats van een rijtje in code: welke soorten een organisatie
|
|
76
|
+
* kent verschilt per bedrijf, en de soort bepaalt of iets standaard declarabel is.
|
|
77
|
+
*/
|
|
78
|
+
export interface WorkType {
|
|
79
|
+
id: string;
|
|
80
|
+
organizationId: string;
|
|
81
|
+
/** Stabiele sleutel die op de urenregel belandt. */
|
|
82
|
+
key: string;
|
|
83
|
+
label: string;
|
|
84
|
+
/** Standaardwaarde voor `TimeEntry.billable`; per regel te overrulen. */
|
|
85
|
+
defaultBillable: boolean;
|
|
86
|
+
/** Meegenomen als dimensie in de rapportage. */
|
|
87
|
+
reportable?: boolean;
|
|
88
|
+
order?: number;
|
|
89
|
+
archived?: boolean;
|
|
90
|
+
createdAt?: number;
|
|
91
|
+
updatedAt?: number;
|
|
92
|
+
}
|
|
93
|
+
/** Een kandidaat waarop de gebruiker kan klokken, aangeboden in de leegstaat van het paneel. */
|
|
94
|
+
export interface TimeTarget {
|
|
95
|
+
scopeKey?: string;
|
|
96
|
+
/** Soortlabel boven de titel ("GESPREK OP JE SCHERM", "TAAK"). */
|
|
97
|
+
kindLabel: string;
|
|
98
|
+
title: string;
|
|
99
|
+
/** Lucide-icoonnaam. */
|
|
100
|
+
icon: string;
|
|
101
|
+
keys?: string[];
|
|
102
|
+
}
|
|
103
|
+
export interface StartTimerRequest {
|
|
104
|
+
scopeKey?: string;
|
|
105
|
+
scopeLabel?: string;
|
|
106
|
+
keys?: string[];
|
|
107
|
+
workType?: string;
|
|
108
|
+
note?: string;
|
|
109
|
+
}
|
|
110
|
+
/** Wat er bij het opslaan van een regel nog aan te passen valt. */
|
|
111
|
+
export interface SaveTimeEntryRequest {
|
|
112
|
+
id: string;
|
|
113
|
+
rounding?: TimeRounding;
|
|
114
|
+
workType?: string;
|
|
115
|
+
billable?: boolean;
|
|
116
|
+
note?: string;
|
|
117
|
+
/** Naar een ander object boeken dan waar de timer op startte. */
|
|
118
|
+
scopeKey?: string;
|
|
119
|
+
scopeLabel?: string;
|
|
120
|
+
keys?: string[];
|
|
121
|
+
}
|
|
122
|
+
export interface ManualTimeEntryRequest {
|
|
123
|
+
scopeKey?: string;
|
|
124
|
+
scopeLabel?: string;
|
|
125
|
+
keys?: string[];
|
|
126
|
+
/** Epoch ms; de dag waarop de regel valt. */
|
|
127
|
+
startedAt: number;
|
|
128
|
+
durationSeconds: number;
|
|
129
|
+
workType?: string;
|
|
130
|
+
billable?: boolean;
|
|
131
|
+
note?: string;
|
|
132
|
+
}
|
|
133
|
+
/** Wat het paneel in één keer ophaalt: de lopende timer plus de dag eromheen. */
|
|
134
|
+
export interface TimeDaySummary {
|
|
135
|
+
/** De regel die nu loopt, gepauzeerd staat of op afronding wacht — er is er hooguit één. */
|
|
136
|
+
active?: TimeEntry;
|
|
137
|
+
/** Afgeronde regels van de opgevraagde dag, oplopend op starttijd. */
|
|
138
|
+
entries: TimeEntry[];
|
|
139
|
+
totalSeconds: number;
|
|
140
|
+
billableSeconds: number;
|
|
141
|
+
}
|
package/dist/index.cjs
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
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(`
|
|
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,T=10,_=10,b=5,$t=new Set(["header","section","context","divider","image","list","actions","attachments"]);function L(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(!L(r.text)){t("a header without text");continue}break;case"context":if(!L(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>T&&(t("more than "+T+" fields in a section"),r.fields=r.fields.slice(0,T));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&&L(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 Se(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 S(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=>`${S(e.payload.members)} toegevoegd`,timeline:e=>{const t=S(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=>`${S(e.payload.members)} verlaten`,timeline:e=>{const t=S(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()||Se(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 V(e){return e==="message"||e==="note"}function Ft(e){return V(l(e)?.shape)}function Gt(e){return l(e)?.replyable===!0}function jt(e){return l(e)?.carriesText===!0}function Ht(e){return l(e)?.countsAs}function Vt(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 Te(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 V(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??Te(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"]),ke=["http:","https:","mailto:","tel:"],dn=/^[a-z][a-z0-9+.-]*:/i;function Le(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=dn.exec(t)?.[0];return n?ke.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||!Le(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)=>Le(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),k=u?.align==="right"?"right":void 0;s.push(k?{label:E,align:k}:{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((k,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 Sn(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 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"?`
|
|
5
|
+
`}const X=e=>`user:${e}`,z=e=>`team:${e}`;function Tn(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,n){if(e.direction==="inbound")return!0;if(e.author?.type==="user"&&e.author.id===t)return!1;const i=e.payload?.mentions;return Array.isArray(i)&&i.includes(t)?!0:n==="reply"}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 kn(e,t){return e.filter(n=>n.enabled&&vn(n.ownerScope,t))}function Ln(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,He=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),He)}const Gn={kind:"workflow",steps:[]};function jn(e){return e?.kind==="workflow"?e.steps:[]}function Hn(e){return e?.kind==="procedure"?e.procedure:void 0}const Ve=["done","escalated","failed","stopped"];function Vn(e){return Ve.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 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
|
|
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 Si(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const Ti=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,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function Oi(e,t){const n=Math.max(1,Math.ceil(Math.max(0,e)/60));if(!t||t==="exact")return n*60;const i=Number(t);return!Number.isFinite(i)||i<=0?n*60:Math.ceil(n/i)*i*60}function vi(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function ki(e){const t=Math.max(0,Math.floor(e)),n=a=>String(a).padStart(2,"0"),i=Math.floor(t/60)%60,r=Math.floor(t/3600);return r>0?`${r}:${n(i)}:${n(t%60)}`:`${n(i)}:${n(t%60)}`}function Li(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",wi=15,Ri=8,xi=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>wi)return null;for(const t of xi){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<Ri?null:`+${e}`}function Di(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 Pi(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 H(e,t){if(!e)return null;const n=Di(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 $i(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 Ui(e){const t=Z(e);return t?t.slice(t.lastIndexOf("@")+1):null}const Ki=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 Ki.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 Bi(e){const t=st(e);return t?lt.has(t):!1}function Fi(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function Gi(e,t,n){if(!e||!t)return null;const i=e.trim().toLowerCase();if(i==="tel"||i==="sms"||i==="whatsapp"){const a=H(t,n);return a?`tel:${a}`:null}if(i==="fax"){const a=H(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 ji=/(\*\*|__)(?=\S)([\s\S]*?\S)\1/g,Hi=/(\*|_)(?=\S)([^*_\n]*?\S)\1/g;function Vi(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(
|
|
9
|
+
`),t=t.replace(ji,"$2"),t=t.replace(Hi,"$2"),t=t.replace(/~~(?=\S)([\s\S]*?\S)~~/g,"$1"),t=t.replace(/`([^`\n]+)`/g,"$1"),t.replace(/\s+/g," ").trim()}const Wi=[/<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,Xi=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function zi(e){const t=e.split(`
|
|
10
|
+
`);for(let n=0;n<t.length;n++)if(Xi.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
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
|
|
|
@@ -15,4 +15,4 @@
|
|
|
15
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 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;
|
|
18
|
+
`).trim()}function Yi(e){if(typeof e!="string"||!e)return"";let t=e.length;for(const a of Wi){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)))),zi(i)||i}const qi=/(^|[._+-])(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 Qi(e,t){return!!(e&&qi.test(e)||t&&Ji.test(t))}const ct=3,ut=600;function Zi(e,t){return e>=ct||t>=ut}const er=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),tr=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?er.has(t)?"image":t==="application/pdf"?"pdf":tr.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},nr=25*h,ir=5;function rr(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 ar(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=>sr(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 or(e,t){const n=gt(e,t);return Object.entries(n).filter(([,i])=>!i).map(([i])=>i)}function sr(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function lr(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 cr(e,t){return t.filter(n=>n.capability.intent===e)}function ht(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function ur(e,t){return ht(e.scheme,t)}function dr(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 pr={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 fr(e){return e?pr[e]??"note":"note"}const mr="message_window",gr="message_templates",hr={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},Ar=(e,t)=>({intent:e,...t}),Er="folder_management",yr="remote_search",Sr={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 Tr(e){const t=te(e);return t?t!==ee:typeof e=="string"&&e.startsWith("/wake")}function _r(e){return typeof e!="string"||e===""||e==="/"?!0:te(e)===ee}function br(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Et(e){const n=e.split("/").filter(Boolean).map(i=>i.startsWith(":")?i.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":"/"+br(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 St(e){return e.publicBasePath??`/apps/${e.name}`}function Ir(e){const t=[];for(const n of e){if(!n?.name)continue;const i=St(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 _t(e,t){if(typeof e!="string")return null;let n=null;for(const i of t)Et(i.pattern).test(e)&&(!n||Tt(i.pattern,n.pattern))&&(n=i);return n?{...n,params:{...n.props,...yt(n.pattern,e)}}:null}function Mr(e,t){return _t(e,t)!==null}const Cr={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(Cr).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,Nr=3,Or=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<Nr||Or.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 kt(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 Lt=60;function vr(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 kr(e){const{segments:t,now:n,state:i}=e;if(i.lastTriggerAt&&n-i.lastTriggerAt<Mt)return{trigger:!1,reason:"too_soon"};const r=kt(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 Lr(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 wr(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 Rr(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 xr(e){return e.providerAvailable&&e.allowed}const Dr="installation-id";exports.ACTIVITY_CATALOG=m;exports.AI_ATTACHMENT_LIMITS=pt;exports.AI_ATTACHMENT_MAX_PER_TURN=ir;exports.AI_ATTACHMENT_TURN_BUDGET=nr;exports.AI_VENDORS=Q;exports.ALLOWED_LINK_SCHEMES=ke;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=Er;exports.FEATURE_REMOTE_SEARCH=yr;exports.INSTALLATION_HEADER=Dr;exports.INTERACTION_KIND=Fe;exports.InteractionParticipantRole=hr;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=T;exports.MAX_LIST_ITEMS=_;exports.MAX_MEMORY_BROWSE=Ti;exports.MAX_MEMORY_BUDGET=Ii;exports.MAX_MEMORY_CHARS=_i;exports.MAX_SHOWN_KEYS=Lt;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=gr;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=mr;exports.PUBLIC_EMAIL_DOMAINS=lt;exports.READ_STEP_TYPES=B;exports.RELATED_SUBJECT_KINDS=at;exports.SIGNATURE_INTENTS=fi;exports.STEP_MAX_TOKENS_MAX=He;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=Ve;exports.TRIGGER_VARS=wn;exports.UNSUPPORTED=Sr;exports.USAGE_DIMENSIONS=Ce;exports.USAGE_DIMENSION_IDS=Ne;exports.acceptExampleCandidate=ii;exports.actingIdentityKey=$e;exports.activityIconOf=Kt;exports.activityJoinUrl=Yt;exports.activitySnippet=Te;exports.activityTextParams=_e;exports.activityTimelineText=zt;exports.activityTimestamp=tn;exports.activityTypeInfo=l;exports.actorKey=Pn;exports.addExampleCandidate=ni;exports.agePresenceEntry=wr;exports.aiAttachmentKind=dt;exports.aiAttachmentRejection=rr;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.applyRounding=Oi;exports.applySignature=mi;exports.artifactBodyBytes=An;exports.artifactOutline=En;exports.artifactToMarkdown=Sn;exports.assignmentMismatch=Bn;exports.assignmentScopeKey=Mn;exports.assignmentSubject=Nn;exports.buildActivityPreview=Zt;exports.buildChannelIntents=lr;exports.buildShareKeys=Tn;exports.buildWindow=kt;exports.canNestUnder=Zn;exports.carriesText=jt;exports.categoryLabel=ti;exports.channelKindForScheme=fr;exports.channelKindOf=Bt;exports.clampStepMaxTokens=Fn;exports.cleanMessageText=Yi;exports.decideAssignmentState=On;exports.decideCadence=kr;exports.defaultLocaleOf=Je;exports.defineIntent=Ar;exports.depthOf=ze;exports.derivePresence=Lr;exports.disabledIntentsFromCapabilities=or;exports.elapsedSeconds=Ni;exports.emailDomain=Ui;exports.endpointKey=Gi;exports.extractParams=yt;exports.extractTerms=Ot;exports.filterByEndpoint=ur;exports.filterByIntent=cr;exports.filterByTargetScheme=ht;exports.findAiVendor=A;exports.flattenLocales=rn;exports.floorToPeriod=Me;exports.formatActingIdentity=Pe;exports.formatClock=ki;exports.formatHm=vi;exports.formatPeriod=Ie;exports.freshSources=ar;exports.getActivitySeenUserIds=en;exports.getContactEndpoints=gi;exports.getShortTitle=yi;exports.getUrgencyScore=Ei;exports.heightOf=J;exports.helpCenterText=qn;exports.humanizeAction=Ln;exports.interactionIdOf=Ge;exports.isAgentUser=Li;exports.isAssigned=hi;exports.isAssignmentTerminal=In;exports.isAssignmentTrigger=Ke;exports.isChatMessageActivity=Pt;exports.isClosed=Ai;exports.isConnectedType=Wt;exports.isDeepLink=Tr;exports.isDescendant=Ye;exports.isEmailActivity=Dt;exports.isInFlight=Wn;exports.isInteractionUnseen=Si;exports.isLandingPath=_r;exports.isLikelyBulk=Qi;exports.isMessageShape=V;exports.isMessageType=Ft;exports.isMoreSpecificPattern=Tt;exports.isPaused=We;exports.isPlaybookAuthoredType=Vt;exports.isPublicEmailDomain=Bi;exports.isPublicPath=Mr;exports.isReplyableType=Gt;exports.isTerminal=Vn;exports.isThreadLongEnough=Zi;exports.isTranscriptType=Xt;exports.linkLabel=Yn;exports.listeningAllowed=pi;exports.localeInstruction=Qn;exports.localeName=Jn;exports.localesOf=ei;exports.looksLikeEmail=Pi;exports.matchContactToIntents=dr;exports.matchPublicRoute=_t;exports.mergeShownKeys=vr;exports.messageCountsAs=Ht;exports.needsPhoneRegion=Fi;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=$i;exports.plainTextFromMarkdown=Vi;exports.playbookActor=Ue;exports.procedureOf=Hn;exports.publicBasePathFor=St;exports.publicRoutePatterns=Ir;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=Rr;exports.runActor=Dn;exports.runInteractionId=zn;exports.sanitizeInline=we;exports.sanitizeTranscript=bt;exports.selectLenses=kn;exports.shareKeyForTeam=z;exports.shareKeyForUser=X;exports.shareKeysForViewer=_n;exports.shouldRunAudioPipeline=xr;exports.sourceKey=ft;exports.stepsOf=jn;exports.stripHtml=Se;exports.subjectKeyOf=Xn;exports.subjectOf=Y;exports.targetById=Kn;exports.targetForActivityType=Un;exports.toE164=H;exports.toolSourceKinds=bn;exports.topicOfferedForTeam=nt;exports.topicsForTeam=ri;exports.truncateExample=et;exports.usageMetricId=Oe;exports.usageMetrics=ln;exports.valueAtPath=$n;exports.wakesAssignment=Cn;
|
package/dist/index.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export * from './entities/note';
|
|
|
31
31
|
export * from './entities/read-state';
|
|
32
32
|
export * from './entities/resource-reminder';
|
|
33
33
|
export * from './entities/team';
|
|
34
|
+
export * from './entities/time-entry';
|
|
34
35
|
export * from './entities/organization';
|
|
35
36
|
export * from './entities/shopify';
|
|
36
37
|
export * from './entities/transcript';
|