@opencxh/domain 1.286.3 → 1.287.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/index.cjs CHANGED
@@ -1,12 +1,12 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Xe=10,oe=10,ie=10,se=5,Mi=new Set(["header","section","context","divider","image","list","actions","attachments"]);function Fe(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 ki(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=Xe){t(`more than ${Xe} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!Mi.has(o.type)){t(`unknown block type ${String(o.type)}`);continue}switch(o.type){case"header":if(!Fe(o.text)){t("a header without text");continue}break;case"context":if(!Fe(o.text)){t("a context block without text");continue}break;case"image":if(!o.url||!o.alt){t("an image without url or alt");continue}break;case"section":Array.isArray(o.fields)&&o.fields.length>oe&&(t(`more than ${oe} fields in a section`),o.fields=o.fields.slice(0,oe));break;case"list":if(!Array.isArray(o.items)||o.items.length===0){t("a list without items");continue}o.items.length>ie&&(t(`more than ${ie} list items`),o.items=o.items.slice(0,ie));break;case"actions":{const i=Array.isArray(o.elements)?o.elements:[],s=i.filter(a=>a?.action_id&&a.invoke&&Fe(a.text));if(s.length!==i.length&&t("an action without action_id, invoke or text"),s.length===0)continue;s.length>se&&t(`more than ${se} actions`),o.elements=s.slice(0,se);break}}n.push(o)}return n}const Ni=/(\*\*|__)(?=\S)([\s\S]*?\S)\1/g,Ri=/(\*|_)(?=\S)([^*_\n]*?\S)\1/g;function In(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(`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const Xe=10,oe=10,ie=10,se=5,ki=new Set(["header","section","context","divider","image","list","actions","attachments"]);function Fe(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 Ni(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=Xe){t(`more than ${Xe} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!ki.has(o.type)){t(`unknown block type ${String(o.type)}`);continue}switch(o.type){case"header":if(!Fe(o.text)){t("a header without text");continue}break;case"context":if(!Fe(o.text)){t("a context block without text");continue}break;case"image":if(!o.url||!o.alt){t("an image without url or alt");continue}break;case"section":Array.isArray(o.fields)&&o.fields.length>oe&&(t(`more than ${oe} fields in a section`),o.fields=o.fields.slice(0,oe));break;case"list":if(!Array.isArray(o.items)||o.items.length===0){t("a list without items");continue}o.items.length>ie&&(t(`more than ${ie} list items`),o.items=o.items.slice(0,ie));break;case"actions":{const i=Array.isArray(o.elements)?o.elements:[],s=i.filter(a=>a?.action_id&&a.invoke&&Fe(a.text));if(s.length!==i.length&&t("an action without action_id, invoke or text"),s.length===0)continue;s.length>se&&t(`more than ${se} actions`),o.elements=s.slice(0,se);break}}n.push(o)}return n}const Ri=/(\*\*|__)(?=\S)([\s\S]*?\S)\1/g,wi=/(\*|_)(?=\S)([^*_\n]*?\S)\1/g;function In(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(`
2
2
  `).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(`
3
- `),t=t.replace(Ni,"$2"),t=t.replace(Ri,"$2"),t=t.replace(/~~(?=\S)([\s\S]*?\S)~~/g,"$1"),t=t.replace(/`([^`\n]+)`/g,"$1"),t.replace(/\s+/g," ").trim()}function On(e){return e.replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim()}function ne(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 Wt(e){return e?` — ${Math.floor(e/60)}m ${e%60}s`:""}function Be(e){return e?.split("@")?.[0]||e||""}function re(e){return e.map(t=>t.name).join(", ")}function Vt(e){return e==="meeting"?"Meeting":e==="video"?"Video call":"Audio call"}const L={VOICE_CALL_STARTED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gesprek gestart",timeline:e=>e.direction==="inbound"?`Inbound call started — ${Be(e.payload.from)}`:`Outbound call started — ${Be(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?` (${ne(e.payload.duration)})`:""}`,timeline:e=>`Call ended${Wt(e.payload.duration)}`},VOICE_CALL_MISSED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gemiste oproep",timeline:e=>`Missed call — ${Be(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?` (${ne(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:Yt},EMAIL_SENT:{shape:"message",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:Yt},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=>`${re(e.payload.members)} toegevoegd`,timeline:e=>{const t=re(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=>`${re(e.payload.members)} verlaten`,timeline:e=>{const t=re(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=>`${Vt(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?` (${ne(e.payload.duration)})`:""}`,timeline:e=>`${Vt(e.payload.callType)} ended${Wt(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"},AGENT_DELEGATED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:e=>`${e.payload.fromAgentName} vroeg ${e.payload.toAgentName??"een collega"}${e.payload.ask?`: ${e.payload.ask}`:""}`,timeline:e=>`${e.payload.fromAgentName} schakelde ${e.payload.toAgentName??"een collega"} in`},AGENT_ANSWERED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:e=>`${e.payload.fromAgentName} beantwoordde de deelvraag`,timeline:e=>`${e.payload.fromAgentName} beantwoordde de deelvraag`},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?` (${ne(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}`},SLA_BREACHED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.SLA_BREACHED",icon:"alarm-clock",snippet:e=>`SLA verlopen: ${e.payload.metric}`,timeline:e=>`SLA target ${e.payload.metric} passed its deadline`},WORK_COMMENT_ADDED:{shape:"note",icon:"sticky-note",carriesText:!0,snippet:()=>"Reactie"},WORK_ITEM_ASSIGNED:{shape:"event",icon:"user",snippet:()=>"Taak toegewezen",timeline:(e,t)=>`Assigned by ${t}`},WORK_ITEM_STATUS_CHANGED:{shape:"event",triggerable:!0,icon:"circle-dot",snippet:()=>"Status gewijzigd",timeline:(e,t)=>`Status changed by ${t}`},CRM_NOTE_ADDED:{shape:"note",icon:"sticky-note",carriesText:!0,snippet:()=>"Notitie"},CRM_CALL_LOGGED:{shape:"note",icon:"phone",carriesText:!0,snippet:()=>"Gesprek vastgelegd"},CRM_STAGE_CHANGED:{shape:"event",icon:"circle-dot",snippet:()=>"Fase gewijzigd",timeline:(e,t)=>`Stage changed by ${t}`}};function Yt(e){const t=e.payload,n=In(t.bodyText).trim()||t.bodySnippet?.trim()||On(t.body??"");return t.subject?`${t.subject} — ${n}`:n}function O(e){return L[e]}function wi(e){return O(e)?.icon??"circle"}function Di(e){return O(e)?.channelKind}function gt(e){return e==="message"||e==="note"}function Li(e){return gt(O(e)?.shape)}function ht(e){return e==="note"}function xi(e){return ht(O(e)?.shape)}function Pi(e){return O(e)?.replyable===!0}function $i(e){return O(e)?.carriesText===!0}function vn(e){return O(e)?.countsAs}function Ki(e){return O(e)?.playbookAuthored===!0}function Ui(e){return O(e)?.connected===!0}function Fi(e){const t=O(e);return t?.shape==="artifact"&&t?.carriesText===!0}function Cn(e){const t=O(e.type)?.snippet;return t?t(e):""}function Bi(e,t){const n=O(e.type)?.timeline;return n?n(e,t):e.type.replace(/_/g," ").toLowerCase()}function Gi(e){const t=O(e.type)?.joinUrl;return t?t(e):void 0}function pe(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return"";n=n[r]}return n==null?"":typeof n=="string"?n:typeof n=="number"||typeof n=="boolean"?String(n):""}function me(e,t,n){if(e===void 0)return null;if(typeof e=="string")return e||null;if("value"in e)return pe(t,e.value)||null;const r={};for(const[i,s]of Object.entries(e.params??{}))r[i]=pe(t,s);const o=n(e.key,r);return o===e.key?null:o}function Mn(e,t){if(!e||typeof e=="string"||"value"in e)return null;const n={};for(const[r,o]of Object.entries(e.params??{}))n[r]=pe(t,o);return{key:e.key,params:n}}const zt=140;function Hi(e){const t=e.trim();return t.length<=zt?t:`${t.slice(0,zt-1).trimEnd()}…`}function ji(e,t){const n=Mn(t?.text,e),r=t?me(t.text,e,o=>o):null;return{activityId:e.id,type:e.type,snippet:Hi(r??Cn(e)),authorName:e.author?.name??"",direction:e.direction,createdAt:e.createdAt??Date.now(),...n?{snippetKey:n.key,snippetParams:n.params}:{}}}const Wi=e=>e;function Xt(e){const t=L[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 qt(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 kn{constructor(t=[],n=Wi){this.translate=n;for(const r of t)r?.type&&(r.type in L||this.declared.has(r.type)||this.declared.set(r.type,r))}declared=new Map;get(t){if(t in L)return Xt(t);const n=this.declared.get(t);return n?qt(n):void 0}triggerable(){const t=Object.keys(L).filter(r=>L[r].triggerable).map(Xt),n=[...this.declared.values()].map(qt).filter(r=>r.triggerable);return[...t,...n]}timelineText(t,n){const r=L[t.type];if(r?.timeline)return r.timeline(t,n);const o=this.declared.get(t.type);return me(o?.text,t,this.translate)??t.type.replace(/_/g," ").toLowerCase()}snippet(t){const n=L[t.type];if(n?.snippet)return n.snippet(t);const r=this.declared.get(t.type);return me(r?.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 gt(this.get(t)?.shape)}nestsUnderParent(t){return ht(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 Vi=new kn;function Yi(e,t,n=[]){const r=e.createdAt;if(!r)return[];const o=new Set(n);return e.author.type==="user"&&e.author.id&&o.add(e.author.id),Object.entries(t).filter(([i,s])=>s>=r&&!o.has(i)).map(([i])=>i)}function Nn(e){return e.createdAt??0}function zi(e){return e.type==="EMAIL_RECEIVED"||e.type==="EMAIL_SENT"}function Xi(e){return e.type==="CHAT_MESSAGE_SENT"||e.type==="CHAT_MESSAGE_RECEIVED"}const ke=[{id:"chat",defaultFlag:"isDefaultLlm",label:"LLM"},{id:"transcription",defaultFlag:"isDefaultStt",label:"STT"},{id:"tts",defaultFlag:"isDefaultTts",label:"TTS"},{id:"embedding",defaultFlag:"isDefaultEmbedding",label:"Embeddings"},{id:"decision",defaultFlag:"isDefaultDecision",label:"Beslissingen"}];function qi(e){return ke.find(t=>t.id===e)?.defaultFlag}function Qi(e){const t={};for(const n of ke)t[n.defaultFlag]=e?.[n.defaultFlag]===!0;return t}function Ji(e,t){const n={};for(const r of ke){const o=r.defaultFlag;n[o]=(e?.[o]??t?.[o])===!0}return n}const Zi={image:"image",pdf:"file",text:"text",audio:"audio",video:"video"};function es(e,t){if(t==="text")return!0;if(!e?.in?.length)return;const n=Zi[t];return n?e.in.includes(n):!1}const B=["fast","standard","deep"],Qt=(e,t)=>{const n=B.indexOf(e),r=Math.min(B.length-1,Math.max(0,n+t));return B[r]},qe=e=>B.indexOf(e);function Rn(e){const t=[];let n;return e.expectsSchema?(n="fast",t.push("schema-antwoord")):(e.mode??"agent")==="ask"&&!e.toolCount?(n="fast",t.push("vraag zonder tools")):e.toolCount||e.hasAttachments?(n="standard",t.push(e.hasAttachments?"bijlagen":"tools beschikbaar")):(n="standard",t.push("standaard")),e.repair&&(n=Qt(n,1),t.push("herstelbeurt: een tier omhoog")),e.budgetPressure==="soft"&&n!=="fast"&&(n=Qt(n,-1),t.push("budget bijna op: een tier omlaag in plaats van weigeren")),e.maxTier&&qe(n)>qe(e.maxTier)&&(n=e.maxTier,t.push(`plafond van de rol: ${e.maxTier}`)),{tier:n,reasons:t}}function ts(e,t,n){const r=Rn(t);if(!e)return{...r,...n,routed:!1};for(let o=qe(r.tier);o>=0;o--){const i=B[o],s=e[i];if(!s?.accountId||!s.model)continue;const a=i===r.tier?r.reasons:[...r.reasons,`${r.tier} niet ingericht, ${i} gebruikt`];return{tier:i,reasons:a,accountId:s.accountId,model:s.model,routed:!0}}return{...r,...n,routed:!1,reasons:[...r.reasons,"geen tier ingericht: het profiel beslist"]}}const Qe=255,Je=2,Ze=10;function ns(e){const t=Object.keys(e);if(!t.length)return"geen vragen gesteld";for(const n of t){const r=e[n];if(!r?.instructions?.trim())return`vraag "${n}" heeft geen instructie`;if(r.type==="choice"){const o=Object.keys(r.criteria??{});if(o.length<2)return`vraag "${n}" heeft minder dan twee opties`;if(o.length>Qe)return`vraag "${n}" heeft meer dan ${Qe} opties`}if(r.type==="score"){const o=r.criteria?.length??0;if(o<Je||o>Ze)return`vraag "${n}" heeft ${o} niveaus; het moeten er ${Je} tot ${Ze} zijn`}}return null}function rs(e,t=.9,n=.6){return Number.isFinite(e)?e>=t?"act":e>=n?"check":"refuse":"refuse"}const os=["counting or arithmetic","comparing dates or durations","judging whether two numbers are close","generating text"],yt=[{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:"typesafe",label:"TypeSafe (Jev)",capabilities:["decision"],defaultModel:"jev-latest",baseUrl:"https://api.typesafe.ai/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 Z(e){return yt.find(t=>t.id===e)}function is(e){return Z(e)?.label??e}function ss(e,t="gpt-5-mini"){return Z(e)?.defaultModel??t}function as(e){return yt.filter(t=>t.capabilities.includes(e))}function cs(e){const t=Z(e);return!!t&&!t.baseUrl}function ls(e,t){return t==="text"?!0:Z(e)?.attachmentKinds?.includes(t)===!0}function us(e,t){if(!e.enabled)return"ok";const n=et(e.hardLimitNanos),r=et(e.softLimitNanos);return n!==void 0&&t>=n?"hard":r!==void 0&&t>=r?"soft":"ok"}function et(e){return typeof e=="number"?e:void 0}function wn(e,t="month"){const n=new Date(e);return Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)}function ds(e,t="month"){const n=new Date(wn(e,t));return`${n.getUTCFullYear()}-${String(n.getUTCMonth()+1).padStart(2,"0")}`}function fs(e){return e==="ask"||e==="draft"||e==="agent"}function ps(e){return e?.listeningEnabled!==!1}const ms=["report"],gs=[{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 Ge(e){return e<10?`0${e}`:`${e}`}function H(e,t){const n=new Date(e),r=`${n.getUTCFullYear()}-${Ge(n.getUTCMonth()+1)}-${Ge(n.getUTCDate())}`;return t==="day"?r:`${r}T${Ge(n.getUTCHours())}`}function j(e,t){const n=new Date(e);return n.setUTCMinutes(0,0,0),t==="day"&&n.setUTCHours(0),n.getTime()}const hs=36e5,ys=864e5;function Es(e,t,n){const r=n==="hour"?hs:ys,o=[];for(let i=j(e,n);i<=t;i+=r)o.push(H(i,n));return o}const _s=new Set(["time"]);function Ss(e,t,n){if(!e)return[];const r=new Set(e.supportedDimensions??[]);return t.filter(o=>r.has(o.id)&&!_s.has(o.id)).map(o=>({id:o.id,label:o.label,options:o.options?.length?o.options:n[o.id]??[]})).filter(o=>o.options.length>0)}function As(e,t){const n=t.find(o=>o.id===e.dimensionId),r=n?.options.find(o=>o.value===e.value);return`${n?.label??e.dimensionId} · ${r?.label??e.value}`}function bs(e){return{value:e.id,label:`${e.category} · ${e.label}`}}const Dn=[{id:"resource",label:"Resource",labelSource:"raw"},{id:"origin",label:"Herkomst",labelSource:"raw"}],Ln=Dn.map(e=>e.id);function xn(e,t){return`${e}.usage.${t}`}function Ts(e,t){return t.map(n=>({id:xn(e,n.unit),label:n.label,category:"Verbruik",valueType:n.valueType??"count",aggregation:"sum",supportedDimensions:["provider",...Ln,...n.extraDimensions??[],"time"]}))}async function Is(e,t){let n=0,r=0;for(const o of e)try{await t(o),n++}catch(i){const s=i?.status;if(s===403||s===400)r++;else throw i}return{decided:n,waiting:r}}function Os(e){return e.approvalRequestIds?.length?[...e.approvalRequestIds]:e.approvalRequestId?[e.approvalRequestId]:[]}function vs(e,t){return e.filter(r=>!r.enabled||r.scopeKind!==t.scopeKind||r.act!==t.act?!1:r.minAmountCents==null?!0:t.amountCents!=null&&t.amountCents>=r.minAmountCents).sort((r,o)=>{const i=r.minAmountCents??-1;return(o.minAmountCents??-1)-i||r.id.localeCompare(o.id)})[0]}function Cs(e,t,n,r){const o=new Set(e.userIds);for(const i of e.teamIds)for(const s of t[i]??[])o.add(s);return r||o.delete(n),[...o]}function Ms(e,t){if(e.status!=="pending"||e.decisions.some(i=>i.userId===t.userId))return e;const n=[...e.decisions,t],r=e.pendingUserIds.filter(i=>i!==t.userId);if(t.decision==="rejected")return{...e,decisions:n,pendingUserIds:r,status:"rejected",settledAt:t.at};const o=e.rule==="any"||r.length===0;return{...e,decisions:n,pendingUserIds:r,status:o?"approved":"pending",settledAt:o?t.at:void 0}}const Pn=new Set(["info","success","warning","destructive"]),ge=200,he=100,ye=200,Ee=12,_e=4,tt=10,$n=8,nt=12,Ne=4e3,F=500,Kn=1024*1024,ks=new Set(["heading","paragraph","list","quote","code","divider","table","kpi","callout","image","letterhead","totals","pagebreak"]),Un=["http:","https:","mailto:","tel:"],Ns=/^[a-z][a-z0-9+.-]*:/i;function Et(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=Ns.exec(t)?.[0];return n?Un.includes(n.toLowerCase()):!t.startsWith("//")}const Rs=/^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;function ws(e){let t="",n=0;for(;n<e.length;){const r=e[n]==="!"&&e[n+1]==="[";if(e[n]!=="["&&!r){t+=e[n],n+=1;continue}const o=n+(r?2:1),i=Jt(e,o,"[","]");if(i<0||e[i+1]!=="("){t+=e[n],n+=1;continue}const s=Jt(e,i+2,"(",")");if(s<0){t+=e[n],n+=1;continue}const a=e.slice(o,i),l=e.slice(i+2,s).trim().split(/\s+/)[0]??"";t+=r||!Et(l)?a:e.slice(n,s+1),n=s+1}return t}function Jt(e,t,n,r){let o=1;for(let i=t;i<e.length;i+=1){if(e[i]==="\\"){i+=1;continue}if(e[i]===n)o+=1;else if(e[i]===r&&(o-=1,o===0))return i}return-1}function Fn(e){return ws(e).replace(Rs,(t,n,r)=>Et(r)?t:"")}function I(e,t=Ne){return typeof e=="string"?Fn(e).slice(0,t):""}function Ds(e,t=Ne){return typeof e=="string"?e.slice(0,t):""}function Y(e,t=200){return I(e,t)}function Ls(e,t="info"){return typeof e=="string"&&Pn.has(e)?e:t}function Bn(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=ge){t(`more than ${ge} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!ks.has(o.type)){t(`unknown block type ${String(o.type)}`);continue}const i=typeof o.block_id=="string"?{block_id:o.block_id}:{};switch(o.type){case"heading":{const s=I(o.text);if(!s){t("a heading without text");continue}const a=o.level===2||o.level===3?o.level:1;n.push({...i,type:"heading",level:a,text:s});break}case"paragraph":{const s=I(o.text);if(!s){t("a paragraph without text");continue}n.push({...i,type:"paragraph",text:s});break}case"quote":{const s=I(o.text);if(!s){t("a quote without text");continue}n.push({...i,type:"quote",text:s});break}case"code":{const s=Ds(o.text);if(!s){t("a code block without text");continue}const a=typeof o.lang=="string"?{lang:o.lang.slice(0,32)}:{};n.push({...i,type:"code",...a,text:s});break}case"divider":n.push({...i,type:"divider"});break;case"list":{const s=Array.isArray(o.items)?o.items:[],a=[];for(const c of s){if(a.length>=he){t(`more than ${he} list items`);break}const d=I(c?.text);if(!d)continue;const u=I(c?.lead,200);a.push(u?{lead:u,text:d}:{text:d})}if(a.length===0){t("a list without usable items");continue}const l=o.style==="numbered"?"numbered":"bulleted";n.push({...i,type:"list",style:l,items:a});break}case"table":{const s=Array.isArray(o.columns)?o.columns:[],a=[];for(const u of s){if(a.length>=Ee){t(`more than ${Ee} table columns`);break}const f=I(u?.label,F),p=u?.align==="right"?"right":void 0;a.push(p?{label:f,align:p}:{label:f})}if(a.length===0){t("a table without columns");continue}const l=Array.isArray(o.rows)?o.rows:[],c=[];for(const u of l){if(c.length>=ye){t(`more than ${ye} table rows`);break}const f=Array.isArray(u)?u:[];c.push(a.map((p,y)=>I(f[y],F)))}const d=I(o.caption,F);n.push({...i,type:"table",columns:a,rows:c,...d?{caption:d}:{}});break}case"kpi":{const s=Array.isArray(o.items)?o.items:[],a=[];for(const l of s){if(a.length>=_e){t(`more than ${_e} kpi items`);break}const c=I(l?.value,40),d=I(l?.label,80);if(!c||!d)continue;const u=l?.tone;a.push(typeof u=="string"&&Pn.has(u)?{value:c,label:d,tone:u}:{value:c,label:d})}if(a.length===0){t("a kpi block without usable items");continue}n.push({...i,type:"kpi",items:a});break}case"image":{const s=typeof o.url=="string"?o.url.trim():"";if(!s||!Et(s)){t("an image without a usable url");continue}const a=I(o.alt,200),l=I(o.caption,F);n.push({...i,type:"image",url:s,...a?{alt:a}:{},...l?{caption:l}:{}});break}case"letterhead":{const s=Array.isArray(o.fields)?o.fields:[],a=[];for(const d of s){if(a.length>=tt){t(`more than ${tt} letterhead fields`);break}const u=d,f=typeof u?.key=="string"?u.key.slice(0,48):"",p=Y(u?.value);if(!f||!p)continue;const y=Y(u?.label,80);a.push(y?{key:f,label:y,value:p}:{key:f,value:p})}const c=(Array.isArray(o.recipient)?o.recipient:[]).slice(0,$n).map(d=>Y(d)).filter(Boolean);if(a.length===0&&c.length===0){t("a letterhead without fields or recipient");continue}n.push({...i,type:"letterhead",fields:a,...c.length>0?{recipient:c}:{}});break}case"totals":{const s=c=>{const d=Array.isArray(c)?c:[],u=[];for(const f of d){if(u.length>=nt){t(`more than ${nt} totals rows`);break}const p=f,y=Y(p?.label),m=Y(p?.amount,40);!y||!m||u.push(p?.emphasis===!0?{label:y,amount:m,emphasis:!0}:{label:y,amount:m})}return u},a=s(o.rows);if(a.length===0&&!o.block_id){t("a totals block without usable rows");continue}const l=s(o.taxRows);n.push({...i,type:"totals",rows:a,...l.length>0?{taxRows:l}:{}});break}case"pagebreak":n.push({...i,type:"pagebreak"});break;case"callout":{const s=I(o.text);if(!s){t("a callout without text");continue}const a=I(o.title,200);n.push({...i,type:"callout",tone:Ls(o.tone),...a?{title:a}:{},text:s});break}}}return n}function Gn(e){return JSON.stringify(e).length}function Hn(e){return{blocks:e.length,types:e.map(t=>t.type),headings:e.flatMap(t=>t.type==="heading"?[t.text]:[])}}function Zt(e){return e.replace(/\|/g,"\\|").replace(/\r?\n/g," ").trim()}function He(e,t,n){const r=e.map((o,i)=>n?.[i]==="right"?"---:":"---");return[`| ${e.map(Zt).join(" | ")} |`,`| ${r.join(" | ")} |`,...t.map(o=>`| ${o.map(Zt).join(" | ")} |`)]}function xs(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 r=e.style==="numbered"?`${n+1}.`:"-";return t.lead?`${r} **${t.lead}** ${t.text}`:`${r} ${t.text}`});case"table":{const t=He(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 He(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}`);case"image":{const t=`![${e.alt??""}](${e.url})`;return e.caption?[t,"",`*${e.caption}*`]:[t]}case"letterhead":{const t=[...e.recipient??[]];t.length>0&&e.fields.length>0&&t.push("");for(const n of e.fields)t.push(n.label?`**${n.label}:** ${n.value}`:n.value);return t.map((n,r)=>r<t.length-1?`${n} `:n)}case"totals":return He(["",""],[...e.rows,...e.taxRows??[]].map(t=>[t.emphasis?`**${t.label}**`:t.label,t.emphasis?`**${t.amount}**`:t.amount]),["left","right"]);case"pagebreak":return["---"]}}function _t(e,t){const n=[],r=e.some(o=>o.type==="heading"&&o.level===1);t&&!r&&n.push(`# ${t}`);for(const o of e){const i=xs(o);i.length>0&&n.push(i.join(`
3
+ `),t=t.replace(Ri,"$2"),t=t.replace(wi,"$2"),t=t.replace(/~~(?=\S)([\s\S]*?\S)~~/g,"$1"),t=t.replace(/`([^`\n]+)`/g,"$1"),t.replace(/\s+/g," ").trim()}function On(e){return e.replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<[^>]+>/g," ").replace(/&nbsp;/g," ").replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/\s+/g," ").trim()}function ne(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 Wt(e){return e?` — ${Math.floor(e/60)}m ${e%60}s`:""}function Be(e){return e?.split("@")?.[0]||e||""}function re(e){return e.map(t=>t.name).join(", ")}function Vt(e){return e==="meeting"?"Meeting":e==="video"?"Video call":"Audio call"}const L={VOICE_CALL_STARTED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gesprek gestart",timeline:e=>e.direction==="inbound"?`Inbound call started — ${Be(e.payload.from)}`:`Outbound call started — ${Be(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?` (${ne(e.payload.duration)})`:""}`,timeline:e=>`Call ended${Wt(e.payload.duration)}`},VOICE_CALL_MISSED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gemiste oproep",timeline:e=>`Missed call — ${Be(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?` (${ne(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:Yt},EMAIL_SENT:{shape:"message",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:Yt},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=>`${re(e.payload.members)} toegevoegd`,timeline:e=>{const t=re(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=>`${re(e.payload.members)} verlaten`,timeline:e=>{const t=re(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=>`${Vt(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?` (${ne(e.payload.duration)})`:""}`,timeline:e=>`${Vt(e.payload.callType)} ended${Wt(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"},AGENT_DELEGATED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:e=>`${e.payload.fromAgentName} vroeg ${e.payload.toAgentName??"een collega"}${e.payload.ask?`: ${e.payload.ask}`:""}`,timeline:e=>`${e.payload.fromAgentName} schakelde ${e.payload.toAgentName??"een collega"} in`},AGENT_ANSWERED:{shape:"event",icon:"circle",playbookAuthored:!0,snippet:e=>`${e.payload.fromAgentName} beantwoordde de deelvraag`,timeline:e=>`${e.payload.fromAgentName} beantwoordde de deelvraag`},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?` (${ne(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}`},SLA_BREACHED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.SLA_BREACHED",icon:"alarm-clock",snippet:e=>`SLA verlopen: ${e.payload.metric}`,timeline:e=>`SLA target ${e.payload.metric} passed its deadline`},WORK_COMMENT_ADDED:{shape:"note",icon:"sticky-note",carriesText:!0,snippet:()=>"Reactie"},WORK_ITEM_ASSIGNED:{shape:"event",icon:"user",snippet:()=>"Taak toegewezen",timeline:(e,t)=>`Assigned by ${t}`},WORK_ITEM_STATUS_CHANGED:{shape:"event",triggerable:!0,icon:"circle-dot",snippet:()=>"Status gewijzigd",timeline:(e,t)=>`Status changed by ${t}`},CRM_NOTE_ADDED:{shape:"note",icon:"sticky-note",carriesText:!0,snippet:()=>"Notitie"},CRM_CALL_LOGGED:{shape:"note",icon:"phone",carriesText:!0,snippet:()=>"Gesprek vastgelegd"},CRM_STAGE_CHANGED:{shape:"event",icon:"circle-dot",snippet:()=>"Fase gewijzigd",timeline:(e,t)=>`Stage changed by ${t}`}};function Yt(e){const t=e.payload,n=In(t.bodyText).trim()||t.bodySnippet?.trim()||On(t.body??"");return t.subject?`${t.subject} — ${n}`:n}function O(e){return L[e]}function Di(e){return O(e)?.icon??"circle"}function Li(e){return O(e)?.channelKind}function gt(e){return e==="message"||e==="note"}function xi(e){return gt(O(e)?.shape)}function ht(e){return e==="note"}function Pi(e){return ht(O(e)?.shape)}function $i(e){return O(e)?.replyable===!0}function Ui(e){return O(e)?.carriesText===!0}function vn(e){return O(e)?.countsAs}function Ki(e){return O(e)?.playbookAuthored===!0}function Fi(e){return O(e)?.connected===!0}function Bi(e){const t=O(e);return t?.shape==="artifact"&&t?.carriesText===!0}function Cn(e){const t=O(e.type)?.snippet;return t?t(e):""}function Gi(e,t){const n=O(e.type)?.timeline;return n?n(e,t):e.type.replace(/_/g," ").toLowerCase()}function Hi(e){const t=O(e.type)?.joinUrl;return t?t(e):void 0}function pe(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return"";n=n[r]}return n==null?"":typeof n=="string"?n:typeof n=="number"||typeof n=="boolean"?String(n):""}function me(e,t,n){if(e===void 0)return null;if(typeof e=="string")return e||null;if("value"in e)return pe(t,e.value)||null;const r={};for(const[i,s]of Object.entries(e.params??{}))r[i]=pe(t,s);const o=n(e.key,r);return o===e.key?null:o}function Mn(e,t){if(!e||typeof e=="string"||"value"in e)return null;const n={};for(const[r,o]of Object.entries(e.params??{}))n[r]=pe(t,o);return{key:e.key,params:n}}const zt=140;function ji(e){const t=e.trim();return t.length<=zt?t:`${t.slice(0,zt-1).trimEnd()}…`}function Wi(e,t){const n=Mn(t?.text,e),r=t?me(t.text,e,o=>o):null;return{activityId:e.id,type:e.type,snippet:ji(r??Cn(e)),authorName:e.author?.name??"",direction:e.direction,createdAt:e.createdAt??Date.now(),...n?{snippetKey:n.key,snippetParams:n.params}:{}}}const Vi=e=>e;function Xt(e){const t=L[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 qt(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 kn{constructor(t=[],n=Vi){this.translate=n;for(const r of t)r?.type&&(r.type in L||this.declared.has(r.type)||this.declared.set(r.type,r))}declared=new Map;get(t){if(t in L)return Xt(t);const n=this.declared.get(t);return n?qt(n):void 0}triggerable(){const t=Object.keys(L).filter(r=>L[r].triggerable).map(Xt),n=[...this.declared.values()].map(qt).filter(r=>r.triggerable);return[...t,...n]}timelineText(t,n){const r=L[t.type];if(r?.timeline)return r.timeline(t,n);const o=this.declared.get(t.type);return me(o?.text,t,this.translate)??t.type.replace(/_/g," ").toLowerCase()}snippet(t){const n=L[t.type];if(n?.snippet)return n.snippet(t);const r=this.declared.get(t.type);return me(r?.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 gt(this.get(t)?.shape)}nestsUnderParent(t){return ht(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 Yi=new kn;function zi(e,t,n=[]){const r=e.createdAt;if(!r)return[];const o=new Set(n);return e.author.type==="user"&&e.author.id&&o.add(e.author.id),Object.entries(t).filter(([i,s])=>s>=r&&!o.has(i)).map(([i])=>i)}function Nn(e){return e.createdAt??0}function Xi(e){return e.type==="EMAIL_RECEIVED"||e.type==="EMAIL_SENT"}function qi(e){return e.type==="CHAT_MESSAGE_SENT"||e.type==="CHAT_MESSAGE_RECEIVED"}const ke=[{id:"chat",defaultFlag:"isDefaultLlm",label:"LLM"},{id:"transcription",defaultFlag:"isDefaultStt",label:"STT"},{id:"tts",defaultFlag:"isDefaultTts",label:"TTS"},{id:"embedding",defaultFlag:"isDefaultEmbedding",label:"Embeddings"},{id:"decision",defaultFlag:"isDefaultDecision",label:"Beslissingen"}];function Qi(e){return ke.find(t=>t.id===e)?.defaultFlag}function Ji(e){const t={};for(const n of ke)t[n.defaultFlag]=e?.[n.defaultFlag]===!0;return t}function Zi(e,t){const n={};for(const r of ke){const o=r.defaultFlag;n[o]=(e?.[o]??t?.[o])===!0}return n}const es={image:"image",pdf:"file",text:"text",audio:"audio",video:"video"};function ts(e,t){if(t==="text")return!0;if(!e?.in?.length)return;const n=es[t];return n?e.in.includes(n):!1}const B=["fast","standard","deep"],Qt=(e,t)=>{const n=B.indexOf(e),r=Math.min(B.length-1,Math.max(0,n+t));return B[r]},qe=e=>B.indexOf(e);function Rn(e){const t=[];let n;return e.expectsSchema?(n="fast",t.push("schema-antwoord")):(e.mode??"agent")==="ask"&&!e.toolCount?(n="fast",t.push("vraag zonder tools")):e.toolCount||e.hasAttachments?(n="standard",t.push(e.hasAttachments?"bijlagen":"tools beschikbaar")):(n="standard",t.push("standaard")),e.repair&&(n=Qt(n,1),t.push("herstelbeurt: een tier omhoog")),e.budgetPressure==="soft"&&n!=="fast"&&(n=Qt(n,-1),t.push("budget bijna op: een tier omlaag in plaats van weigeren")),e.maxTier&&qe(n)>qe(e.maxTier)&&(n=e.maxTier,t.push(`plafond van de rol: ${e.maxTier}`)),{tier:n,reasons:t}}function ns(e,t,n){const r=Rn(t);if(!e)return{...r,...n,routed:!1};for(let o=qe(r.tier);o>=0;o--){const i=B[o],s=e[i];if(!s?.accountId||!s.model)continue;const a=i===r.tier?r.reasons:[...r.reasons,`${r.tier} niet ingericht, ${i} gebruikt`];return{tier:i,reasons:a,accountId:s.accountId,model:s.model,routed:!0}}return{...r,...n,routed:!1,reasons:[...r.reasons,"geen tier ingericht: het profiel beslist"]}}const Qe=255,Je=2,Ze=10;function rs(e){const t=Object.keys(e);if(!t.length)return"geen vragen gesteld";for(const n of t){const r=e[n];if(!r?.instructions?.trim())return`vraag "${n}" heeft geen instructie`;if(r.type==="choice"){const o=Object.keys(r.criteria??{});if(o.length<2)return`vraag "${n}" heeft minder dan twee opties`;if(o.length>Qe)return`vraag "${n}" heeft meer dan ${Qe} opties`}if(r.type==="score"){const o=r.criteria?.length??0;if(o<Je||o>Ze)return`vraag "${n}" heeft ${o} niveaus; het moeten er ${Je} tot ${Ze} zijn`}}return null}function os(e,t=.9,n=.6){return Number.isFinite(e)?e>=t?"act":e>=n?"check":"refuse":"refuse"}const is=["counting or arithmetic","comparing dates or durations","judging whether two numbers are close","generating text"],yt=[{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:"typesafe",label:"TypeSafe (Jev)",capabilities:["decision"],defaultModel:"jev-latest",baseUrl:"https://api.typesafe.ai/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 Z(e){return yt.find(t=>t.id===e)}function ss(e){return Z(e)?.label??e}function as(e,t="gpt-5-mini"){return Z(e)?.defaultModel??t}function cs(e){return yt.filter(t=>t.capabilities.includes(e))}function ls(e){const t=Z(e);return!!t&&!t.baseUrl}function us(e,t){return t==="text"?!0:Z(e)?.attachmentKinds?.includes(t)===!0}function ds(e,t){if(!e.enabled)return"ok";const n=et(e.hardLimitNanos),r=et(e.softLimitNanos);return n!==void 0&&t>=n?"hard":r!==void 0&&t>=r?"soft":"ok"}function et(e){return typeof e=="number"?e:void 0}function wn(e,t="month"){const n=new Date(e);return Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)}function fs(e,t="month"){const n=new Date(wn(e,t));return`${n.getUTCFullYear()}-${String(n.getUTCMonth()+1).padStart(2,"0")}`}function ps(e){return e==="ask"||e==="draft"||e==="agent"}function ms(e){return e?.listeningEnabled!==!1}const gs=["report"],hs=[{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 Ge(e){return e<10?`0${e}`:`${e}`}function H(e,t){const n=new Date(e),r=`${n.getUTCFullYear()}-${Ge(n.getUTCMonth()+1)}-${Ge(n.getUTCDate())}`;return t==="day"?r:`${r}T${Ge(n.getUTCHours())}`}function j(e,t){const n=new Date(e);return n.setUTCMinutes(0,0,0),t==="day"&&n.setUTCHours(0),n.getTime()}const ys=36e5,Es=864e5;function _s(e,t,n){const r=n==="hour"?ys:Es,o=[];for(let i=j(e,n);i<=t;i+=r)o.push(H(i,n));return o}const Ss=new Set(["time"]);function As(e,t,n){if(!e)return[];const r=new Set(e.supportedDimensions??[]);return t.filter(o=>r.has(o.id)&&!Ss.has(o.id)).map(o=>({id:o.id,label:o.label,options:o.options?.length?o.options:n[o.id]??[]})).filter(o=>o.options.length>0)}function Ts(e,t){const n=t.find(o=>o.id===e.dimensionId),r=n?.options.find(o=>o.value===e.value);return`${n?.label??e.dimensionId} · ${r?.label??e.value}`}function bs(e){return{value:e.id,label:`${e.category} · ${e.label}`}}const Dn=[{id:"resource",label:"Resource",labelSource:"raw"},{id:"origin",label:"Herkomst",labelSource:"raw"}],Ln=Dn.map(e=>e.id);function xn(e,t){return`${e}.usage.${t}`}function Is(e,t){return t.map(n=>({id:xn(e,n.unit),label:n.label,category:"Verbruik",valueType:n.valueType??"count",aggregation:"sum",supportedDimensions:["provider",...Ln,...n.extraDimensions??[],"time"]}))}async function Os(e,t){let n=0,r=0;for(const o of e)try{await t(o),n++}catch(i){const s=i?.status;if(s===403||s===400)r++;else throw i}return{decided:n,waiting:r}}function vs(e){return e.approvalRequestIds?.length?[...e.approvalRequestIds]:e.approvalRequestId?[e.approvalRequestId]:[]}function Cs(e,t){return e.filter(r=>!r.enabled||r.scopeKind!==t.scopeKind||r.act!==t.act?!1:r.minAmountCents==null?!0:t.amountCents!=null&&t.amountCents>=r.minAmountCents).sort((r,o)=>{const i=r.minAmountCents??-1;return(o.minAmountCents??-1)-i||r.id.localeCompare(o.id)})[0]}function Ms(e,t,n,r){const o=new Set(e.userIds);for(const i of e.teamIds)for(const s of t[i]??[])o.add(s);return r||o.delete(n),[...o]}function ks(e,t){if(e.status!=="pending"||e.decisions.some(i=>i.userId===t.userId))return e;const n=[...e.decisions,t],r=e.pendingUserIds.filter(i=>i!==t.userId);if(t.decision==="rejected")return{...e,decisions:n,pendingUserIds:r,status:"rejected",settledAt:t.at};const o=e.rule==="any"||r.length===0;return{...e,decisions:n,pendingUserIds:r,status:o?"approved":"pending",settledAt:o?t.at:void 0}}const Pn=new Set(["info","success","warning","destructive"]),ge=200,he=100,ye=200,Ee=12,_e=4,tt=10,$n=8,nt=12,Ne=4e3,F=500,Un=1024*1024,Ns=new Set(["heading","paragraph","list","quote","code","divider","table","kpi","callout","image","letterhead","totals","pagebreak"]),Kn=["http:","https:","mailto:","tel:"],Rs=/^[a-z][a-z0-9+.-]*:/i;function Et(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=Rs.exec(t)?.[0];return n?Kn.includes(n.toLowerCase()):!t.startsWith("//")}const ws=/^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;function Ds(e){let t="",n=0;for(;n<e.length;){const r=e[n]==="!"&&e[n+1]==="[";if(e[n]!=="["&&!r){t+=e[n],n+=1;continue}const o=n+(r?2:1),i=Jt(e,o,"[","]");if(i<0||e[i+1]!=="("){t+=e[n],n+=1;continue}const s=Jt(e,i+2,"(",")");if(s<0){t+=e[n],n+=1;continue}const a=e.slice(o,i),l=e.slice(i+2,s).trim().split(/\s+/)[0]??"";t+=r||!Et(l)?a:e.slice(n,s+1),n=s+1}return t}function Jt(e,t,n,r){let o=1;for(let i=t;i<e.length;i+=1){if(e[i]==="\\"){i+=1;continue}if(e[i]===n)o+=1;else if(e[i]===r&&(o-=1,o===0))return i}return-1}function Fn(e){return Ds(e).replace(ws,(t,n,r)=>Et(r)?t:"")}function I(e,t=Ne){return typeof e=="string"?Fn(e).slice(0,t):""}function Ls(e,t=Ne){return typeof e=="string"?e.slice(0,t):""}function Y(e,t=200){return I(e,t)}function xs(e,t="info"){return typeof e=="string"&&Pn.has(e)?e:t}function Bn(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=ge){t(`more than ${ge} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!Ns.has(o.type)){t(`unknown block type ${String(o.type)}`);continue}const i=typeof o.block_id=="string"?{block_id:o.block_id}:{};switch(o.type){case"heading":{const s=I(o.text);if(!s){t("a heading without text");continue}const a=o.level===2||o.level===3?o.level:1;n.push({...i,type:"heading",level:a,text:s});break}case"paragraph":{const s=I(o.text);if(!s){t("a paragraph without text");continue}n.push({...i,type:"paragraph",text:s});break}case"quote":{const s=I(o.text);if(!s){t("a quote without text");continue}n.push({...i,type:"quote",text:s});break}case"code":{const s=Ls(o.text);if(!s){t("a code block without text");continue}const a=typeof o.lang=="string"?{lang:o.lang.slice(0,32)}:{};n.push({...i,type:"code",...a,text:s});break}case"divider":n.push({...i,type:"divider"});break;case"list":{const s=Array.isArray(o.items)?o.items:[],a=[];for(const c of s){if(a.length>=he){t(`more than ${he} list items`);break}const d=I(c?.text);if(!d)continue;const u=I(c?.lead,200);a.push(u?{lead:u,text:d}:{text:d})}if(a.length===0){t("a list without usable items");continue}const l=o.style==="numbered"?"numbered":"bulleted";n.push({...i,type:"list",style:l,items:a});break}case"table":{const s=Array.isArray(o.columns)?o.columns:[],a=[];for(const u of s){if(a.length>=Ee){t(`more than ${Ee} table columns`);break}const f=I(u?.label,F),p=u?.align==="right"?"right":void 0;a.push(p?{label:f,align:p}:{label:f})}if(a.length===0){t("a table without columns");continue}const l=Array.isArray(o.rows)?o.rows:[],c=[];for(const u of l){if(c.length>=ye){t(`more than ${ye} table rows`);break}const f=Array.isArray(u)?u:[];c.push(a.map((p,y)=>I(f[y],F)))}const d=I(o.caption,F);n.push({...i,type:"table",columns:a,rows:c,...d?{caption:d}:{}});break}case"kpi":{const s=Array.isArray(o.items)?o.items:[],a=[];for(const l of s){if(a.length>=_e){t(`more than ${_e} kpi items`);break}const c=I(l?.value,40),d=I(l?.label,80);if(!c||!d)continue;const u=l?.tone;a.push(typeof u=="string"&&Pn.has(u)?{value:c,label:d,tone:u}:{value:c,label:d})}if(a.length===0){t("a kpi block without usable items");continue}n.push({...i,type:"kpi",items:a});break}case"image":{const s=typeof o.url=="string"?o.url.trim():"";if(!s||!Et(s)){t("an image without a usable url");continue}const a=I(o.alt,200),l=I(o.caption,F);n.push({...i,type:"image",url:s,...a?{alt:a}:{},...l?{caption:l}:{}});break}case"letterhead":{const s=Array.isArray(o.fields)?o.fields:[],a=[];for(const d of s){if(a.length>=tt){t(`more than ${tt} letterhead fields`);break}const u=d,f=typeof u?.key=="string"?u.key.slice(0,48):"",p=Y(u?.value);if(!f||!p)continue;const y=Y(u?.label,80);a.push(y?{key:f,label:y,value:p}:{key:f,value:p})}const c=(Array.isArray(o.recipient)?o.recipient:[]).slice(0,$n).map(d=>Y(d)).filter(Boolean);if(a.length===0&&c.length===0){t("a letterhead without fields or recipient");continue}n.push({...i,type:"letterhead",fields:a,...c.length>0?{recipient:c}:{}});break}case"totals":{const s=c=>{const d=Array.isArray(c)?c:[],u=[];for(const f of d){if(u.length>=nt){t(`more than ${nt} totals rows`);break}const p=f,y=Y(p?.label),m=Y(p?.amount,40);!y||!m||u.push(p?.emphasis===!0?{label:y,amount:m,emphasis:!0}:{label:y,amount:m})}return u},a=s(o.rows);if(a.length===0&&!o.block_id){t("a totals block without usable rows");continue}const l=s(o.taxRows);n.push({...i,type:"totals",rows:a,...l.length>0?{taxRows:l}:{}});break}case"pagebreak":n.push({...i,type:"pagebreak"});break;case"callout":{const s=I(o.text);if(!s){t("a callout without text");continue}const a=I(o.title,200);n.push({...i,type:"callout",tone:xs(o.tone),...a?{title:a}:{},text:s});break}}}return n}function Gn(e){return JSON.stringify(e).length}function Hn(e){return{blocks:e.length,types:e.map(t=>t.type),headings:e.flatMap(t=>t.type==="heading"?[t.text]:[])}}function Zt(e){return e.replace(/\|/g,"\\|").replace(/\r?\n/g," ").trim()}function He(e,t,n){const r=e.map((o,i)=>n?.[i]==="right"?"---:":"---");return[`| ${e.map(Zt).join(" | ")} |`,`| ${r.join(" | ")} |`,...t.map(o=>`| ${o.map(Zt).join(" | ")} |`)]}function Ps(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 r=e.style==="numbered"?`${n+1}.`:"-";return t.lead?`${r} **${t.lead}** ${t.text}`:`${r} ${t.text}`});case"table":{const t=He(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 He(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}`);case"image":{const t=`![${e.alt??""}](${e.url})`;return e.caption?[t,"",`*${e.caption}*`]:[t]}case"letterhead":{const t=[...e.recipient??[]];t.length>0&&e.fields.length>0&&t.push("");for(const n of e.fields)t.push(n.label?`**${n.label}:** ${n.value}`:n.value);return t.map((n,r)=>r<t.length-1?`${n} `:n)}case"totals":return He(["",""],[...e.rows,...e.taxRows??[]].map(t=>[t.emphasis?`**${t.label}**`:t.label,t.emphasis?`**${t.amount}**`:t.amount]),["left","right"]);case"pagebreak":return["---"]}}function _t(e,t){const n=[],r=e.some(o=>o.type==="heading"&&o.level===1);t&&!r&&n.push(`# ${t}`);for(const o of e){const i=Ps(o);i.length>0&&n.push(i.join(`
4
4
  `))}return`${n.join(`
5
5
 
6
6
  `)}
7
- `}const St=e=>`user:${e}`,At=e=>`team:${e}`;function Ps(e){const t=new Set;for(const n of e??[])n?.id&&(n.kind==="user"&&t.add(St(n.id)),n.kind==="team"&&t.add(At(n.id)));return[...t].sort()}function $s(e,t){return[St(e),...t.map(At)]}function Ks(e){const t=new Set;for(const n of e??[])n?.kind&&t.add(n.kind);return[...t]}const jn=["done","escalated"],Us=["open","waiting"];function Fs(e){return jn.includes(e)}const Wn="assignment";function Bs(e){return`${Wn}:${e}`}function Gs(e,t,n,r){if(e.direction==="inbound")return!0;if(e.author?.type==="user"&&e.author.id===t)return!1;const o=e.payload?.mentions;return Array.isArray(o)&&o.includes(t)||r&&r===t?!0:n==="reply"}function Hs(e){const{targetAuthorId:t,reactorId:n,agentId:r,on:o}=e;return!o||!t||t!==r?!1:n!==r}function js(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}const Vn=12;function Ws(e,t,n=Vn){const r=t+1;return e?e.kind==="done"?{status:"done",waitingOn:null,turns:r,reason:e.note}:e.kind==="escalate"?{status:"escalated",waitingOn:null,turns:r,reason:e.reason}:r>=n?{status:"escalated",waitingOn:null,turns:r,reason:`na ${n} beurten nog niet afgerond, dus een mens neemt het over`}:{status:"waiting",waitingOn:e.on,turns:r}:{status:"escalated",waitingOn:null,turns:r,reason:"de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"}}const Yn=2;function Vs(e,t,n,r){if(t===n)return"een agent schakelt zichzelf niet in";if(!r?.includes(t))return"deze agent staat niet in de lijst die je mag inschakelen";const o=e??[];if(o.includes(t))return"die agent zit al in deze keten; dat zou een kringetje worden";const i=Math.max(0,o.length-1);return i>=Yn?`er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet`:null}const Ys="organization.business-entities.list";function zs(e,t,n){return e?e===t:n}function Xs(e){return e.isDefault===!0?[e.id,""]:[e.id]}function qs(e,t,n){const r=new Map;for(const o of e)o.businessEntityId||r.set(o[t],o);if(n)for(const o of e)o.businessEntityId===n&&r.set(o[t],o);return[...r.values()]}function zn(e){const t=e.trim().replace(/[\s-]/g,"");if(!/^\d+$/.test(t)||![8,12,13,14].includes(t.length))return;const n=t.padStart(14,"0");return Qs(n.slice(0,13))===Number(n[13])?n:void 0}function Qs(e){let t=0;for(let n=0;n<e.length;n++)t+=Number(e[n])*(n%2===0?3:1);return(10-t%10)%10}function Js(e,t){const n=t.trim(),r=zn(n),o=[{sku:n},{barcodes:{$in:[n]}}];return r&&o.push({gtin:r}),{organizationId:e,$or:o}}function W(e){return e<0?-Math.round(-e):Math.round(e)}function Xn(e,t){if(t.length===0)return[];const n=t.reduce((l,c)=>l+c,0);if(n===0)return t.map((l,c)=>c===0?e:0);const r=t.map(l=>e*l/n),o=r.map(l=>Math.trunc(l));let i=e-o.reduce((l,c)=>l+c,0);const s=r.map((l,c)=>({index:c,fraction:Math.abs(l-o[c])})).sort((l,c)=>c.fraction-l.fraction),a=i<0?-1:1;for(let l=0;i!==0&&l<s.length;l++)o[s[l].index]+=a,i-=a;return o}function x(e,t={}){const n=t.decimal??",",r=t.group??".",o=e<0,i=Math.abs(Math.trunc(e)).toString().padStart(3,"0"),s=i.slice(0,-2),a=i.slice(-2);let l="";for(let c=0;c<s.length;c++)c>0&&(s.length-c)%3===0&&(l+=r),l+=s[c];return`${o?"-":""}${l}${n}${a}`}function Zs(e){const t=e.trim().replace(/[\s ]/g,"");if(!t)return;const n=t.replace(/^[-+]?[^\d.,-]*/,"").replace(/[^\d.,-]+$/,""),r=/^-/.test(t)||/-$/.test(t),o=n.replace(/-/g,"");if(!o||!/^[\d.,]+$/.test(o))return;const i=o.lastIndexOf(","),s=o.lastIndexOf("."),a=Math.max(i,s),l=a===-1?"":o.slice(a+1),c=a!==-1&&l.length>=1&&l.length<=2,d=c?o.slice(0,a):o;if(!ea(d))return;const u=d.replace(/[.,]/g,""),f=c?l.padEnd(2,"0"):"00";if(u==="")return;const p=Number(u)*100+Number(f);return r?-p:p}function ea(e){return/^\d+$/.test(e)?!0:e.includes(".")&&e.includes(",")?!1:/^\d{1,3}([.,]\d{3})*$/.test(e)}function ta(e){return e.costPriceCents==null?e.netCents:e.netCents-W(e.costPriceCents*e.quantity)}const na=[{key:"contract",matches:(e,t)=>!!e.contractId&&e.contractId===t.contractId&&!!e.productId},{key:"customer",matches:(e,t)=>!e.contractId&&!!e.companyId&&e.companyId===t.companyId&&!!e.productId},{key:"customer_category",matches:(e,t)=>!e.contractId&&!!e.companyId&&e.companyId===t.companyId&&!!e.categoryKey},{key:"segment",matches:(e,t)=>!e.contractId&&!e.companyId&&!!e.segmentKey&&e.segmentKey===t.segmentKey&&!!e.productId},{key:"segment_category",matches:(e,t)=>!e.contractId&&!e.companyId&&!!e.segmentKey&&e.segmentKey===t.segmentKey&&!!e.categoryKey},{key:"everyone",matches:e=>!e.contractId&&!e.companyId&&!e.segmentKey&&!!e.productId},{key:"everyone_category",matches:e=>!e.contractId&&!e.companyId&&!e.segmentKey&&!!e.categoryKey}];function qn(e,t,n){const r=n.filter(o=>o.currency===e.currency&&(o.validFrom==null||o.validFrom<=t.at)&&(o.validTo==null||o.validTo>=t.at)&&(o.minQuantity==null||t.quantity>=o.minQuantity)&&(o.productId==null||o.productId===e.id)&&(o.categoryKey==null||o.categoryKey===e.categoryKey)&&(o.productId!=null||o.categoryKey!=null));for(const o of na){const i=r.filter(a=>o.matches(a,t));if(i.length===0)continue;const s=i.reduce((a,l)=>(l.minQuantity??0)>=(a.minQuantity??0)?l:a);return{unitPriceCents:ra(s,e.listPriceCents),sourceKey:(s.minQuantity??0)>1?"tier":o.key,ruleId:s.id}}return{unitPriceCents:e.listPriceCents,sourceKey:"list"}}function ra(e,t){return e.unitPriceCents!=null?e.unitPriceCents:e.discountPercent!=null?W(t*(1-e.discountPercent/100)):t}const Qn="manual";function oa(e,t,n,r){return e.map(o=>{if(o.kind!=="product"||o.priceSourceKey===Qn)return o;const i=t.find(a=>a.id===o.productId);if(!i)return o;const s=qn(i,{...r,quantity:o.quantity},n);return s.unitPriceCents===o.unitPriceCents&&s.sourceKey===o.priceSourceKey?o:{...o,unitPriceCents:s.unitPriceCents,priceSourceKey:s.sourceKey}})}const ia=["piece","hour","day","month","km","license"],sa=new Set(["mail","message"]);function Jn(e,t){const n=e.settings?.signatures?.[t];return!n?.enabled||!n.body||n.body.trim()===""?null:n}function aa(e,t,n,r="html"){if(!e)return n;const o=Jn(e,t);return o?`${n}${r==="text"?`
7
+ `}const St=e=>`user:${e}`,At=e=>`team:${e}`;function $s(e){const t=new Set;for(const n of e??[])n?.id&&(n.kind==="user"&&t.add(St(n.id)),n.kind==="team"&&t.add(At(n.id)));return[...t].sort()}function Us(e,t){return[St(e),...t.map(At)]}function Ks(e){const t=new Set;for(const n of e??[])n?.kind&&t.add(n.kind);return[...t]}const jn=["done","escalated"],Fs=["open","waiting"];function Bs(e){return jn.includes(e)}const Wn="assignment";function Gs(e){return`${Wn}:${e}`}function Hs(e,t,n,r){if(e.direction==="inbound")return!0;if(e.author?.type==="user"&&e.author.id===t)return!1;const o=e.payload?.mentions;return Array.isArray(o)&&o.includes(t)||r&&r===t?!0:n==="reply"}function js(e){const{targetAuthorId:t,reactorId:n,agentId:r,on:o}=e;return!o||!t||t!==r?!1:n!==r}function Ws(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}const Vn=12;function Vs(e,t,n=Vn){const r=t+1;return e?e.kind==="done"?{status:"done",waitingOn:null,turns:r,reason:e.note}:e.kind==="escalate"?{status:"escalated",waitingOn:null,turns:r,reason:e.reason}:r>=n?{status:"escalated",waitingOn:null,turns:r,reason:`na ${n} beurten nog niet afgerond, dus een mens neemt het over`}:{status:"waiting",waitingOn:e.on,turns:r}:{status:"escalated",waitingOn:null,turns:r,reason:"de agent rondde zijn beurt af zonder te zeggen wat er moet gebeuren (wachten, afronden of overdragen)"}}const Yn=2;function Ys(e,t,n,r){if(t===n)return"een agent schakelt zichzelf niet in";if(!r?.includes(t))return"deze agent staat niet in de lijst die je mag inschakelen";const o=e??[];if(o.includes(t))return"die agent zit al in deze keten; dat zou een kringetje worden";const i=Math.max(0,o.length-1);return i>=Yn?`er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet`:null}const zs="organization.business-entities.list";function Xs(e,t,n){return e?e===t:n}function qs(e){return e.isDefault===!0?[e.id,""]:[e.id]}function Qs(e,t,n){const r=new Map;for(const o of e)o.businessEntityId||r.set(o[t],o);if(n)for(const o of e)o.businessEntityId===n&&r.set(o[t],o);return[...r.values()]}function zn(e){const t=e.trim().replace(/[\s-]/g,"");if(!/^\d+$/.test(t)||![8,12,13,14].includes(t.length))return;const n=t.padStart(14,"0");return Js(n.slice(0,13))===Number(n[13])?n:void 0}function Js(e){let t=0;for(let n=0;n<e.length;n++)t+=Number(e[n])*(n%2===0?3:1);return(10-t%10)%10}function Zs(e,t){const n=t.trim(),r=zn(n),o=[{sku:n},{barcodes:{$in:[n]}}];return r&&o.push({gtin:r}),{organizationId:e,$or:o}}function W(e){return e<0?-Math.round(-e):Math.round(e)}function Xn(e,t){if(t.length===0)return[];const n=t.reduce((l,c)=>l+c,0);if(n===0)return t.map((l,c)=>c===0?e:0);const r=t.map(l=>e*l/n),o=r.map(l=>Math.trunc(l));let i=e-o.reduce((l,c)=>l+c,0);const s=r.map((l,c)=>({index:c,fraction:Math.abs(l-o[c])})).sort((l,c)=>c.fraction-l.fraction),a=i<0?-1:1;for(let l=0;i!==0&&l<s.length;l++)o[s[l].index]+=a,i-=a;return o}function x(e,t={}){const n=t.decimal??",",r=t.group??".",o=e<0,i=Math.abs(Math.trunc(e)).toString().padStart(3,"0"),s=i.slice(0,-2),a=i.slice(-2);let l="";for(let c=0;c<s.length;c++)c>0&&(s.length-c)%3===0&&(l+=r),l+=s[c];return`${o?"-":""}${l}${n}${a}`}function ea(e){const t=e.trim().replace(/[\s ]/g,"");if(!t)return;const n=t.replace(/^[-+]?[^\d.,-]*/,"").replace(/[^\d.,-]+$/,""),r=/^-/.test(t)||/-$/.test(t),o=n.replace(/-/g,"");if(!o||!/^[\d.,]+$/.test(o))return;const i=o.lastIndexOf(","),s=o.lastIndexOf("."),a=Math.max(i,s),l=a===-1?"":o.slice(a+1),c=a!==-1&&l.length>=1&&l.length<=2,d=c?o.slice(0,a):o;if(!ta(d))return;const u=d.replace(/[.,]/g,""),f=c?l.padEnd(2,"0"):"00";if(u==="")return;const p=Number(u)*100+Number(f);return r?-p:p}function ta(e){return/^\d+$/.test(e)?!0:e.includes(".")&&e.includes(",")?!1:/^\d{1,3}([.,]\d{3})*$/.test(e)}function na(e){return e.costPriceCents==null?e.netCents:e.netCents-W(e.costPriceCents*e.quantity)}const ra=[{key:"contract",matches:(e,t)=>!!e.contractId&&e.contractId===t.contractId&&!!e.productId},{key:"customer",matches:(e,t)=>!e.contractId&&!!e.companyId&&e.companyId===t.companyId&&!!e.productId},{key:"customer_category",matches:(e,t)=>!e.contractId&&!!e.companyId&&e.companyId===t.companyId&&!!e.categoryKey},{key:"segment",matches:(e,t)=>!e.contractId&&!e.companyId&&!!e.segmentKey&&e.segmentKey===t.segmentKey&&!!e.productId},{key:"segment_category",matches:(e,t)=>!e.contractId&&!e.companyId&&!!e.segmentKey&&e.segmentKey===t.segmentKey&&!!e.categoryKey},{key:"everyone",matches:e=>!e.contractId&&!e.companyId&&!e.segmentKey&&!!e.productId},{key:"everyone_category",matches:e=>!e.contractId&&!e.companyId&&!e.segmentKey&&!!e.categoryKey}];function qn(e,t,n){const r=n.filter(o=>o.currency===e.currency&&(o.validFrom==null||o.validFrom<=t.at)&&(o.validTo==null||o.validTo>=t.at)&&(o.minQuantity==null||t.quantity>=o.minQuantity)&&(o.productId==null||o.productId===e.id)&&(o.categoryKey==null||o.categoryKey===e.categoryKey)&&(o.productId!=null||o.categoryKey!=null));for(const o of ra){const i=r.filter(a=>o.matches(a,t));if(i.length===0)continue;const s=i.reduce((a,l)=>(l.minQuantity??0)>=(a.minQuantity??0)?l:a);return{unitPriceCents:oa(s,e.listPriceCents),sourceKey:(s.minQuantity??0)>1?"tier":o.key,ruleId:s.id}}return{unitPriceCents:e.listPriceCents,sourceKey:"list"}}function oa(e,t){return e.unitPriceCents!=null?e.unitPriceCents:e.discountPercent!=null?W(t*(1-e.discountPercent/100)):t}const Qn="manual";function ia(e,t,n,r){return e.map(o=>{if(o.kind!=="product"||o.priceSourceKey===Qn)return o;const i=t.find(a=>a.id===o.productId);if(!i)return o;const s=qn(i,{...r,quantity:o.quantity},n);return s.unitPriceCents===o.unitPriceCents&&s.sourceKey===o.priceSourceKey?o:{...o,unitPriceCents:s.unitPriceCents,priceSourceKey:s.sourceKey}})}const sa=["piece","hour","day","month","km","license"],aa=new Set(["mail","message"]);function Jn(e,t){const n=e.settings?.signatures?.[t];return!n?.enabled||!n.body||n.body.trim()===""?null:n}function ca(e,t,n,r="html"){if(!e)return n;const o=Jn(e,t);return o?`${n}${r==="text"?`
8
8
 
9
- `:t==="mail"?"<br><br>-- <br>":"<br><br>"}${o.body}`:n}function ca(e){return e.endpoints??[]}const la=["lead","opportunity","customer","former"],ua=["new","working","unqualified"];function da(e){return[e.firstName,e.lastName].filter(Boolean).join(" ").trim()}const Zn=["stages","leadStatuses","sources","scopes","cities","parentCompanyIds"],er=["openDeal","hasContacts"],fa={contact:["stages","leadStatuses","sources","scopes","cities","openDeal"],company:["stages","sources","scopes","cities","parentCompanyIds","hasContacts"]},pa=["updatedAt","createdAt","name"],ma=["list"];function ga(e){return e.search?.trim()||e.createdWithinDays||er.some(t=>e[t])||Zn.some(t=>e[t]?.length)?!1:!Object.values(e.fields??{}).some(t=>t.length)}const tr="CRM_NOTE_ADDED",ha="crm_activity",nr="CRM_CALL_LOGGED",ya="CRM_STAGE_CHANGED",Ea=["phone","meeting","video"],_a=["callback","interested","no_answer","not_interested"],Sa=e=>e===tr||e===nr,Aa=e=>e.payload.call?.at??e.createdAt??0;function K(e){const t=(e??"").trim().toLowerCase();if(t)return t.split(/[-_]/)[0]||void 0}function ba(e){return K(e.contactLocale)??K(e.companyLocale)??K(e.organizationLocale)}function Ta(e,t,n,r){const o=e.filter(a=>a.key===t&&!a.archived);if(o.length===0)return;const i=K(n),s=K(r);return o.find(a=>K(a.locale)===i)??o.find(a=>K(a.locale)===s)??o.find(a=>!a.locale)??o[0]}const Ia=/\{([a-zA-Z0-9_.]+)\}/g;function bt(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}function Oa(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function rr(e,t,n){const r=[];return{text:e.replace(Ia,(i,s)=>{const a=bt(t,s);return a==null||a===""?(r.includes(s)||r.push(s),n??`{${s}}`):Oa(a)}),unresolved:r}}function or(e,t){if(!e)return!0;const n=bt(t,e.key);if(e.exists!==void 0){const r=n!=null&&n!==""&&n!==!1;return e.exists?r:!r}return e.equals!==void 0?n===e.equals:!0}function va(e,t,n,r,o){const i=[],s=[],a=new Set,l=c=>{const d=rr(c,t,o);for(const u of d.unresolved)i.includes(u)||i.push(u);return d.text};for(const c of e){if(c.block_id&&!or(n?.[c.block_id],t))continue;const d=c.block_id?r?.[c.block_id]:void 0;if(d&&c.block_id){a.add(c.block_id),s.push(...d);continue}switch(c.type){case"heading":case"paragraph":case"quote":s.push({...c,text:l(c.text)});break;case"callout":s.push({...c,...c.title?{title:l(c.title)}:{},text:l(c.text)});break;case"code":s.push(c);break;case"list":s.push({...c,items:c.items.map(u=>({...u.lead?{lead:l(u.lead)}:{},text:l(u.text)}))});break;case"table":s.push({...c,columns:c.columns.map(u=>({...u,label:l(u.label)})),rows:c.rows.map(u=>u.map(l)),...c.caption?{caption:l(c.caption)}:{}});break;case"kpi":s.push({...c,items:c.items.map(u=>({...u,value:l(u.value),label:l(u.label)}))});break;case"letterhead":s.push({...c,fields:c.fields.map(u=>({...u,value:l(u.value)})),...c.recipient?{recipient:c.recipient.map(l)}:{}});break;case"totals":s.push({...c,rows:c.rows.map(u=>({...u,label:l(u.label),amount:l(u.amount)})),...c.taxRows?{taxRows:c.taxRows.map(u=>({...u,label:l(u.label),amount:l(u.amount)}))}:{}});break;case"image":s.push({...c,url:l(c.url),...c.alt?{alt:l(c.alt)}:{}});break;default:s.push(c)}}return{blocks:s,unresolved:i,unusedSlots:Object.keys(r??{}).filter(c=>!a.has(c))}}function ir(e){const t=e?.address,n=[t?.street,t?.houseNumber].filter(Boolean).join(" "),r=[t?.postalCode,t?.city].filter(Boolean).join(" ");return{name:e?.name??"",addressLines:[n,r,t?.country??""].filter(Boolean),footerLines:[e?.footerText??"",e?.kvkNumber?`KvK ${e.kvkNumber}`:"",e?.vatNumber?`Btw ${e.vatNumber}`:"",e?.iban?`IBAN ${e.iban}`:""].filter(Boolean),...e?.logo?{logo:e.logo}:{}}}function Ca(e){return ir({name:e?.billing?.companyName||e?.name||e?.displayName||"",address:e?.address,kvkNumber:e?.billing?.kvkNumber,vatNumber:e?.billing?.vatNumber,iban:e?.houseStyle?.iban,footerText:e?.houseStyle?.footerText,logo:e?.logo})}function sr(e,t,n,r=Date.now()){const o=n.filter(i=>i.ok).length;return{suite:e,target:t,at:r,score:n.length?o/n.length:1,perCase:[...n]}}function Ma(e){return e.perCase.filter(t=>!t.ok).map(t=>`${t.caseId}: ${t.note??"onverwacht resultaat"}`)}async function ka(e,t,n,r,o=Date.now()){const i=[];for(const s of n)try{i.push(await r(s))}catch(a){i.push({caseId:s.id,ok:!1,note:`beoordeling mislukt: ${a?.message??String(a)}`})}return sr(e,t,i,o)}const ar=36e5,cr=864e5,P=-1/0,Na=e=>e.score>P,q={urgent:40,high:25,normal:10,low:0};function Ra(e){return Object.fromEntries(e.map(t=>[t.resourceId,t]))}const wa=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,lr=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function ur(e,t){return!!(e&&wa.test(e)||t&&lr.test(t))}const dr=3,fr=600;function Da(e,t){return e>=dr||t>=fr}const pr=["list-unsubscribe","list-unsubscribe-post","list-id","precedence","auto-submitted","x-auto-response-suppress","feedback-id","x-mailer"];function La(e){const t={};for(const n of e){const r=n.name?.toLowerCase();r&&n.value!==void 0&&pr.includes(r)&&(t[r]=n.value)}return t}const xa=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i,Pa=/(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;function $a(e){const t=e.headers??{},n=e.from?.email,r=t["auto-submitted"]?.toLowerCase();if(r&&r!=="no"||t["x-auto-response-suppress"]||n&&xa.test(n))return"automated";const o=t.precedence?.toLowerCase();if(t["list-unsubscribe"]||t["list-unsubscribe-post"]||t["list-id"]||o==="bulk"||o==="list"||e.body&&lr.test(e.body)||n&&Pa.test(n))return"marketing"}function mr(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const gr=["open"],hr=1e3,yr=72;function Er(e){return e.lastActivityAt??(e.createdAt?new Date(Nn(e)).getTime():0)}function _r(e,t){return Sr(t.remindersById?.[e.id],e,t.now)}function Sr(e,t,n){return!e||e.remindAt<=n?!1:!((t.lastActivityAt??0)>e.parkedAt&&t.lastActivityPreview?.direction==="inbound")}const Ar=e=>vn(e)==="outbound_message",br=e=>gr.includes(e);function Re(e,t){return Math.max(0,(t-Er(e))/ar)}function Tr(e,t){const n=e.assignedInboxId?t?.[e.assignedInboxId]:void 0;return typeof n=="number"&&n>0?n:void 0}function Ka(e){const t={};for(const n of e)typeof n.slaHours=="number"&&n.slaHours>0&&(t[n.id]=n.slaHours);return t}function Ua(e,t,n){if(!br(e.status)||e.firstResponseAt)return!1;const r=Tr(e,n);return r!==void 0&&Re(e,t)>r}function Ir(e,t){const n=e.lastActivityPreview;return n?.direction!=="outbound"||!Ar(n.type)?!1:Re(e,t)<yr}function Fa(e,t){if(!br(e.status))return{score:P,reasons:[]};if(e.snoozedTill&&e.snoozedTill>t.now)return{score:P,reasons:[]};if(Ir(e,t.now))return{score:P,reasons:[]};if(_r(e,t))return{score:P,reasons:[]};let n=0;const r=[],o=e.priority??"normal";q[o]>0&&(n+=q[o],r.push(`priority:${o}`)),mr(e,t.userId)&&(n+=20,r.push("unseen")),e.assignedUserId&&e.assignedUserId===t.userId&&(n+=15,r.push("assigned-to-you"));const i=Re(e,t.now);if(i>0){const l=Math.min(i*2,30);n+=l,i>=1&&r.push(`waiting:${Math.round(i)}h`)}const s=e.lastActivityPreview;return s?.type==="AI_ACTION_PROPOSED"&&(n+=30,r.push("awaiting-approval")),s?.direction==="outbound"&&Ar(s.type)&&(n+=10,r.push("no-reply")),!e.firstResponseAt&&e.lastActivityPreview?.direction==="inbound"&&(n+=10,r.push("awaiting-reply")),(e.tags?.some(l=>l==="marketing"||l==="automated")||ur(e.remoteParty?.resource,e.lastActivityPreview?.snippet))&&(n-=hr,r.push("bulk")),{score:n,reasons:r}}const Ba=e=>!!e.assignedUserId||!!e.assignedInboxId,Ga=e=>e.status==="closed",Ha=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,ja=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`;function Wa(e,t){const n=e.labels??[];return n.find(r=>r.locale===t)?.label??n[0]?.label??e.url}function Va(e,t,n){const r=e.translations??[];return r.find(o=>o.locale===t)??(n?r.find(o=>o.locale===n):void 0)??{locale:t}}const Ya="article",Se=[{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 Or(e){const t=(e??"").toLowerCase();return Se.find(n=>n.code===t)??Se.find(n=>n.code===t.split("-")[0])}function za(e){return Or(e)?.label??e}function Xa(e){const t=Or(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const Tt=3;function vr(e,t){const n=new Set;let r=1,o=t.get(e)?.parentId;for(;o;){if(n.has(o)||(n.add(o),r++,r>Tt+1))return 1/0;o=t.get(o)?.parentId}return r}function qa(e,t,n){if(!e)return!0;if(e===t)return!1;const r=new Map(n.map(s=>[s.id,s]));if(!r.has(e)||t&&Cr(e,t,r))return!1;const o=vr(e,r),i=t?It(t,n):1;return o+i<=Tt}function Cr(e,t,n){const r=new Set;let o=n.get(e)?.parentId;for(;o;){if(o===t)return!0;if(r.has(o))return!1;r.add(o),o=n.get(o)?.parentId}return!1}function It(e,t,n=new Set){if(n.has(e))return 1;n.add(e);const r=t.filter(o=>o.parentId===e);return r.length?1+Math.max(...r.map(o=>It(o.id,t,n))):1}const Mr="en";function kr(e){return e.defaultLocale||e.locale||Mr}function Qa(e){const t=new Set,n=[];for(const r of[kr(e),...e.locales??[]])!r||t.has(r)||(t.add(r),n.push(r));return n}function Ja(e,t,n){const r=e.translations??[];return r.find(o=>o.locale===t)?.name??(n?r.find(o=>o.locale===n)?.name:void 0)??e.name}const rt=["lookup","condition","parallel","for-each"];function ae(e){for(const t of e){if(!rt.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${rt.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const r=ae(n);if(r)return r}if(t.type==="for-each"){const n=ae(t.body??[]);if(n)return n}if(t.type==="condition"){const n=ae(t.else??[]);if(n)return n}}return null}function Za(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 ec(e,t){return e.filter(n=>n.enabled&&Za(n.ownerScope,t))}function tc(e){return e.credentialScope?e.credentialScope:(e.authMode??"header")==="header"||e.oauth?.scope==="org"?"shared":"per-user"}function nc(e){return`mcp__${e}__`}const rc=1e3,oc=2e3,ic=500,sc=12e3,ac=4e3,Nr=["contact","company","work_item"];function cc(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return Nr.includes(t)}const lc=[{key:"high",label:"tax_high",percent:21,kind:"standard"},{key:"low",label:"tax_low",percent:9,kind:"reduced"},{key:"zero",label:"tax_zero",percent:0,kind:"zero"},{key:"reverse_charge",label:"tax_reverse_charge",percent:0,kind:"reverse_charge"},{key:"exempt",label:"tax_exempt",percent:0,kind:"exempt"}];function Rr(e,t){return t.find(n=>n.key===e)??{key:e,label:e,percent:0,kind:"zero"}}function wr(e){if(e.kind!=="product")return 0;const t=1-(e.discountPercent??0)/100;return W(e.quantity*e.unitPriceCents*t)}function uc(e,t,n){const r=e.map(c=>({...c,netCents:wr(c),taxCents:0})),o=new Map;for(let c=0;c<r.length;c++){if(r[c].kind!=="product"||r[c].optional)continue;const d=n??r[c].taxRateKey,u=o.get(d);u?u.push(c):o.set(d,[c])}const i=[];let s=0,a=0;for(const[c,d]of o){const u=Rr(c,t),f=d.reduce((m,b)=>m+r[b].netCents,0),p=W(f*u.percent/100),y=Xn(p,d.map(m=>r[m].netCents));for(let m=0;m<d.length;m++)r[d[m]].taxCents=y[m];i.push({taxRateKey:c,percent:u.percent,kind:u.kind,netCents:f,taxCents:p}),s+=f,a+=p}const l=r.reduce((c,d)=>d.costPriceCents==null||d.optional?c:c+W(d.costPriceCents*d.quantity),0);return{lines:r,totals:{netCents:s,taxCents:a,grossCents:s+a,costCents:l,byRate:i}}}const dc="onboarding-source",fc=["support","billing","availability","sales","onboarding"],pc=["keep","replace"],we=[{key:"shift",label:"kind_shift",capacity:!0,productive:!1,absent:!1,icon:"calendar-clock"},{key:"allocation",label:"kind_allocation",capacity:!1,productive:!0,absent:!1,icon:"briefcase"},{key:"meeting",label:"kind_meeting",capacity:!1,productive:!1,absent:!1,icon:"users"},{key:"travel",label:"kind_travel",capacity:!1,productive:!1,absent:!1,icon:"car"},{key:"training",label:"kind_training",capacity:!1,productive:!1,absent:!1,icon:"graduation-cap"},{key:"break",label:"kind_break",capacity:!1,productive:!1,absent:!1,icon:"coffee"},{key:"absence",label:"kind_absence",capacity:!1,productive:!1,absent:!0,approvable:!0,icon:"palmtree"},{key:"sick",label:"kind_sick",capacity:!1,productive:!1,absent:!0,icon:"thermometer"},{key:"holiday",label:"kind_holiday",capacity:!1,productive:!1,absent:!0,icon:"party-popper"}],Dr={key:"unknown",label:"kind_unknown",capacity:!1,productive:!1,absent:!1};function w(e,t=we){return t.find(n=>n.key===e)??{...Dr,key:e}}function V(e){return e==="published"||e==="approved"}function Ot(e,t,n=we){if(e.workstreamId!==t)return!1;const r=w(e.kindKey,n);return r.absent?!1:r.productive||r.capacity}function mc(e,t=we){if(!e.userId||!V(e.status))return!1;const n=w(e.kindKey,t);return n.capacity||n.productive||n.absent}const gc=864e5;function Lr(e,t){return Math.round((t-e)/gc)}function vt(e,t){const n=e.cycleMinutes.length;return n===0?0:(Lr(e.anchor,t)%n+n)%n}function Ct(e,t){return e.effectiveFrom!==void 0&&t<e.effectiveFrom?0:e.cycleMinutes[vt(e,t)]??0}function Mt(e,t){return e.startTimes?.[vt(e,t)]}function kt(e,t,n,r){const o=e.filter(a=>a.effectiveFrom===void 0||a.effectiveFrom<=r),i=a=>a.sort((l,c)=>(c.effectiveFrom??0)-(l.effectiveFrom??0))[0],s=i(o.filter(a=>a.userId===t));return s||i(o.filter(a=>!a.userId&&a.teamId&&n.includes(a.teamId)))}function xr(e,t,n){return e.filter(r=>r.userId===t&&(r.effectiveFrom===void 0||r.effectiveFrom<=n)).sort((r,o)=>(o.effectiveFrom??0)-(r.effectiveFrom??0))[0]}const ot=864e5;function hc(e){const t=Math.max(1,Math.round((e.to-e.from)/ot));return Array.from({length:t},(n,r)=>e.from+r*ot)}function it(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}const en={interval:0,day:1,week:2};function yc(e,t){const{entries:n,patterns:r=[],terms:o=[]}=t,i=n.filter(u=>u.userId&&V(u.status)&&w(u.kindKey).capacity),s=n.filter(u=>u.userId&&V(u.status)&&w(u.kindKey).absent),a=t.userIds??[...new Set([...i.map(u=>u.userId),...r.map(u=>u.userId),...o.map(u=>u.userId)])].filter(u=>!!u),l={};let c="interval";const d=u=>{en[u]>en[c]&&(c=u)};for(const u of a){const f=t.teamIdsOf?.(u)??[];let p=0,y=0,m=0;for(const g of hc(e)){const A=Math.max(g,e.from),D=Math.min(g+ot,e.to);m++;const N=i.filter(v=>v.userId===u).reduce((v,jt)=>v+it(jt.start,jt.end,A,D),0);if(N>0){p+=N;continue}const M=kt(r,u,f,g),R=M?Ct(M,g):0;if(M&&R>0){p+=R*60,d(Mt(M,g)?"interval":"day");continue}M||y++}if(y>0){const g=xr(o,u,e.from);g&&(p+=g.weeklyMinutes*60*(y/7),d("week"))}const b=s.filter(g=>g.userId===u).reduce((g,A)=>g+it(A.start,A.end,e.from,e.to),0),h=Math.max(0,p-b);(h>0||m>0)&&(l[u]=h)}return{seconds:Object.values(l).reduce((u,f)=>u+f,0),precision:c,byUser:l}}function Ec(e,t){if(!e.some(a=>a.userId))return[];const n="",r=new Map;for(const a of e){const l=a.userId??n;r.set(l,(r.get(l)??0)+a.seconds)}const i=[...new Set([...Object.keys(t.byUser),...[...r.keys()].filter(a=>a!==n)])].map(a=>{const l=r.get(a)??0,c=t.byUser[a]??0;return{userId:a,requiredSeconds:l,capacitySeconds:c,netSeconds:c-l}});i.sort((a,l)=>a.netSeconds-l.netSeconds);const s=r.get(n)??0;return s>0&&i.push({requiredSeconds:s,capacitySeconds:0,netSeconds:-s}),i}function _c(e,t,n,r){const o=e.filter(s=>s.userId&&V(s.status)&&!w(s.kindKey).absent),i=Object.entries(r.byUser).map(([s,a])=>{let l=0,c=0;for(const d of o){if(d.userId!==s||w(d.kindKey).capacity&&!d.workstreamId)continue;const u=it(d.start,d.end,n.from,n.to);u<=0||(Ot(d,t)?l+=u:c+=u)}return{userId:s,capacitySeconds:a,onThisSeconds:l,elsewhereSeconds:c,freeSeconds:Math.max(0,a-l-c)}});return i.sort((s,a)=>a.freeSeconds-s.freeSeconds),i}const Sc="demand-source",tn=1e3;function Ac(e,t){let n=1;for(let r=1;r<=e;r++)n=t*n/(r+t*n);return n}function Pr(e,t){if(e<=0)return 1;if(t<=0)return 0;if(e<=t)return 1;const n=Ac(e,t),r=t/e;return n/(1-r*(1-n))}function $r(e,t,n,r){return r<=0?1:e<=t?0:1-Pr(e,t)*Math.exp(-(e-t)*n/r)}function Kr(e,t,n){return n<=0?0:e*t/n}function Ur(e,t,n,r){if(e<=0||t<=0)return 0;const o=Kr(e,t,n);if(o<=0)return 0;const i=r.serviceLevelPercent/100,s=r.maxOccupancyPercent?r.maxOccupancyPercent/100:void 0;for(let a=Math.max(1,Math.ceil(o));a<=tn;a++)if(!(a<=o)&&!($r(a,o,r.targetSeconds,t)<i)&&!(s&&o/a>s))return a;return tn}const bc=36e5,Tc=864e5;function Ic(e){return e==="day"?Tc:bc}function Oc(e,t){return e.start<t.end&&t.start<e.end}function ce(e,t,n){const r=Math.min(e.end,n)-Math.max(e.start,t);return r>0?r/1e3:0}function Fr(e,t,n){const r=e.handleSeconds??0,o=e.seconds??(e.volume!==void 0?e.volume*r:0);if(o<=0&&!e.volume)return{seconds:0,headcount:0};const i=(t.unplannedLossPercent??0)/100,s=i>0&&i<1?1/(1-i):1;if(t.model==="queue"&&e.volume!==void 0&&r>0){const a=Ur(e.volume,r,n,t);return{seconds:o,headcount:a*s}}return{seconds:o,headcount:o/n*s}}function vc(e){const{entries:t,workstreamId:n,staffing:r,demand:o,range:i}=e,s=e.grain??"hour",a=Ic(s),l=a/1e3,c=e.kinds,d=t.filter(m=>V(m.status)),u=d.filter(m=>Ot(m,n,c)),f=d.filter(m=>w(m.kindKey,c).capacity),p=d.filter(m=>w(m.kindKey,c).absent),y=[];for(let m=j(i.from,s);m<i.to;m+=a){const b=m+a,h=H(m,s);let g=0;for(const v of u)g+=ce(v,m,b);let A=0;for(const v of f)A+=ce(v,m,b);let D=0;for(const v of p)D+=ce(v,m,b);const N=o?.[h]??{},M=Fr(N,r,l),R=g/l;y.push({period:h,forecastVolume:N.volume,requiredSeconds:M.seconds,requiredHeadcount:M.headcount,scheduledSeconds:g,scheduledHeadcount:R,netHeadcount:R-M.headcount,capacitySeconds:A,absentSeconds:D})}return y}function Br(e,t){return e.workTypeKey??t?.defaultWorkTypeKey}function Cc(e,t,n){const r=Br(e,t);return r?n.find(o=>o.key===r)?.defaultBillable??!1:!1}function Mc(e){return e.filter(t=>t.netHeadcount<0&&t.requiredHeadcount>0)}const kc=36e5,st=6048e5,Gr=8,Nc=.5,Rc=2;function wc(e){const t=Number(e.slice(0,4)),n=Number(e.slice(5,7)),r=Number(e.slice(8,10)),o=e.length>10?Number(e.slice(11,13)):0;return Date.UTC(t,n-1,r,o)}function Dc(e,t,n){const r=[];for(let i=0;i<n;i++){const s=t-i*st,a=s-st;let l=0,c=!1;for(const[d,u]of e)d>=a&&d<s&&(l+=u,c=!0);c&&r.push(l)}if(r.length<2)return 1;const o=r.reduce((i,s)=>i+s,0)/r.length;return o<=0?1:Math.min(Rc,Math.max(Nc,r[0]/o))}function Lc(e,t){if(!e?.length)return;let n;for(const r of e)t>=r.from&&t<r.to&&(n=r);return n}function xc(e,t,n){const r=Math.max(1,n?.weeks??Gr),o=new Map,i=new Set;for(const l of e)o.set(wc(l.period),l.value),i.add(l.period.slice(0,10));const s=Dc(o,j(t.from,"hour"),r),a=[];for(let l=j(t.from,"hour");l<t.to;l+=kc){let c=0,d=0;for(let p=1;p<=r;p++){const y=l-p*st,b=o.get(y)??(i.has(H(y,"day"))?0:void 0);if(b===void 0)continue;const h=r-p+1;c+=b*h,d+=h}let u=d>0?c/d*s:0;const f=Lc(n?.adjustments,l);f?.absoluteVolume!==void 0?u=f.absoluteVolume:f?.factor!==void 0&&(u*=f.factor),a.push({period:H(l,"hour"),volume:u})}return a}const Hr="schedule_entry",jr="workstream";function Pc(e){return`${Hr}:${e}`}function $c(e){return`${jr}:${e}`}const at=36e5,G=864e5;function Kc(e,t){const n=t==="day"?G:at,r=[];for(let o=j(e.from,t);o<e.to;o+=n)r.push(o);return r}function nn(e){const t=Math.max(1,Math.round((e.to-e.from)/G));return Array.from({length:t},(n,r)=>e.from+r*G)}function je(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}function Uc(e,t,n={}){const r=n.grain??"hour",o=Kc(t,r),i=r==="day"?G:at,s=new Map(o.map(u=>[u,0])),a=e.filter(u=>u.userId&&w(u.kindKey).capacity),l=n.userIds?.length?new Set(n.userIds):null,c=new Set;for(const u of a)if(!(l&&u.userId&&!l.has(u.userId))){for(const f of o){const p=je(u.start,u.end,f,f+i);p>0&&s.set(f,(s.get(f)??0)+p)}for(const f of nn(t))je(u.start,u.end,f,f+G)>0&&c.add(`${u.userId}:${f}`)}const d=n.userIds??[...new Set([...a.map(u=>u.userId),...(n.patterns??[]).map(u=>u.userId)])].filter(u=>!!u);if(n.patterns?.length)for(const u of d){const f=n.teamIdsOf?.(u)??[];for(const p of nn(t)){if(c.has(`${u}:${p}`))continue;const y=kt(n.patterns,u,f,p);if(!y)continue;const m=Ct(y,p);if(m<=0)continue;const b=Mt(y,p);if(b){const[A,D]=b.split(":").map(Number),N=p+A*at+(D??0)*6e4,M=N+m*6e4;for(const R of o){const v=je(N,M,R,R+i);v>0&&s.set(R,(s.get(R)??0)+v)}continue}const h=o.filter(A=>A>=p&&A<p+G);if(!h.length)continue;const g=m*60/h.length;for(const A of h)s.set(A,(s.get(A)??0)+g)}}return o.map(u=>({period:H(u,r),weight:s.get(u)??0}))}function Wr(e,t){if(e<=0||!t.length)return[];const n=t.reduce((r,o)=>r+Math.max(0,o.weight),0);if(n<=0){const r=e/t.length;return t.map(o=>({period:o.period,seconds:r}))}return t.filter(r=>r.weight>0).map(r=>({period:r.period,seconds:e*r.weight/n}))}function Fc(e,t,n){const r=new Map;for(const o of e){const i=o.by?t.filter(a=>n(a.period)<o.by):t,s=i.length?i:t;for(const a of Wr(o.seconds,s)){const l=`${a.period}|${o.userId??""}`,c=r.get(l);c?c.seconds+=a.seconds:r.set(l,{...a,userId:o.userId})}}return[...r.values()].sort((o,i)=>o.period.localeCompare(i.period)||(o.userId??"").localeCompare(i.userId??""))}function Vr(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Bc(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 r=t.slice(0,n),o=t.slice(n+1).trim();if(o){if(r==="user")return{kind:"user",userId:o};if(r==="team")return{kind:"team",teamId:o}}}function Yr(e){return Vr(e)}function zr(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 Gc(e){return e.agentId?{kind:"user",userId:e.agentId}:zr(e.ownerScope)}function Hc(e){return Yr(e)}const Xr="playbook-run",jc="run";function Wc(e,t=0){return`${Xr}:${e}~${t}`}function Vc(e){const t=e.indexOf("~");return t<0?e:e.slice(0,t)}function qr(e,t){if(!t)return;let n=e;for(const r of t.split(".")){if(n===null||typeof n!="object")return;n=n[r]}return n}function Yc(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function zc(e,t){if(t)return e.targets.find(n=>n.id===t)}function Qr(e){return e?.kind==="assignment"}function Xc(e){const{trigger:t,agentId:n,target:r,activityType:o,assigneeUserId:i,authorUserId:s}=e;return Qr(t)?n?r?r.activityTypes.includes(o)?i?i!==n?"assigned to someone else":s&&s===n?"the agent assigned this to itself, which would restart its own run":null:`no assignee found at ${r.assigneePath}`:`activity type ${o} does not announce an assignment for ${r.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"}const ct=["suggest","outward","auto"];function qc(e){return typeof e=="string"&&ct.includes(e)}function Qc(e){const t=e.playbook?.autonomy??e.agent?.autonomy??"suggest";return e.demoted&&t==="auto"?"outward":t}function Jc(e,t){const n=e??"suggest";return t&&ct.indexOf(t)<ct.indexOf(n)?t:n}function Zc(e){return e.replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}function Jr(e){const t=e.split("__");return t[t.length-1]||e}function el(e){const t=Jr(e).replace(/[_.]+/g," ").trim();return t?t.charAt(0).toUpperCase()+t.slice(1):e}const tl=[{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:"itemId",type:"string"},{name:"activityId",type:"string"},{name:"authorType",type:"string"},{name:"authorName",type:"string"},{name:"textRaw",type:"string"},{name:"fromStatus",type:"string",onlyFor:["INTERACTION_STATUS_CHANGED"]},{name:"toStatus",type:"string",onlyFor:["INTERACTION_STATUS_CHANGED"]},{name:"toCategory",type:"string",onlyFor:["WORK_ITEM_STATUS_CHANGED"]},{name:"contactId",type:"string"},{name:"companyId",type:"string"},{name:"priority",type:"string"},{name:"inboxId",type:"string"},{name:"topicId",type:"string"},{name:"assigneeUserId",type:"string"}];function nl(e,t){return!e.onlyFor||!t?.length?!0:t.some(n=>e.onlyFor?.includes(n))}const rl={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 Zr(e){return`${e.type}:${e.id}`}const eo="interaction";function to(e){return e?.type===eo?e.id:void 0}const no=64,ro=8e3;function ol(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),no),ro)}const il=["condition","for-each","parallel","lookup","action","classify","generate","agent","wait-for-reply","wait-for-task"],sl={kind:"workflow",steps:[]};function al(e){return e?.kind==="workflow"?e.steps:[]}function cl(e){return e?.kind==="procedure"?e.procedure:void 0}function ll(e){return e.assignmentId?"assignment":e.decider?.kind==="procedure"?"procedure":"workflow"}function oo(e){const t=e?.approved??0,n=t+(e?.rejected??0);return{total:n,rate:n?t/n:0}}const io=10,so=.9;function ul(e){const{total:t,rate:n}=oo(e);return t>=io&&n>=so}const ao=["done","escalated","failed","stopped"];function dl(e){return ao.includes(e)}function co(e){return e==="waiting"}function fl(e){return e==="running"||co(e)}function Nt(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function pl(e){const t=Nt(e);return t?Zr(t):void 0}function ml(e){return to(Nt(e))}function gl(e){const t=[],n=new Map;for(const r of[...e].sort(hl)){const o=n.get(r.emoji);if(o){o.push(r.actor);continue}t.push(r.emoji),n.set(r.emoji,[r.actor])}return t.map(r=>{const o=n.get(r);return{emoji:r,count:o.length,actors:o}}).sort((r,o)=>o.count-r.count||t.indexOf(r.emoji)-t.indexOf(o.emoji))}const hl=(e,t)=>(e.createdAt??0)-(t.createdAt??0);function yl(e,t){return t?e.actors.some(n=>n.type==="user"&&n.id===t):!1}class Rt extends Error{constructor(t){super(t),this.name="UnresolvedRefError"}}const El=/^\{\{\s*([\w.]+)\s*\}\}$/,_l=/\{\{\s*([\w.]+)\s*\}\}/g,Sl=/\$[A-Za-z_][\w]*\.[\w.]+/;function Al(e,t,n={}){return Ae(e,t,n)}function Ae(e,t,n={}){return typeof e=="string"?bl(e,t,n):Array.isArray(e)?e.map(r=>Ae(r,t,n)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,Ae(o,t,{...n,where:`${n.where??"een parameter"} "${r}"`})])):e}function bl(e,t,n){const r=n.onMissing==="throw";if(r){const i=e.match(Sl);if(i)throw new Rt(`"${i[0]}" in ${n.where??"een waarde"} is de oude schrijfwijze; gebruik {{ ${i[0].slice(1)} }}.`)}const o=e.match(El);if(o){const i=rn(t,o[1],e,n);return i===void 0&&!r?"":i}return e.replace(_l,(i,s)=>{const a=rn(t,s,i,n);return a==null?"":typeof a=="object"?JSON.stringify(a):String(a)})}function rn(e,t,n,r){const o=t.split(".")[0]??"";if(r.onMissing==="throw"&&!Object.hasOwn(e,o)){const i=Object.keys(e);throw new Rt(`onbekende verwijzing ${n} in ${r.where??"een waarde"}: "${o}" bestaat niet. Beschikbaar: ${i.length?i.join(", "):"(nog niets)"}`)}return Tl(e,t)}function Tl(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}const Il=new Set(["filled","empty"]);function Ol(){return{kind:"rule",op:"==",varPath:"",value:""}}const vl=new Set(["==","!=",">","<",">=","<="]);function We(e){return!!e&&typeof e=="object"&&"var"in e&&typeof e.var=="string"}function on(e){const t=typeof e;return t==="string"||t==="number"||t==="boolean"}function lo(e){if(e===!0||e==null)return{kind:"group",op:"and",children:[]};if(e===!1)return null;const t=lt(e);return t?t.kind==="group"?t:{kind:"group",op:"and",children:[t]}:null}function lt(e){if(typeof e!="object"||e===null)return null;const t=Object.keys(e);if(t.length!==1)return null;const n=t[0],r=e[n];if(n==="and"||n==="or"){if(!Array.isArray(r))return null;const o=[];for(const i of r){const s=lt(i);if(!s)return null;o.push(s)}return{kind:"group",op:n,children:o}}if(n==="!!"||n==="!"){const o=Array.isArray(r)?r.length===1?r[0]:void 0:r;if(We(o))return{kind:"rule",op:n==="!!"?"filled":"empty",varPath:o.var,value:""};if(n==="!!")return null;const i=lt(r);return i?{kind:"not",child:i}:null}if(n==="in"){if(!Array.isArray(r)||r.length!==2)return null;const[o,i]=r;return!We(i)||!on(o)?null:{kind:"rule",op:"in",varPath:i.var,value:o}}if(vl.has(n)){if(!Array.isArray(r)||r.length!==2)return null;const[o,i]=r;return!We(o)||!on(i)?null:{kind:"rule",op:n,varPath:o.var,value:i}}return null}function le(e){return e.kind==="group"?e.children.length===0?!0:e.children.length===1?le(e.children[0]):{[e.op]:e.children.map(le)}:e.kind==="not"?{"!":le(e.child)}:e.op==="filled"?{"!!":[{var:e.varPath}]}:e.op==="empty"?{"!":[{var:e.varPath}]}:e.op==="in"?{in:[e.value,{var:e.varPath}]}:{[e.op]:[{var:e.varPath},e.value]}}function Cl(e){const t=lo(e);return t&&ut(t)||null}function ut(e){if(e.kind==="group"){const t=e.children.map(ut).filter(Boolean);return t.length===0?"":t.length===1?t[0]:t.join(e.op==="and"?" && ":" || ")}return e.kind==="not"?`!(${ut(e.child)})`:e.op==="filled"?`$${e.varPath}`:e.op==="empty"?`!$${e.varPath}`:e.op==="in"?`${JSON.stringify(e.value)} in $${e.varPath}`:`$${e.varPath} ${e.op} ${JSON.stringify(e.value)}`}const Ve=[{min:0,max:59},{min:0,max:23},{min:1,max:31},{min:1,max:12},{min:0,max:7}];function Ml(e,t,n){const r=new Set;for(const o of e.split(",")){const[i,s]=o.split("/"),a=s===void 0?1:Number(s);if(!Number.isInteger(a)||a<1)return null;let l=t,c=n;if(i!=="*"&&i!==void 0){const[d,u]=i.split("-");if(l=Number(d),c=u===void 0?l:Number(u),!Number.isInteger(l)||!Number.isInteger(c)||(u===void 0&&s!==void 0&&(c=n),l<t||c>n||l>c))return null}for(let d=l;d<=c;d+=a)r.add(d)}return r.size?r:null}function wt(e){const t=e.trim().split(/\s+/);if(t.length!==Ve.length)return null;const n=[];for(let l=0;l<Ve.length;l++){const c=Ve[l],d=t[l];if(!c||d===void 0)return null;const u=Ml(d,c.min,c.max);if(!u)return null;n.push(u)}const[r,o,i,s,a]=n;return a.has(7)&&a.add(0),{minute:r,hour:o,dayOfMonth:i,month:s,dayOfWeek:a,anyDayOfMonth:t[2]==="*",anyDayOfWeek:t[4]==="*"}}function kl(e){return wt(e)!==null}function uo(e,t){const n=wt(e);if(!n||!n.minute.has(t.getUTCMinutes())||!n.hour.has(t.getUTCHours())||!n.month.has(t.getUTCMonth()+1))return!1;const r=n.dayOfMonth.has(t.getUTCDate()),o=n.dayOfWeek.has(t.getUTCDay());return n.anyDayOfMonth&&n.anyDayOfWeek?!0:n.anyDayOfMonth?o:n.anyDayOfWeek?r:r||o}const fo="@schedule",dt=3;function po(e,t,n){const r=[],o=e.depth??0;if(o>=dt)return{matched:[],skipped:t.map(a=>({ruleId:a.id,reason:`keten te diep (${o} van ${dt})`}))};const i={event:e.payload,subject:e.subject??{}},s=[];for(const a of t){if(!a.enabled){r.push({ruleId:a.id,reason:"staat uit"});continue}if(a.trigger.kind==="schedule"){if(e.name!==fo){r.push({ruleId:a.id,reason:"luistert op de klok"});continue}const l=typeof e.payload?.at=="number"?e.payload.at:Number.NaN;if(!Number.isFinite(l)){r.push({ruleId:a.id,reason:"tik zonder tijdstip"});continue}if(!uo(a.trigger.cron,new Date(l))){r.push({ruleId:a.id,reason:`niet aan de beurt (${a.trigger.cron})`});continue}}else if(a.trigger.kind!=="event"){r.push({ruleId:a.id,reason:`trigger "${a.trigger.kind}" draait hier niet`});continue}else if(a.trigger.name!==e.name){r.push({ruleId:a.id,reason:`luistert op ${a.trigger.name}`});continue}if(e.causedByRule===a.id){r.push({ruleId:a.id,reason:"dit event komt van deze regel zelf"});continue}if(!n(a.when??null,i)){r.push({ruleId:a.id,reason:"voorwaarde niet waar"});continue}s.push({rule:a,idempotencyKey:`${e.id}:${a.id}:${a.version}`})}return{matched:s,skipped:r}}function Nl(e,t){return{causedByRule:t,depth:(e.depth??0)+1}}function Rl(e,t){const{event:n,rules:r}=e.input,{matched:o,skipped:i}=po(n,r,t),s=o.flatMap(c=>c.rule.then.map(d=>d.action)),a=e.expected?.actions??[];if(s.length===a.length&&s.every((c,d)=>c===a[d]))return{caseId:e.id,ok:!0};const l=i.map(c=>`${c.ruleId}: ${c.reason}`).join(" · ");return{caseId:e.id,ok:!1,got:s,note:a.length?`verwacht [${a.join(", ")}], kreeg [${s.join(", ")}]${l?` — ${l}`:""}`:`mocht niet vuren, maar deed [${s.join(", ")}]`}}function wl(e,t){return e.wrote&&t in e.wrote?e.wrote[t]:t in e.params?e.params[t]:""}function mo(e,t){return e.fields.filter(n=>t?.[n]!==void 0&&t[n]!==wl(e,n))}function Dl(e,t,n){return n?"undone":!t||!e.length?"unknown":e.some(r=>mo(r,t).length)?"corrected":"kept"}function Ll(e){return e==="string[]"?["in"]:e==="boolean"?["==","!="]:e==="number"||e==="date"?["==","!=",">","<",">=","<="]:["==","!=","in","filled","empty"]}function xl(e){return`subject.${e.path}`}function Pl(e,t){return e.events.find(n=>n.name===t)}function $l(e,t){return e.filter(n=>qr(t,n.path)===void 0).map(n=>n.path)}const ft=6e4,Kl=36e5,Q=864e5,go=800;function sn(e,t){const n=Date.UTC(e,t+1,0);return n-new Date(n).getUTCDay()*Q+Kl}function Ul(e){const t=new Date(e).getUTCFullYear();return e>=sn(t,2)&&e<sn(t,9)}function ho(e,t){const n=t.dst==="eu"&&Ul(e)?60:0;return(t.utcOffsetMinutes+n)*ft}function Fl(e){return(e+3)%7+1}function yo(e,t){const n=ho(e,t),r=e+n,o=Math.floor(r/Q);if(!t.days.includes(Fl(o)))return null;const i=o*Q;return{open:i+t.fromMinutes*ft-n,close:i+t.toMinutes*ft-n}}function Eo(e,t){const n=ho(e,t),r=e+n;return(Math.floor(r/Q)+1)*Q-n}function be(e,t,n){if(t<=e)return 0;if(!n)return t-e;let r=0,o=e;for(let i=0;i<go&&o<t;i++){const s=yo(o,n);if(s){const a=Math.max(o,s.open),l=Math.min(t,s.close);l>a&&(r+=l-a)}o=Eo(o,n)}return r}function De(e,t,n){if(!n)return e+t;let r=t,o=e;for(let i=0;i<go;i++){const s=yo(o,n);if(s){const a=Math.max(o,s.open);if(s.close>a){const l=s.close-a;if(r<=l)return a+r;r-=l}}o=Eo(o,n)}return e+t}function Bl(e){const t=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);return t?Number(t[1])*60+Number(t[2]):null}const Te=1,Ie=2,Oe=4;function Gl(e){return e==="snoozed"?Te:Ie}function Le(e){const t=e.calendar;return t&&Array.isArray(t.days)?t:null}const Hl=["speed_of_answer","first_response","next_response","resolution","close"],jl=["snoozed","waiting_for_customer"],Wl=6e4,_o=["speed_of_answer","first_response","next_response"],Vl=[..._o,"resolution","close"];function ee(e){return e.state==="running"||e.state==="paused"}function Yl(e,t){return ee(e)?{state:(e.state==="paused"?e.remainingMs>0:t<=e.dueAt)?"hit":"missed",settledAt:Math.max(t,e.startedAt)}:null}function an(e){return ee(e)?{state:"void"}:null}function zl(e,t,n,r){if(!ee(e)||(e.pauseBits&t)!==0)return null;const o=e.pauseBits|t;return e.state==="paused"?{pauseBits:o}:{pauseBits:o,state:"paused",remainingMs:be(n,e.dueAt,r)}}function Xl(e,t,n,r){if(!ee(e)||(e.pauseBits&t)===0)return null;const o=e.pauseBits&~t;return o!==0?{pauseBits:o}:{pauseBits:o,state:"running",dueAt:De(n,e.remainingMs,r)}}function ql({event:e,at:t,now:n,clocks:r,profile:o}){const i=Le(o),s=Math.min(t,n),a=r.map(h=>({...h})),l=[],c=(h,g)=>{g&&(l.push({op:"patch",clockId:h.id,patch:g}),Object.assign(h,g))},d=h=>{for(const g of a)g.metric===h&&c(g,Yl(g,s))},u=h=>{for(const g of a)h.includes(g.metric)&&c(g,an(g))},f=h=>{for(const g of a)c(g,zl(g,h,s,i))},p=h=>{for(const g of a)c(g,Xl(g,h,s,i))},y=h=>a.reduce((g,A)=>A.metric===h?Math.max(g,A.attempt):g,0)+1,m=h=>a.some(g=>g.metric===h&&ee(g)),b=(h,g)=>{const A=o.targets.find(N=>N.metric===h);if(!A)return;const D=A.minutes*Wl;l.push({op:"start",metric:h,attempt:y(h),startedAt:g,targetMs:D,dueAt:De(g,D,i)})};switch(e){case"apply":{for(const h of a)h.profileId!==o.id&&c(h,an(h));for(const h of o.targets){if(h.metric==="next_response")continue;a.some(A=>A.metric===h.metric&&A.profileId===o.id)||b(h.metric,s)}break}case"answered":d("speed_of_answer");break;case"outbound":{d("first_response"),d("next_response"),o.pauseOn.includes("waiting_for_customer")&&f(Ie);break}case"inbound":{p(Ie),!m("first_response")&&!m("next_response")&&b("next_response",s);break}case"resolved":d("resolution");break;case"closed":d("close"),d("resolution"),u(_o);break;case"reopened":m("resolution")||b("resolution",s),m("close")||b("close",s);break;case"snoozed":o.pauseOn.includes("snoozed")&&f(Te);break;case"unsnoozed":p(Te);break;case"hold":f(Oe);break;case"unhold":p(Oe);break;case"discarded":u(Vl);break}return l}function So(e){return e.state==="running"||e.state==="paused"}function Ql(e){return(e.pauseBits&Oe)!==0}function ve(e,t){const n=Le(e);return e.state==="paused"?e.remainingMs:t>=e.dueAt?-be(e.dueAt,t,n):be(t,e.dueAt,n)}function Jl(e,t){return e.state==="paused"?De(t,e.remainingMs,Le(e)):e.dueAt}function Zl(e,t){const n=e.filter(So);if(!n.length)return;const r=n.filter(i=>i.state==="running");return(r.length?r:n).reduce((i,s)=>ve(s,t)<ve(i,t)?s:i)}function eu(e,t){if(e.state==="missed")return"breached";if(e.state==="hit")return"met";if(e.state==="paused")return"paused";if(e.state==="void")return"met";const n=ve(e,t);return n<=0?"breached":n<=e.targetMs/5?"urgent":"running"}function tu(e){const t=Math.floor(Math.abs(e)/1e3),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),o=Math.floor(t%3600/60);return n?r?`${n}d ${r}u`:`${n}d`:r?o?`${r}u ${o}m`:`${r}u`:o?`${o}m`:`${t%60}s`}const Ao="strategy_item";function Dt(e){return`${Ao}:${e}`}function nu(e,t=25){const n=new Set([Dt(e.id)]);for(const r of e.ancestorKeys??[])n.add(r);return Array.from(n).slice(0,t)}function ru(e){return e?[...e.ancestorKeys??[],Dt(e.id)]:[]}const te=[{key:"area",label:"level_area",order:10,measurable:!1,icon:"compass"},{key:"objective",label:"level_objective",order:20,measurable:!0,icon:"target"},{key:"key_result",label:"level_key_result",order:30,measurable:!0,icon:"gauge"}],bo=999,To=7;function Io(e,t=te){return t.find(n=>n.key===e)}function Ce(e,t=te){return Io(e,t)?.order??bo}function ou(e,t,n=te){return Ce(t,n)<=Ce(e,n)}function iu(e,t=te){const n=Ce(e,t);return t.filter(o=>o.order>n).sort((o,i)=>o.order-i.order)[0]?.key??e}function su(e){const t=e.trim().toLowerCase();return t?t.includes("key result")||t.includes("keyresult")||t==="kr"?"key_result":t.includes("objective")||t.includes("goal")||t.includes("doel")?"objective":t.includes("focus")||t.includes("area")||t.includes("theme")?"area":null:null}const pt={pending:"open",on_track:"open",at_risk:"open",off_track:"open",paused:"paused",achieved:"closed",missed:"closed"};function au(e){return pt[e]??"open"}function cu(e){return Object.keys(pt).filter(t=>e.includes(pt[t]))}const lu=864e5,xe=e=>e<=0?0:e>1?1:e;function uu(e,t){const{direction:n}=e,r=e.startValue??0,o=e.targetValue??0;if(!Number.isFinite(t))return 0;const i=n==="down"?t<=o:t>=o,s=o-r;return(n==="down"?s<0:s>0)?xe((t-r)/s):i?1:0}function du(e,t){const{startDate:n,targetDate:r}=e;if(!(typeof n!="number"||typeof r!="number")&&!(r<=n))return xe((t-n)/(r-n))}const Oo=.1,vo=.25;function fu(e,t){if(typeof e!="number"||typeof t!="number")return;if(e>=1)return"achieved";const n=t-e;return n>=vo?"off_track":n>=Oo?"at_risk":"on_track"}function pu(e,t){if(t)return xe(e/t)}function mu(e){const t=e.map(n=>n.progress?.ratio).filter(n=>typeof n=="number"&&Number.isFinite(n));if(t.length)return xe(t.reduce((n,r)=>n+r,0)/t.length)}function gu(e,t){const n=e.lastCheckInAt??e.createdAt;if(typeof n!="number")return 0;const r=(e.checkInEveryDays??To)*lu,o=t-n-r;return o>0?o:0}function hu(e){return e.targetDate??Number.MAX_SAFE_INTEGER}function yu(e){const t=new Map,n=[...e].sort((r,o)=>r.startedAt-o.startedAt);for(const r of n){const o=`${r.workType??""}|${r.scopeKey??""}`,i=t.get(o)??{workType:r.workType,scopeKey:r.scopeKey,scopeLabel:r.scopeLabel,seconds:0,hours:0,entryIds:[],from:r.startedAt,to:r.startedAt};i.seconds+=r.durationSeconds??0,i.hours=Math.round(i.seconds/3600*100)/100,i.entryIds.push(r.id),i.to=r.startedAt,t.set(o,i)}return[...t.values()]}function Eu(e,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function _u(e,t){const n=Math.max(1,Math.ceil(Math.max(0,e)/60));if(!t||t==="exact")return n*60;const r=Number(t);return!Number.isFinite(r)||r<=0?n*60:Math.ceil(n/r)*r*60}function Su(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function Au(e){const t=Math.max(0,Math.floor(e)),n=i=>String(i).padStart(2,"0"),r=Math.floor(t/60)%60,o=Math.floor(t/3600);return o>0?`${o}:${n(r)}:${n(t%60)}`:`${n(r)}:${n(t%60)}`}function Co(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function bu(e,t){const n=Co(e)||"werksoort",r=new Set(t);if(!r.has(n))return n;for(let o=2;o<500;o++){const i=`${n}-${o}`;if(!r.has(i))return i}return`${n}-${r.size+1}`}function Tu(e,t){const n=e.ownerScope;return!n||n.kind==="org"?!0:t.includes(n.teamId)}function Iu(e){return e.filter(t=>!t.archived).sort(Mo)}function Mo(e,t){const n=(e.order??0)-(t.order??0);return n!==0?n:(e.label||"").localeCompare(t.label||"")}const ko=20,No=20,ue=300;function $(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function Ro(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=ue)return t;const n=t.slice(0,ue),r=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return r>ue*.6?n.slice(0,r+1):`${n.trimEnd()}…`}function Ou(e,t){const n=Ro(t.text),r=$(n);if(!r||(e.examples??[]).some(s=>$(s)===r))return null;const o=e.exampleCandidates??[],i=o.findIndex(s=>$(s.text)===r);if(i>=0){if(o[i].corrected||!t.corrected)return null;const s=[...o];return s[i]={...s[i],corrected:!0,addedAt:t.addedAt},cn(s)}return cn([{...t,text:n},...o]).slice(0,No)}function cn(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function vu(e,t){const n=$(t),r=(e.examples??[]).filter(i=>i.trim());return{examples:r.some(i=>$(i)===n)?r:[...r,t].slice(-ko),exampleCandidates:wo(e,t)}}function wo(e,t){const n=$(t);return(e.exampleCandidates??[]).filter(r=>$(r.text)!==n)}function Do(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function Cu(e,t){return e.filter(n=>Do(n,t))}const Pe=[{key:"quote",label:"kind_quote",numbered:!1,signFlip:!1,name:"Offerte",statuses:["draft","sent","accepted","rejected","expired","cancelled","superseded"],path:"quotes",issuedStatus:"sent",transitions:{draft:["cancelled"],sent:["accepted","rejected","expired","cancelled"],accepted:["sent"],rejected:["sent"],expired:["sent"]},convertsTo:["order","invoice"]},{key:"order",label:"kind_order",numbered:!1,signFlip:!1,name:"Order",paperName:"Orderbevestiging",statuses:["draft","confirmed","delivered","cancelled","superseded"],path:"orders",issuedStatus:"confirmed",transitions:{draft:["cancelled"],confirmed:["delivered","cancelled"],delivered:["confirmed"]},convertsTo:["invoice"]},{key:"invoice",label:"kind_invoice",numbered:!0,signFlip:!1,name:"Factuur",statuses:["draft","open","paid","overdue","cancelled","superseded"],path:"invoices",issuedStatus:"open",transitions:{draft:["cancelled"],open:["paid","overdue","cancelled"],overdue:["paid","open","cancelled"],paid:["open"]},convertsTo:["credit_note"]},{key:"credit_note",label:"kind_credit_note",numbered:!0,signFlip:!0,name:"Creditnota",statuses:["draft","open","settled","cancelled","superseded"],path:"invoices",issuedStatus:"open",transitions:{draft:["cancelled"],open:["settled","cancelled"],settled:["open"]},convertsTo:[],credits:"invoice"}],Lt=["quote","order","invoice","credit_note"];function Mu(){const e=new Map;for(const t of Pe)Lt.includes(t.key)&&(e.has(t.path)||e.set(t.path,t));return[...e.values()]}function C(e){return Pe.find(t=>t.key===e)??{key:e,label:e,name:e,numbered:!1,signFlip:!1,statuses:["draft"],path:"quotes",issuedStatus:"draft",transitions:{},convertsTo:[]}}const ku={draft:"Concept",sent:"Verstuurd",accepted:"Geaccepteerd",rejected:"Afgewezen",expired:"Verlopen",confirmed:"Bevestigd",delivered:"Geleverd",open:"Openstaand",paid:"Betaald",overdue:"Te laat",settled:"Afgewikkeld",cancelled:"Geannuleerd",superseded:"Vervangen"};function Lo(e,t){return C(e).transitions[t]??[]}function Nu(e,t,n){return Lo(e,t).includes(n)}function xo(e){return e.issuedAt!=null}const Ru=["status","fileRef","number","externalIds","postedAt","dunning","updatedAt"],wu=["companyId","contactId","dealItemId","title","reference","currency","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo","paymentTerm","lines"],Du=["contactId","dealItemId","title","reference","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo"];function Lu(e,t){if(!Lt.includes(t)||!C(e.kindKey).convertsTo.includes(t))return!1;const n=C(t);return!n.credits||n.credits===e.kindKey&&xo(e)}function Po(e,t){const n=C(t).signFlip!==C(e.kindKey).signFlip,r=e.lines.map(({timeEntryIds:o,...i})=>({...i,quantity:n?-i.quantity:i.quantity,netCents:0,taxCents:0}));return{kindKey:t,sourceTransactionId:e.id,agreementId:e.agreementId,version:1,businessEntityId:e.businessEntityId,companyId:e.companyId,contactId:e.contactId,dealItemId:e.dealItemId,ownerScope:e.ownerScope,ownerUserId:e.ownerUserId,title:e.title,reference:e.reference,currency:e.currency,status:"draft",lines:r,totals:{netCents:0,taxCents:0,grossCents:0,byRate:[]},taxOverrideKey:e.taxOverrideKey,introText:e.introText,termsText:e.termsText,paymentTerm:e.paymentTerm,deliveredAt:e.deliveredAt,periodFrom:e.periodFrom,periodTo:e.periodTo,source:e.source}}function xu(e){return{...Po(e,e.kindKey),sourceTransactionId:e.sourceTransactionId,previousVersionId:e.id,version:e.version+1,lines:e.lines.map(({timeEntryIds:n,...r})=>({...r})),totals:e.totals}}function Pu(e,t={}){const n=C(e.kindKey),r=e.totals??{netCents:0,taxCents:0,grossCents:0};return{customer:{name:t.companyName??"",contact:t.contactName??"",address:Uu(t.companyAddress),street:t.companyAddress?.street??"",house_number:t.companyAddress?.houseNumber??"",postal_code:t.companyAddress?.postalCode??"",city:t.companyAddress?.city??"",country:t.companyAddress?.country??""},organization:{name:t.organizationName??""},[n.key]:{number:e.number??"",credited_number:t.creditedNumber??"",title:e.title??"",reference:e.reference??"",version:String(e.version??1),date:U(e.issuedAt),valid_until:U(e.expiresAt),due_date:U(e.dueAt),delivery_date:U(e.deliveredAt),period_from:U(e.periodFrom),period_to:U(e.periodTo),payment_term:e.paymentTerm?.label??"",note:e.introText??"",terms:e.termsText??""},totals:{net:x(r.netCents),tax:x(r.taxCents),gross:x(r.grossCents)}}}function $u(e,t=[],n=$o){const r=e.totals??{netCents:0,grossCents:0,byRate:[]},o=a=>t.find(l=>l.key===a)?.percent??0,i={block_id:"lines",type:"table",columns:[{label:n.description},{label:n.quantity,align:"right"},{label:n.unitPrice,align:"right"},{label:n.net,align:"right"}],rows:(e.lines??[]).map(a=>a.kind==="text"?[a.name,"","",""]:[Ku(a.name,a.description,a.optional,n.optional),Fu(a.quantity),x(a.unitPriceCents),x(a.netCents)])},s={block_id:"totals",type:"totals",rows:[{label:n.net,amount:x(r.netCents)},{label:n.gross,amount:x(r.grossCents),emphasis:!0}],taxRows:r.byRate.map(a=>({label:`${n.tax} ${a.percent??o(a.taxRateKey)}%`,amount:x(a.taxCents)}))};return{lines:[i],totals:[s]}}const $o={description:"Omschrijving",optional:"optioneel",quantity:"Aantal",unitPrice:"Stuksprijs",net:"Netto",tax:"Btw",gross:"Totaal"};function Ku(e,t,n,r){const o=t?`${e} — ${t}`:e;return n?`${o} (${r})`:o}function Uu(e){return e?.street?[e.street,e.houseNumber].filter(Boolean).join(" "):""}function Fu(e){return Number.isInteger(e)?String(e):String(e).replace(".",",")}function U(e){if(!e)return"";const t=new Date(e),n=r=>String(r).padStart(2,"0");return`${n(t.getDate())}-${n(t.getMonth()+1)}-${t.getFullYear()}`}function Ko(e){const t=C(e),n=t.key,r=t.numbered;return[{block_id:"head",type:"letterhead",fields:[...r?[{key:"number",label:Gu[n]?.number??"Nummer",value:`{${n}.number}`}]:[],{key:"date",label:"Datum",value:`{${n}.date}`},...r?[{key:"due_date",label:"Vervaldatum",value:`{${n}.due_date}`}]:[{key:"valid_until",label:"Geldig tot",value:`{${n}.valid_until}`}],...t.credits?[{key:"credited_number",label:`Op ${C(t.credits).name.toLowerCase()}`,value:`{${n}.credited_number}`}]:[],{key:"reference",label:"Referentie",value:`{${n}.reference}`}],recipient:["{customer.name}","{customer.contact}","{customer.address}","{customer.postal_code} {customer.city}"]},{block_id:"title",type:"heading",level:1,text:`{${n}.title}`},{block_id:"intro",type:"paragraph",text:ln[n]??ln.quote},{block_id:"period",type:"paragraph",text:`Periode: {${n}.period_from} t/m {${n}.period_to}`},{block_id:"note",type:"paragraph",text:`{${n}.note}`},{block_id:"lines",type:"table",columns:[{label:""}],rows:[]},{block_id:"totals",type:"totals",rows:[]},...r?[{block_id:"payment",type:"paragraph",text:`Betaling: {${n}.payment_term}. Wij verzoeken u het bedrag vóór {${n}.due_date} over te maken onder vermelding van {${n}.number}.`}]:[],{block_id:"terms",type:"paragraph",text:un[n]??un.quote}]}const Bu=e=>({note:{key:`${C(e).key}.note`,exists:!0},period:{key:`${C(e).key}.period_from`,exists:!0}}),Gu={invoice:{number:"Factuurnummer"},credit_note:{number:"Creditnotanummer"}},ln={quote:`Beste {customer.contact},
9
+ `:t==="mail"?"<br><br>-- <br>":"<br><br>"}${o.body}`:n}function la(e){return e.endpoints??[]}const ua=["lead","opportunity","customer","former"],da=["new","working","unqualified"];function fa(e){return[e.firstName,e.lastName].filter(Boolean).join(" ").trim()}const Zn=["stages","leadStatuses","sources","scopes","cities","parentCompanyIds"],er=["openDeal","hasContacts"],pa={contact:["stages","leadStatuses","sources","scopes","cities","openDeal"],company:["stages","sources","scopes","cities","parentCompanyIds","hasContacts"]},ma=["updatedAt","createdAt","name"],ga=["list"];function ha(e){return e.search?.trim()||e.createdWithinDays||er.some(t=>e[t])||Zn.some(t=>e[t]?.length)?!1:!Object.values(e.fields??{}).some(t=>t.length)}const tr="CRM_NOTE_ADDED",ya="crm_activity",nr="CRM_CALL_LOGGED",Ea="CRM_STAGE_CHANGED",_a=["phone","meeting","video"],Sa=["callback","interested","no_answer","not_interested"],Aa=e=>e===tr||e===nr,Ta=e=>e.payload.call?.at??e.createdAt??0;function U(e){const t=(e??"").trim().toLowerCase();if(t)return t.split(/[-_]/)[0]||void 0}function ba(e){return U(e.contactLocale)??U(e.companyLocale)??U(e.organizationLocale)}function Ia(e,t,n,r){const o=e.filter(a=>a.key===t&&!a.archived);if(o.length===0)return;const i=U(n),s=U(r);return o.find(a=>U(a.locale)===i)??o.find(a=>U(a.locale)===s)??o.find(a=>!a.locale)??o[0]}const Oa=/\{([a-zA-Z0-9_.]+)\}/g;function Tt(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}function va(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function rr(e,t,n){const r=[];return{text:e.replace(Oa,(i,s)=>{const a=Tt(t,s);return a==null||a===""?(r.includes(s)||r.push(s),n??`{${s}}`):va(a)}),unresolved:r}}function or(e,t){if(!e)return!0;const n=Tt(t,e.key);if(e.exists!==void 0){const r=n!=null&&n!==""&&n!==!1;return e.exists?r:!r}return e.equals!==void 0?n===e.equals:!0}function Ca(e,t,n,r,o){const i=[],s=[],a=new Set,l=c=>{const d=rr(c,t,o);for(const u of d.unresolved)i.includes(u)||i.push(u);return d.text};for(const c of e){if(c.block_id&&!or(n?.[c.block_id],t))continue;const d=c.block_id?r?.[c.block_id]:void 0;if(d&&c.block_id){a.add(c.block_id),s.push(...d);continue}switch(c.type){case"heading":case"paragraph":case"quote":s.push({...c,text:l(c.text)});break;case"callout":s.push({...c,...c.title?{title:l(c.title)}:{},text:l(c.text)});break;case"code":s.push(c);break;case"list":s.push({...c,items:c.items.map(u=>({...u.lead?{lead:l(u.lead)}:{},text:l(u.text)}))});break;case"table":s.push({...c,columns:c.columns.map(u=>({...u,label:l(u.label)})),rows:c.rows.map(u=>u.map(l)),...c.caption?{caption:l(c.caption)}:{}});break;case"kpi":s.push({...c,items:c.items.map(u=>({...u,value:l(u.value),label:l(u.label)}))});break;case"letterhead":s.push({...c,fields:c.fields.map(u=>({...u,value:l(u.value)})),...c.recipient?{recipient:c.recipient.map(l)}:{}});break;case"totals":s.push({...c,rows:c.rows.map(u=>({...u,label:l(u.label),amount:l(u.amount)})),...c.taxRows?{taxRows:c.taxRows.map(u=>({...u,label:l(u.label),amount:l(u.amount)}))}:{}});break;case"image":s.push({...c,url:l(c.url),...c.alt?{alt:l(c.alt)}:{}});break;default:s.push(c)}}return{blocks:s,unresolved:i,unusedSlots:Object.keys(r??{}).filter(c=>!a.has(c))}}function ir(e){const t=e?.address,n=[t?.street,t?.houseNumber].filter(Boolean).join(" "),r=[t?.postalCode,t?.city].filter(Boolean).join(" ");return{name:e?.name??"",addressLines:[n,r,t?.country??""].filter(Boolean),footerLines:[e?.footerText??"",e?.kvkNumber?`KvK ${e.kvkNumber}`:"",e?.vatNumber?`Btw ${e.vatNumber}`:"",e?.iban?`IBAN ${e.iban}`:""].filter(Boolean),...e?.logo?{logo:e.logo}:{}}}function Ma(e){return ir({name:e?.billing?.companyName||e?.name||e?.displayName||"",address:e?.address,kvkNumber:e?.billing?.kvkNumber,vatNumber:e?.billing?.vatNumber,iban:e?.houseStyle?.iban,footerText:e?.houseStyle?.footerText,logo:e?.logo})}function sr(e,t,n,r=Date.now()){const o=n.filter(i=>i.ok).length;return{suite:e,target:t,at:r,score:n.length?o/n.length:1,perCase:[...n]}}function ka(e){return e.perCase.filter(t=>!t.ok).map(t=>`${t.caseId}: ${t.note??"onverwacht resultaat"}`)}async function Na(e,t,n,r,o=Date.now()){const i=[];for(const s of n)try{i.push(await r(s))}catch(a){i.push({caseId:s.id,ok:!1,note:`beoordeling mislukt: ${a?.message??String(a)}`})}return sr(e,t,i,o)}const ar=36e5,cr=864e5,P=-1/0,Ra=e=>e.score>P,q={urgent:40,high:25,normal:10,low:0};function wa(e){return Object.fromEntries(e.map(t=>[t.resourceId,t]))}const Da=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,lr=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function ur(e,t){return!!(e&&Da.test(e)||t&&lr.test(t))}const dr=3,fr=600;function La(e,t){return e>=dr||t>=fr}const pr=["list-unsubscribe","list-unsubscribe-post","list-id","precedence","auto-submitted","x-auto-response-suppress","feedback-id","x-mailer"];function xa(e){const t={};for(const n of e){const r=n.name?.toLowerCase();r&&n.value!==void 0&&pr.includes(r)&&(t[r]=n.value)}return t}const Pa=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i,$a=/(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;function Ua(e){const t=e.headers??{},n=e.from?.email,r=t["auto-submitted"]?.toLowerCase();if(r&&r!=="no"||t["x-auto-response-suppress"]||n&&Pa.test(n))return"automated";const o=t.precedence?.toLowerCase();if(t["list-unsubscribe"]||t["list-unsubscribe-post"]||t["list-id"]||o==="bulk"||o==="list"||e.body&&lr.test(e.body)||n&&$a.test(n))return"marketing"}function mr(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const gr=["open"],hr=1e3,yr=72;function Er(e){return e.lastActivityAt??(e.createdAt?new Date(Nn(e)).getTime():0)}function _r(e,t){return Sr(t.remindersById?.[e.id],e,t.now)}function Sr(e,t,n){return!e||e.remindAt<=n?!1:!((t.lastActivityAt??0)>e.parkedAt&&t.lastActivityPreview?.direction==="inbound")}const Ar=e=>vn(e)==="outbound_message",Tr=e=>gr.includes(e);function Re(e,t){return Math.max(0,(t-Er(e))/ar)}function br(e,t){const n=e.assignedInboxId?t?.[e.assignedInboxId]:void 0;return typeof n=="number"&&n>0?n:void 0}function Ka(e){const t={};for(const n of e)typeof n.slaHours=="number"&&n.slaHours>0&&(t[n.id]=n.slaHours);return t}function Fa(e,t,n){if(!Tr(e.status)||e.firstResponseAt)return!1;const r=br(e,n);return r!==void 0&&Re(e,t)>r}function Ir(e,t){const n=e.lastActivityPreview;return n?.direction!=="outbound"||!Ar(n.type)?!1:Re(e,t)<yr}function Ba(e,t){if(!Tr(e.status))return{score:P,reasons:[]};if(e.snoozedTill&&e.snoozedTill>t.now)return{score:P,reasons:[]};if(Ir(e,t.now))return{score:P,reasons:[]};if(_r(e,t))return{score:P,reasons:[]};let n=0;const r=[],o=e.priority??"normal";q[o]>0&&(n+=q[o],r.push(`priority:${o}`)),mr(e,t.userId)&&(n+=20,r.push("unseen")),e.assignedUserId&&e.assignedUserId===t.userId&&(n+=15,r.push("assigned-to-you"));const i=Re(e,t.now);if(i>0){const l=Math.min(i*2,30);n+=l,i>=1&&r.push(`waiting:${Math.round(i)}h`)}const s=e.lastActivityPreview;return s?.type==="AI_ACTION_PROPOSED"&&(n+=30,r.push("awaiting-approval")),s?.direction==="outbound"&&Ar(s.type)&&(n+=10,r.push("no-reply")),!e.firstResponseAt&&e.lastActivityPreview?.direction==="inbound"&&(n+=10,r.push("awaiting-reply")),(e.tags?.some(l=>l==="marketing"||l==="automated")||ur(e.remoteParty?.resource,e.lastActivityPreview?.snippet))&&(n-=hr,r.push("bulk")),{score:n,reasons:r}}const Ga=e=>!!e.assignedUserId||!!e.assignedInboxId,Ha=e=>e.status==="closed",ja=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,Wa=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`,Or=[{key:"solved",label:"resolution_solved",order:0,positive:!0,system:!0},{key:"no_action",label:"resolution_no_action",order:1,system:!0},{key:"duplicate",label:"resolution_duplicate",order:2,system:!0},{key:"spam",label:"resolution_spam",order:3,system:!0},{key:"unresolved",label:"resolution_unresolved",order:4,positive:!1,system:!0}],Va=["duplicate","spam"],Ya="c_";function za(e){const t=[...e?.resolutions??[]].filter(n=>!n.system).sort((n,r)=>n.order-r.order);return[...Or,...t]}function Xa(e,t){const n=e.labels??[];return n.find(r=>r.locale===t)?.label??n[0]?.label??e.url}function qa(e,t,n){const r=e.translations??[];return r.find(o=>o.locale===t)??(n?r.find(o=>o.locale===n):void 0)??{locale:t}}const Qa="article",Se=[{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 vr(e){const t=(e??"").toLowerCase();return Se.find(n=>n.code===t)??Se.find(n=>n.code===t.split("-")[0])}function Ja(e){return vr(e)?.label??e}function Za(e){const t=vr(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const bt=3;function Cr(e,t){const n=new Set;let r=1,o=t.get(e)?.parentId;for(;o;){if(n.has(o)||(n.add(o),r++,r>bt+1))return 1/0;o=t.get(o)?.parentId}return r}function ec(e,t,n){if(!e)return!0;if(e===t)return!1;const r=new Map(n.map(s=>[s.id,s]));if(!r.has(e)||t&&Mr(e,t,r))return!1;const o=Cr(e,r),i=t?It(t,n):1;return o+i<=bt}function Mr(e,t,n){const r=new Set;let o=n.get(e)?.parentId;for(;o;){if(o===t)return!0;if(r.has(o))return!1;r.add(o),o=n.get(o)?.parentId}return!1}function It(e,t,n=new Set){if(n.has(e))return 1;n.add(e);const r=t.filter(o=>o.parentId===e);return r.length?1+Math.max(...r.map(o=>It(o.id,t,n))):1}const kr="en";function Nr(e){return e.defaultLocale||e.locale||kr}function tc(e){const t=new Set,n=[];for(const r of[Nr(e),...e.locales??[]])!r||t.has(r)||(t.add(r),n.push(r));return n}function nc(e,t,n){const r=e.translations??[];return r.find(o=>o.locale===t)?.name??(n?r.find(o=>o.locale===n)?.name:void 0)??e.name}const rt=["lookup","condition","parallel","for-each"];function ae(e){for(const t of e){if(!rt.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${rt.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const r=ae(n);if(r)return r}if(t.type==="for-each"){const n=ae(t.body??[]);if(n)return n}if(t.type==="condition"){const n=ae(t.else??[]);if(n)return n}}return null}function rc(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 oc(e,t){return e.filter(n=>n.enabled&&rc(n.ownerScope,t))}function ic(e){return e.credentialScope?e.credentialScope:(e.authMode??"header")==="header"||e.oauth?.scope==="org"?"shared":"per-user"}function sc(e){return`mcp__${e}__`}const ac=1e3,cc=2e3,lc=500,uc=12e3,dc=4e3,Rr=["contact","company","work_item"];function fc(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return Rr.includes(t)}const pc=[{key:"high",label:"tax_high",percent:21,kind:"standard"},{key:"low",label:"tax_low",percent:9,kind:"reduced"},{key:"zero",label:"tax_zero",percent:0,kind:"zero"},{key:"reverse_charge",label:"tax_reverse_charge",percent:0,kind:"reverse_charge"},{key:"exempt",label:"tax_exempt",percent:0,kind:"exempt"}];function wr(e,t){return t.find(n=>n.key===e)??{key:e,label:e,percent:0,kind:"zero"}}function Dr(e){if(e.kind!=="product")return 0;const t=1-(e.discountPercent??0)/100;return W(e.quantity*e.unitPriceCents*t)}function mc(e,t,n){const r=e.map(c=>({...c,netCents:Dr(c),taxCents:0})),o=new Map;for(let c=0;c<r.length;c++){if(r[c].kind!=="product"||r[c].optional)continue;const d=n??r[c].taxRateKey,u=o.get(d);u?u.push(c):o.set(d,[c])}const i=[];let s=0,a=0;for(const[c,d]of o){const u=wr(c,t),f=d.reduce((m,T)=>m+r[T].netCents,0),p=W(f*u.percent/100),y=Xn(p,d.map(m=>r[m].netCents));for(let m=0;m<d.length;m++)r[d[m]].taxCents=y[m];i.push({taxRateKey:c,percent:u.percent,kind:u.kind,netCents:f,taxCents:p}),s+=f,a+=p}const l=r.reduce((c,d)=>d.costPriceCents==null||d.optional?c:c+W(d.costPriceCents*d.quantity),0);return{lines:r,totals:{netCents:s,taxCents:a,grossCents:s+a,costCents:l,byRate:i}}}const gc="onboarding-source",hc=["support","billing","availability","sales","onboarding"],yc=["keep","replace"],we=[{key:"shift",label:"kind_shift",capacity:!0,productive:!1,absent:!1,icon:"calendar-clock"},{key:"allocation",label:"kind_allocation",capacity:!1,productive:!0,absent:!1,icon:"briefcase"},{key:"meeting",label:"kind_meeting",capacity:!1,productive:!1,absent:!1,icon:"users"},{key:"travel",label:"kind_travel",capacity:!1,productive:!1,absent:!1,icon:"car"},{key:"training",label:"kind_training",capacity:!1,productive:!1,absent:!1,icon:"graduation-cap"},{key:"break",label:"kind_break",capacity:!1,productive:!1,absent:!1,icon:"coffee"},{key:"absence",label:"kind_absence",capacity:!1,productive:!1,absent:!0,approvable:!0,icon:"palmtree"},{key:"sick",label:"kind_sick",capacity:!1,productive:!1,absent:!0,icon:"thermometer"},{key:"holiday",label:"kind_holiday",capacity:!1,productive:!1,absent:!0,icon:"party-popper"}],Lr={key:"unknown",label:"kind_unknown",capacity:!1,productive:!1,absent:!1};function w(e,t=we){return t.find(n=>n.key===e)??{...Lr,key:e}}function V(e){return e==="published"||e==="approved"}function Ot(e,t,n=we){if(e.workstreamId!==t)return!1;const r=w(e.kindKey,n);return r.absent?!1:r.productive||r.capacity}function Ec(e,t=we){if(!e.userId||!V(e.status))return!1;const n=w(e.kindKey,t);return n.capacity||n.productive||n.absent}const _c=864e5;function xr(e,t){return Math.round((t-e)/_c)}function vt(e,t){const n=e.cycleMinutes.length;return n===0?0:(xr(e.anchor,t)%n+n)%n}function Ct(e,t){return e.effectiveFrom!==void 0&&t<e.effectiveFrom?0:e.cycleMinutes[vt(e,t)]??0}function Mt(e,t){return e.startTimes?.[vt(e,t)]}function kt(e,t,n,r){const o=e.filter(a=>a.effectiveFrom===void 0||a.effectiveFrom<=r),i=a=>a.sort((l,c)=>(c.effectiveFrom??0)-(l.effectiveFrom??0))[0],s=i(o.filter(a=>a.userId===t));return s||i(o.filter(a=>!a.userId&&a.teamId&&n.includes(a.teamId)))}function Pr(e,t,n){return e.filter(r=>r.userId===t&&(r.effectiveFrom===void 0||r.effectiveFrom<=n)).sort((r,o)=>(o.effectiveFrom??0)-(r.effectiveFrom??0))[0]}const ot=864e5;function Sc(e){const t=Math.max(1,Math.round((e.to-e.from)/ot));return Array.from({length:t},(n,r)=>e.from+r*ot)}function it(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}const en={interval:0,day:1,week:2};function Ac(e,t){const{entries:n,patterns:r=[],terms:o=[]}=t,i=n.filter(u=>u.userId&&V(u.status)&&w(u.kindKey).capacity),s=n.filter(u=>u.userId&&V(u.status)&&w(u.kindKey).absent),a=t.userIds??[...new Set([...i.map(u=>u.userId),...r.map(u=>u.userId),...o.map(u=>u.userId)])].filter(u=>!!u),l={};let c="interval";const d=u=>{en[u]>en[c]&&(c=u)};for(const u of a){const f=t.teamIdsOf?.(u)??[];let p=0,y=0,m=0;for(const g of Sc(e)){const A=Math.max(g,e.from),D=Math.min(g+ot,e.to);m++;const N=i.filter(v=>v.userId===u).reduce((v,jt)=>v+it(jt.start,jt.end,A,D),0);if(N>0){p+=N;continue}const M=kt(r,u,f,g),R=M?Ct(M,g):0;if(M&&R>0){p+=R*60,d(Mt(M,g)?"interval":"day");continue}M||y++}if(y>0){const g=Pr(o,u,e.from);g&&(p+=g.weeklyMinutes*60*(y/7),d("week"))}const T=s.filter(g=>g.userId===u).reduce((g,A)=>g+it(A.start,A.end,e.from,e.to),0),h=Math.max(0,p-T);(h>0||m>0)&&(l[u]=h)}return{seconds:Object.values(l).reduce((u,f)=>u+f,0),precision:c,byUser:l}}function Tc(e,t){if(!e.some(a=>a.userId))return[];const n="",r=new Map;for(const a of e){const l=a.userId??n;r.set(l,(r.get(l)??0)+a.seconds)}const i=[...new Set([...Object.keys(t.byUser),...[...r.keys()].filter(a=>a!==n)])].map(a=>{const l=r.get(a)??0,c=t.byUser[a]??0;return{userId:a,requiredSeconds:l,capacitySeconds:c,netSeconds:c-l}});i.sort((a,l)=>a.netSeconds-l.netSeconds);const s=r.get(n)??0;return s>0&&i.push({requiredSeconds:s,capacitySeconds:0,netSeconds:-s}),i}function bc(e,t,n,r){const o=e.filter(s=>s.userId&&V(s.status)&&!w(s.kindKey).absent),i=Object.entries(r.byUser).map(([s,a])=>{let l=0,c=0;for(const d of o){if(d.userId!==s||w(d.kindKey).capacity&&!d.workstreamId)continue;const u=it(d.start,d.end,n.from,n.to);u<=0||(Ot(d,t)?l+=u:c+=u)}return{userId:s,capacitySeconds:a,onThisSeconds:l,elsewhereSeconds:c,freeSeconds:Math.max(0,a-l-c)}});return i.sort((s,a)=>a.freeSeconds-s.freeSeconds),i}const Ic="demand-source",tn=1e3;function Oc(e,t){let n=1;for(let r=1;r<=e;r++)n=t*n/(r+t*n);return n}function $r(e,t){if(e<=0)return 1;if(t<=0)return 0;if(e<=t)return 1;const n=Oc(e,t),r=t/e;return n/(1-r*(1-n))}function Ur(e,t,n,r){return r<=0?1:e<=t?0:1-$r(e,t)*Math.exp(-(e-t)*n/r)}function Kr(e,t,n){return n<=0?0:e*t/n}function Fr(e,t,n,r){if(e<=0||t<=0)return 0;const o=Kr(e,t,n);if(o<=0)return 0;const i=r.serviceLevelPercent/100,s=r.maxOccupancyPercent?r.maxOccupancyPercent/100:void 0;for(let a=Math.max(1,Math.ceil(o));a<=tn;a++)if(!(a<=o)&&!(Ur(a,o,r.targetSeconds,t)<i)&&!(s&&o/a>s))return a;return tn}const vc=36e5,Cc=864e5;function Mc(e){return e==="day"?Cc:vc}function kc(e,t){return e.start<t.end&&t.start<e.end}function ce(e,t,n){const r=Math.min(e.end,n)-Math.max(e.start,t);return r>0?r/1e3:0}function Br(e,t,n){const r=e.handleSeconds??0,o=e.seconds??(e.volume!==void 0?e.volume*r:0);if(o<=0&&!e.volume)return{seconds:0,headcount:0};const i=(t.unplannedLossPercent??0)/100,s=i>0&&i<1?1/(1-i):1;if(t.model==="queue"&&e.volume!==void 0&&r>0){const a=Fr(e.volume,r,n,t);return{seconds:o,headcount:a*s}}return{seconds:o,headcount:o/n*s}}function Nc(e){const{entries:t,workstreamId:n,staffing:r,demand:o,range:i}=e,s=e.grain??"hour",a=Mc(s),l=a/1e3,c=e.kinds,d=t.filter(m=>V(m.status)),u=d.filter(m=>Ot(m,n,c)),f=d.filter(m=>w(m.kindKey,c).capacity),p=d.filter(m=>w(m.kindKey,c).absent),y=[];for(let m=j(i.from,s);m<i.to;m+=a){const T=m+a,h=H(m,s);let g=0;for(const v of u)g+=ce(v,m,T);let A=0;for(const v of f)A+=ce(v,m,T);let D=0;for(const v of p)D+=ce(v,m,T);const N=o?.[h]??{},M=Br(N,r,l),R=g/l;y.push({period:h,forecastVolume:N.volume,requiredSeconds:M.seconds,requiredHeadcount:M.headcount,scheduledSeconds:g,scheduledHeadcount:R,netHeadcount:R-M.headcount,capacitySeconds:A,absentSeconds:D})}return y}function Gr(e,t){return e.workTypeKey??t?.defaultWorkTypeKey}function Rc(e,t,n){const r=Gr(e,t);return r?n.find(o=>o.key===r)?.defaultBillable??!1:!1}function wc(e){return e.filter(t=>t.netHeadcount<0&&t.requiredHeadcount>0)}const Dc=36e5,st=6048e5,Hr=8,Lc=.5,xc=2;function Pc(e){const t=Number(e.slice(0,4)),n=Number(e.slice(5,7)),r=Number(e.slice(8,10)),o=e.length>10?Number(e.slice(11,13)):0;return Date.UTC(t,n-1,r,o)}function $c(e,t,n){const r=[];for(let i=0;i<n;i++){const s=t-i*st,a=s-st;let l=0,c=!1;for(const[d,u]of e)d>=a&&d<s&&(l+=u,c=!0);c&&r.push(l)}if(r.length<2)return 1;const o=r.reduce((i,s)=>i+s,0)/r.length;return o<=0?1:Math.min(xc,Math.max(Lc,r[0]/o))}function Uc(e,t){if(!e?.length)return;let n;for(const r of e)t>=r.from&&t<r.to&&(n=r);return n}function Kc(e,t,n){const r=Math.max(1,n?.weeks??Hr),o=new Map,i=new Set;for(const l of e)o.set(Pc(l.period),l.value),i.add(l.period.slice(0,10));const s=$c(o,j(t.from,"hour"),r),a=[];for(let l=j(t.from,"hour");l<t.to;l+=Dc){let c=0,d=0;for(let p=1;p<=r;p++){const y=l-p*st,T=o.get(y)??(i.has(H(y,"day"))?0:void 0);if(T===void 0)continue;const h=r-p+1;c+=T*h,d+=h}let u=d>0?c/d*s:0;const f=Uc(n?.adjustments,l);f?.absoluteVolume!==void 0?u=f.absoluteVolume:f?.factor!==void 0&&(u*=f.factor),a.push({period:H(l,"hour"),volume:u})}return a}const jr="schedule_entry",Wr="workstream";function Fc(e){return`${jr}:${e}`}function Bc(e){return`${Wr}:${e}`}const at=36e5,G=864e5;function Gc(e,t){const n=t==="day"?G:at,r=[];for(let o=j(e.from,t);o<e.to;o+=n)r.push(o);return r}function nn(e){const t=Math.max(1,Math.round((e.to-e.from)/G));return Array.from({length:t},(n,r)=>e.from+r*G)}function je(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}function Hc(e,t,n={}){const r=n.grain??"hour",o=Gc(t,r),i=r==="day"?G:at,s=new Map(o.map(u=>[u,0])),a=e.filter(u=>u.userId&&w(u.kindKey).capacity),l=n.userIds?.length?new Set(n.userIds):null,c=new Set;for(const u of a)if(!(l&&u.userId&&!l.has(u.userId))){for(const f of o){const p=je(u.start,u.end,f,f+i);p>0&&s.set(f,(s.get(f)??0)+p)}for(const f of nn(t))je(u.start,u.end,f,f+G)>0&&c.add(`${u.userId}:${f}`)}const d=n.userIds??[...new Set([...a.map(u=>u.userId),...(n.patterns??[]).map(u=>u.userId)])].filter(u=>!!u);if(n.patterns?.length)for(const u of d){const f=n.teamIdsOf?.(u)??[];for(const p of nn(t)){if(c.has(`${u}:${p}`))continue;const y=kt(n.patterns,u,f,p);if(!y)continue;const m=Ct(y,p);if(m<=0)continue;const T=Mt(y,p);if(T){const[A,D]=T.split(":").map(Number),N=p+A*at+(D??0)*6e4,M=N+m*6e4;for(const R of o){const v=je(N,M,R,R+i);v>0&&s.set(R,(s.get(R)??0)+v)}continue}const h=o.filter(A=>A>=p&&A<p+G);if(!h.length)continue;const g=m*60/h.length;for(const A of h)s.set(A,(s.get(A)??0)+g)}}return o.map(u=>({period:H(u,r),weight:s.get(u)??0}))}function Vr(e,t){if(e<=0||!t.length)return[];const n=t.reduce((r,o)=>r+Math.max(0,o.weight),0);if(n<=0){const r=e/t.length;return t.map(o=>({period:o.period,seconds:r}))}return t.filter(r=>r.weight>0).map(r=>({period:r.period,seconds:e*r.weight/n}))}function jc(e,t,n){const r=new Map;for(const o of e){const i=o.by?t.filter(a=>n(a.period)<o.by):t,s=i.length?i:t;for(const a of Vr(o.seconds,s)){const l=`${a.period}|${o.userId??""}`,c=r.get(l);c?c.seconds+=a.seconds:r.set(l,{...a,userId:o.userId})}}return[...r.values()].sort((o,i)=>o.period.localeCompare(i.period)||(o.userId??"").localeCompare(i.userId??""))}function Yr(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Wc(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 r=t.slice(0,n),o=t.slice(n+1).trim();if(o){if(r==="user")return{kind:"user",userId:o};if(r==="team")return{kind:"team",teamId:o}}}function zr(e){return Yr(e)}function Xr(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 Vc(e){return e.agentId?{kind:"user",userId:e.agentId}:Xr(e.ownerScope)}function Yc(e){return zr(e)}const qr="playbook-run",zc="run";function Xc(e,t=0){return`${qr}:${e}~${t}`}function qc(e){const t=e.indexOf("~");return t<0?e:e.slice(0,t)}function Qr(e,t){if(!t)return;let n=e;for(const r of t.split(".")){if(n===null||typeof n!="object")return;n=n[r]}return n}function Qc(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function Jc(e,t){if(t)return e.targets.find(n=>n.id===t)}function Jr(e){return e?.kind==="assignment"}function Zc(e){const{trigger:t,agentId:n,target:r,activityType:o,assigneeUserId:i,authorUserId:s}=e;return Jr(t)?n?r?r.activityTypes.includes(o)?i?i!==n?"assigned to someone else":s&&s===n?"the agent assigned this to itself, which would restart its own run":null:`no assignee found at ${r.assigneePath}`:`activity type ${o} does not announce an assignment for ${r.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"}const ct=["suggest","outward","auto"];function el(e){return typeof e=="string"&&ct.includes(e)}function tl(e){const t=e.playbook?.autonomy??e.agent?.autonomy??"suggest";return e.demoted&&t==="auto"?"outward":t}function nl(e,t){const n=e??"suggest";return t&&ct.indexOf(t)<ct.indexOf(n)?t:n}function rl(e){return e.replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}function Zr(e){const t=e.split("__");return t[t.length-1]||e}function ol(e){const t=Zr(e).replace(/[_.]+/g," ").trim();return t?t.charAt(0).toUpperCase()+t.slice(1):e}const il=[{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:"itemId",type:"string"},{name:"activityId",type:"string"},{name:"authorType",type:"string"},{name:"authorName",type:"string"},{name:"textRaw",type:"string"},{name:"fromStatus",type:"string",onlyFor:["INTERACTION_STATUS_CHANGED"]},{name:"toStatus",type:"string",onlyFor:["INTERACTION_STATUS_CHANGED"]},{name:"toCategory",type:"string",onlyFor:["WORK_ITEM_STATUS_CHANGED"]},{name:"contactId",type:"string"},{name:"companyId",type:"string"},{name:"priority",type:"string"},{name:"inboxId",type:"string"},{name:"topicId",type:"string"},{name:"assigneeUserId",type:"string"}];function sl(e,t){return!e.onlyFor||!t?.length?!0:t.some(n=>e.onlyFor?.includes(n))}const al={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 eo(e){return`${e.type}:${e.id}`}const to="interaction";function no(e){return e?.type===to?e.id:void 0}const ro=64,oo=8e3;function cl(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),ro),oo)}const ll=["condition","for-each","parallel","lookup","action","classify","generate","agent","wait-for-reply","wait-for-task"],ul={kind:"workflow",steps:[]};function dl(e){return e?.kind==="workflow"?e.steps:[]}function fl(e){return e?.kind==="procedure"?e.procedure:void 0}function pl(e){return e.assignmentId?"assignment":e.decider?.kind==="procedure"?"procedure":"workflow"}function io(e){const t=e?.approved??0,n=t+(e?.rejected??0);return{total:n,rate:n?t/n:0}}const so=10,ao=.9;function ml(e){const{total:t,rate:n}=io(e);return t>=so&&n>=ao}const co=["done","escalated","failed","stopped"];function gl(e){return co.includes(e)}function lo(e){return e==="waiting"}function hl(e){return e==="running"||lo(e)}function Nt(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function yl(e){const t=Nt(e);return t?eo(t):void 0}function El(e){return no(Nt(e))}function _l(e){const t=[],n=new Map;for(const r of[...e].sort(Sl)){const o=n.get(r.emoji);if(o){o.push(r.actor);continue}t.push(r.emoji),n.set(r.emoji,[r.actor])}return t.map(r=>{const o=n.get(r);return{emoji:r,count:o.length,actors:o}}).sort((r,o)=>o.count-r.count||t.indexOf(r.emoji)-t.indexOf(o.emoji))}const Sl=(e,t)=>(e.createdAt??0)-(t.createdAt??0);function Al(e,t){return t?e.actors.some(n=>n.type==="user"&&n.id===t):!1}class Rt extends Error{constructor(t){super(t),this.name="UnresolvedRefError"}}const Tl=/^\{\{\s*([\w.]+)\s*\}\}$/,bl=/\{\{\s*([\w.]+)\s*\}\}/g,Il=/\$[A-Za-z_][\w]*\.[\w.]+/;function Ol(e,t,n={}){return Ae(e,t,n)}function Ae(e,t,n={}){return typeof e=="string"?vl(e,t,n):Array.isArray(e)?e.map(r=>Ae(r,t,n)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,Ae(o,t,{...n,where:`${n.where??"een parameter"} "${r}"`})])):e}function vl(e,t,n){const r=n.onMissing==="throw";if(r){const i=e.match(Il);if(i)throw new Rt(`"${i[0]}" in ${n.where??"een waarde"} is de oude schrijfwijze; gebruik {{ ${i[0].slice(1)} }}.`)}const o=e.match(Tl);if(o){const i=rn(t,o[1],e,n);return i===void 0&&!r?"":i}return e.replace(bl,(i,s)=>{const a=rn(t,s,i,n);return a==null?"":typeof a=="object"?JSON.stringify(a):String(a)})}function rn(e,t,n,r){const o=t.split(".")[0]??"";if(r.onMissing==="throw"&&!Object.hasOwn(e,o)){const i=Object.keys(e);throw new Rt(`onbekende verwijzing ${n} in ${r.where??"een waarde"}: "${o}" bestaat niet. Beschikbaar: ${i.length?i.join(", "):"(nog niets)"}`)}return Cl(e,t)}function Cl(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}const Ml=new Set(["filled","empty"]);function kl(){return{kind:"rule",op:"==",varPath:"",value:""}}const Nl=new Set(["==","!=",">","<",">=","<="]);function We(e){return!!e&&typeof e=="object"&&"var"in e&&typeof e.var=="string"}function on(e){const t=typeof e;return t==="string"||t==="number"||t==="boolean"}function uo(e){if(e===!0||e==null)return{kind:"group",op:"and",children:[]};if(e===!1)return null;const t=lt(e);return t?t.kind==="group"?t:{kind:"group",op:"and",children:[t]}:null}function lt(e){if(typeof e!="object"||e===null)return null;const t=Object.keys(e);if(t.length!==1)return null;const n=t[0],r=e[n];if(n==="and"||n==="or"){if(!Array.isArray(r))return null;const o=[];for(const i of r){const s=lt(i);if(!s)return null;o.push(s)}return{kind:"group",op:n,children:o}}if(n==="!!"||n==="!"){const o=Array.isArray(r)?r.length===1?r[0]:void 0:r;if(We(o))return{kind:"rule",op:n==="!!"?"filled":"empty",varPath:o.var,value:""};if(n==="!!")return null;const i=lt(r);return i?{kind:"not",child:i}:null}if(n==="in"){if(!Array.isArray(r)||r.length!==2)return null;const[o,i]=r;return!We(i)||!on(o)?null:{kind:"rule",op:"in",varPath:i.var,value:o}}if(Nl.has(n)){if(!Array.isArray(r)||r.length!==2)return null;const[o,i]=r;return!We(o)||!on(i)?null:{kind:"rule",op:n,varPath:o.var,value:i}}return null}function le(e){return e.kind==="group"?e.children.length===0?!0:e.children.length===1?le(e.children[0]):{[e.op]:e.children.map(le)}:e.kind==="not"?{"!":le(e.child)}:e.op==="filled"?{"!!":[{var:e.varPath}]}:e.op==="empty"?{"!":[{var:e.varPath}]}:e.op==="in"?{in:[e.value,{var:e.varPath}]}:{[e.op]:[{var:e.varPath},e.value]}}function Rl(e){const t=uo(e);return t&&ut(t)||null}function ut(e){if(e.kind==="group"){const t=e.children.map(ut).filter(Boolean);return t.length===0?"":t.length===1?t[0]:t.join(e.op==="and"?" && ":" || ")}return e.kind==="not"?`!(${ut(e.child)})`:e.op==="filled"?`$${e.varPath}`:e.op==="empty"?`!$${e.varPath}`:e.op==="in"?`${JSON.stringify(e.value)} in $${e.varPath}`:`$${e.varPath} ${e.op} ${JSON.stringify(e.value)}`}const Ve=[{min:0,max:59},{min:0,max:23},{min:1,max:31},{min:1,max:12},{min:0,max:7}];function wl(e,t,n){const r=new Set;for(const o of e.split(",")){const[i,s]=o.split("/"),a=s===void 0?1:Number(s);if(!Number.isInteger(a)||a<1)return null;let l=t,c=n;if(i!=="*"&&i!==void 0){const[d,u]=i.split("-");if(l=Number(d),c=u===void 0?l:Number(u),!Number.isInteger(l)||!Number.isInteger(c)||(u===void 0&&s!==void 0&&(c=n),l<t||c>n||l>c))return null}for(let d=l;d<=c;d+=a)r.add(d)}return r.size?r:null}function wt(e){const t=e.trim().split(/\s+/);if(t.length!==Ve.length)return null;const n=[];for(let l=0;l<Ve.length;l++){const c=Ve[l],d=t[l];if(!c||d===void 0)return null;const u=wl(d,c.min,c.max);if(!u)return null;n.push(u)}const[r,o,i,s,a]=n;return a.has(7)&&a.add(0),{minute:r,hour:o,dayOfMonth:i,month:s,dayOfWeek:a,anyDayOfMonth:t[2]==="*",anyDayOfWeek:t[4]==="*"}}function Dl(e){return wt(e)!==null}function fo(e,t){const n=wt(e);if(!n||!n.minute.has(t.getUTCMinutes())||!n.hour.has(t.getUTCHours())||!n.month.has(t.getUTCMonth()+1))return!1;const r=n.dayOfMonth.has(t.getUTCDate()),o=n.dayOfWeek.has(t.getUTCDay());return n.anyDayOfMonth&&n.anyDayOfWeek?!0:n.anyDayOfMonth?o:n.anyDayOfWeek?r:r||o}const po="@schedule",dt=3;function mo(e,t,n){const r=[],o=e.depth??0;if(o>=dt)return{matched:[],skipped:t.map(a=>({ruleId:a.id,reason:`keten te diep (${o} van ${dt})`}))};const i={event:e.payload,subject:e.subject??{}},s=[];for(const a of t){if(!a.enabled){r.push({ruleId:a.id,reason:"staat uit"});continue}if(a.trigger.kind==="schedule"){if(e.name!==po){r.push({ruleId:a.id,reason:"luistert op de klok"});continue}const l=typeof e.payload?.at=="number"?e.payload.at:Number.NaN;if(!Number.isFinite(l)){r.push({ruleId:a.id,reason:"tik zonder tijdstip"});continue}if(!fo(a.trigger.cron,new Date(l))){r.push({ruleId:a.id,reason:`niet aan de beurt (${a.trigger.cron})`});continue}}else if(a.trigger.kind!=="event"){r.push({ruleId:a.id,reason:`trigger "${a.trigger.kind}" draait hier niet`});continue}else if(a.trigger.name!==e.name){r.push({ruleId:a.id,reason:`luistert op ${a.trigger.name}`});continue}if(e.causedByRule===a.id){r.push({ruleId:a.id,reason:"dit event komt van deze regel zelf"});continue}if(!n(a.when??null,i)){r.push({ruleId:a.id,reason:"voorwaarde niet waar"});continue}s.push({rule:a,idempotencyKey:`${e.id}:${a.id}:${a.version}`})}return{matched:s,skipped:r}}function Ll(e,t){return{causedByRule:t,depth:(e.depth??0)+1}}function xl(e,t){const{event:n,rules:r}=e.input,{matched:o,skipped:i}=mo(n,r,t),s=o.flatMap(c=>c.rule.then.map(d=>d.action)),a=e.expected?.actions??[];if(s.length===a.length&&s.every((c,d)=>c===a[d]))return{caseId:e.id,ok:!0};const l=i.map(c=>`${c.ruleId}: ${c.reason}`).join(" · ");return{caseId:e.id,ok:!1,got:s,note:a.length?`verwacht [${a.join(", ")}], kreeg [${s.join(", ")}]${l?` — ${l}`:""}`:`mocht niet vuren, maar deed [${s.join(", ")}]`}}function Pl(e,t){return e.wrote&&t in e.wrote?e.wrote[t]:t in e.params?e.params[t]:""}function go(e,t){return e.fields.filter(n=>t?.[n]!==void 0&&t[n]!==Pl(e,n))}function $l(e,t,n){return n?"undone":!t||!e.length?"unknown":e.some(r=>go(r,t).length)?"corrected":"kept"}function Ul(e){return e==="string[]"?["in"]:e==="boolean"?["==","!="]:e==="number"||e==="date"?["==","!=",">","<",">=","<="]:["==","!=","in","filled","empty"]}function Kl(e){return`subject.${e.path}`}function Fl(e,t){return e.events.find(n=>n.name===t)}function Bl(e,t){return e.filter(n=>Qr(t,n.path)===void 0).map(n=>n.path)}const ft=6e4,Gl=36e5,Q=864e5,ho=800;function sn(e,t){const n=Date.UTC(e,t+1,0);return n-new Date(n).getUTCDay()*Q+Gl}function Hl(e){const t=new Date(e).getUTCFullYear();return e>=sn(t,2)&&e<sn(t,9)}function yo(e,t){const n=t.dst==="eu"&&Hl(e)?60:0;return(t.utcOffsetMinutes+n)*ft}function jl(e){return(e+3)%7+1}function Eo(e,t){const n=yo(e,t),r=e+n,o=Math.floor(r/Q);if(!t.days.includes(jl(o)))return null;const i=o*Q;return{open:i+t.fromMinutes*ft-n,close:i+t.toMinutes*ft-n}}function _o(e,t){const n=yo(e,t),r=e+n;return(Math.floor(r/Q)+1)*Q-n}function Te(e,t,n){if(t<=e)return 0;if(!n)return t-e;let r=0,o=e;for(let i=0;i<ho&&o<t;i++){const s=Eo(o,n);if(s){const a=Math.max(o,s.open),l=Math.min(t,s.close);l>a&&(r+=l-a)}o=_o(o,n)}return r}function De(e,t,n){if(!n)return e+t;let r=t,o=e;for(let i=0;i<ho;i++){const s=Eo(o,n);if(s){const a=Math.max(o,s.open);if(s.close>a){const l=s.close-a;if(r<=l)return a+r;r-=l}}o=_o(o,n)}return e+t}function Wl(e){const t=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);return t?Number(t[1])*60+Number(t[2]):null}const be=1,Ie=2,Oe=4;function Vl(e){return e==="snoozed"?be:Ie}function Le(e){const t=e.calendar;return t&&Array.isArray(t.days)?t:null}const Yl=["speed_of_answer","first_response","next_response","resolution","close"],zl=["snoozed","waiting_for_customer"],Xl=6e4,So=["speed_of_answer","first_response","next_response"],ql=[...So,"resolution","close"];function ee(e){return e.state==="running"||e.state==="paused"}function Ql(e,t){return ee(e)?{state:(e.state==="paused"?e.remainingMs>0:t<=e.dueAt)?"hit":"missed",settledAt:Math.max(t,e.startedAt)}:null}function an(e){return ee(e)?{state:"void"}:null}function Jl(e,t,n,r){if(!ee(e)||(e.pauseBits&t)!==0)return null;const o=e.pauseBits|t;return e.state==="paused"?{pauseBits:o}:{pauseBits:o,state:"paused",remainingMs:Te(n,e.dueAt,r)}}function Zl(e,t,n,r){if(!ee(e)||(e.pauseBits&t)===0)return null;const o=e.pauseBits&~t;return o!==0?{pauseBits:o}:{pauseBits:o,state:"running",dueAt:De(n,e.remainingMs,r)}}function eu({event:e,at:t,now:n,clocks:r,profile:o}){const i=Le(o),s=Math.min(t,n),a=r.map(h=>({...h})),l=[],c=(h,g)=>{g&&(l.push({op:"patch",clockId:h.id,patch:g}),Object.assign(h,g))},d=h=>{for(const g of a)g.metric===h&&c(g,Ql(g,s))},u=h=>{for(const g of a)h.includes(g.metric)&&c(g,an(g))},f=h=>{for(const g of a)c(g,Jl(g,h,s,i))},p=h=>{for(const g of a)c(g,Zl(g,h,s,i))},y=h=>a.reduce((g,A)=>A.metric===h?Math.max(g,A.attempt):g,0)+1,m=h=>a.some(g=>g.metric===h&&ee(g)),T=(h,g)=>{const A=o.targets.find(N=>N.metric===h);if(!A)return;const D=A.minutes*Xl;l.push({op:"start",metric:h,attempt:y(h),startedAt:g,targetMs:D,dueAt:De(g,D,i)})};switch(e){case"apply":{for(const h of a)h.profileId!==o.id&&c(h,an(h));for(const h of o.targets){if(h.metric==="next_response")continue;a.some(A=>A.metric===h.metric&&A.profileId===o.id)||T(h.metric,s)}break}case"answered":d("speed_of_answer");break;case"outbound":{d("first_response"),d("next_response"),o.pauseOn.includes("waiting_for_customer")&&f(Ie);break}case"inbound":{p(Ie),!m("first_response")&&!m("next_response")&&T("next_response",s);break}case"resolved":d("resolution");break;case"closed":d("close"),d("resolution"),u(So);break;case"reopened":m("resolution")||T("resolution",s),m("close")||T("close",s);break;case"snoozed":o.pauseOn.includes("snoozed")&&f(be);break;case"unsnoozed":p(be);break;case"hold":f(Oe);break;case"unhold":p(Oe);break;case"discarded":u(ql);break}return l}function Ao(e){return e.state==="running"||e.state==="paused"}function tu(e){return(e.pauseBits&Oe)!==0}function ve(e,t){const n=Le(e);return e.state==="paused"?e.remainingMs:t>=e.dueAt?-Te(e.dueAt,t,n):Te(t,e.dueAt,n)}function nu(e,t){return e.state==="paused"?De(t,e.remainingMs,Le(e)):e.dueAt}function ru(e,t){const n=e.filter(Ao);if(!n.length)return;const r=n.filter(i=>i.state==="running");return(r.length?r:n).reduce((i,s)=>ve(s,t)<ve(i,t)?s:i)}function ou(e,t){if(e.state==="missed")return"breached";if(e.state==="hit")return"met";if(e.state==="paused")return"paused";if(e.state==="void")return"met";const n=ve(e,t);return n<=0?"breached":n<=e.targetMs/5?"urgent":"running"}function iu(e){const t=Math.floor(Math.abs(e)/1e3),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),o=Math.floor(t%3600/60);return n?r?`${n}d ${r}u`:`${n}d`:r?o?`${r}u ${o}m`:`${r}u`:o?`${o}m`:`${t%60}s`}const To="strategy_item";function Dt(e){return`${To}:${e}`}function su(e,t=25){const n=new Set([Dt(e.id)]);for(const r of e.ancestorKeys??[])n.add(r);return Array.from(n).slice(0,t)}function au(e){return e?[...e.ancestorKeys??[],Dt(e.id)]:[]}const te=[{key:"area",label:"level_area",order:10,measurable:!1,icon:"compass"},{key:"objective",label:"level_objective",order:20,measurable:!0,icon:"target"},{key:"key_result",label:"level_key_result",order:30,measurable:!0,icon:"gauge"}],bo=999,Io=7;function Oo(e,t=te){return t.find(n=>n.key===e)}function Ce(e,t=te){return Oo(e,t)?.order??bo}function cu(e,t,n=te){return Ce(t,n)<=Ce(e,n)}function lu(e,t=te){const n=Ce(e,t);return t.filter(o=>o.order>n).sort((o,i)=>o.order-i.order)[0]?.key??e}function uu(e){const t=e.trim().toLowerCase();return t?t.includes("key result")||t.includes("keyresult")||t==="kr"?"key_result":t.includes("objective")||t.includes("goal")||t.includes("doel")?"objective":t.includes("focus")||t.includes("area")||t.includes("theme")?"area":null:null}const pt={pending:"open",on_track:"open",at_risk:"open",off_track:"open",paused:"paused",achieved:"closed",missed:"closed"};function du(e){return pt[e]??"open"}function fu(e){return Object.keys(pt).filter(t=>e.includes(pt[t]))}const pu=864e5,xe=e=>e<=0?0:e>1?1:e;function mu(e,t){const{direction:n}=e,r=e.startValue??0,o=e.targetValue??0;if(!Number.isFinite(t))return 0;const i=n==="down"?t<=o:t>=o,s=o-r;return(n==="down"?s<0:s>0)?xe((t-r)/s):i?1:0}function gu(e,t){const{startDate:n,targetDate:r}=e;if(!(typeof n!="number"||typeof r!="number")&&!(r<=n))return xe((t-n)/(r-n))}const vo=.1,Co=.25;function hu(e,t){if(typeof e!="number"||typeof t!="number")return;if(e>=1)return"achieved";const n=t-e;return n>=Co?"off_track":n>=vo?"at_risk":"on_track"}function yu(e,t){if(t)return xe(e/t)}function Eu(e){const t=e.map(n=>n.progress?.ratio).filter(n=>typeof n=="number"&&Number.isFinite(n));if(t.length)return xe(t.reduce((n,r)=>n+r,0)/t.length)}function _u(e,t){const n=e.lastCheckInAt??e.createdAt;if(typeof n!="number")return 0;const r=(e.checkInEveryDays??Io)*pu,o=t-n-r;return o>0?o:0}function Su(e){return e.targetDate??Number.MAX_SAFE_INTEGER}function Au(e){const t=new Map,n=[...e].sort((r,o)=>r.startedAt-o.startedAt);for(const r of n){const o=`${r.workType??""}|${r.scopeKey??""}`,i=t.get(o)??{workType:r.workType,scopeKey:r.scopeKey,scopeLabel:r.scopeLabel,seconds:0,hours:0,entryIds:[],from:r.startedAt,to:r.startedAt};i.seconds+=r.durationSeconds??0,i.hours=Math.round(i.seconds/3600*100)/100,i.entryIds.push(r.id),i.to=r.startedAt,t.set(o,i)}return[...t.values()]}function Tu(e,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function bu(e,t){const n=Math.max(1,Math.ceil(Math.max(0,e)/60));if(!t||t==="exact")return n*60;const r=Number(t);return!Number.isFinite(r)||r<=0?n*60:Math.ceil(n/r)*r*60}function Iu(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function Ou(e){const t=Math.max(0,Math.floor(e)),n=i=>String(i).padStart(2,"0"),r=Math.floor(t/60)%60,o=Math.floor(t/3600);return o>0?`${o}:${n(r)}:${n(t%60)}`:`${n(r)}:${n(t%60)}`}function Mo(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function vu(e,t){const n=Mo(e)||"werksoort",r=new Set(t);if(!r.has(n))return n;for(let o=2;o<500;o++){const i=`${n}-${o}`;if(!r.has(i))return i}return`${n}-${r.size+1}`}function Cu(e,t){const n=e.ownerScope;return!n||n.kind==="org"?!0:t.includes(n.teamId)}function Mu(e){return e.filter(t=>!t.archived).sort(ko)}function ko(e,t){const n=(e.order??0)-(t.order??0);return n!==0?n:(e.label||"").localeCompare(t.label||"")}const No=20,Ro=20,ue=300;function $(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function wo(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=ue)return t;const n=t.slice(0,ue),r=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return r>ue*.6?n.slice(0,r+1):`${n.trimEnd()}…`}function ku(e,t){const n=wo(t.text),r=$(n);if(!r||(e.examples??[]).some(s=>$(s)===r))return null;const o=e.exampleCandidates??[],i=o.findIndex(s=>$(s.text)===r);if(i>=0){if(o[i].corrected||!t.corrected)return null;const s=[...o];return s[i]={...s[i],corrected:!0,addedAt:t.addedAt},cn(s)}return cn([{...t,text:n},...o]).slice(0,Ro)}function cn(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function Nu(e,t){const n=$(t),r=(e.examples??[]).filter(i=>i.trim());return{examples:r.some(i=>$(i)===n)?r:[...r,t].slice(-No),exampleCandidates:Do(e,t)}}function Do(e,t){const n=$(t);return(e.exampleCandidates??[]).filter(r=>$(r.text)!==n)}function Lo(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function Ru(e,t){return e.filter(n=>Lo(n,t))}const Pe=[{key:"quote",label:"kind_quote",numbered:!1,signFlip:!1,name:"Offerte",statuses:["draft","sent","accepted","rejected","expired","cancelled","superseded"],path:"quotes",issuedStatus:"sent",transitions:{draft:["cancelled"],sent:["accepted","rejected","expired","cancelled"],accepted:["sent"],rejected:["sent"],expired:["sent"]},convertsTo:["order","invoice"]},{key:"order",label:"kind_order",numbered:!1,signFlip:!1,name:"Order",paperName:"Orderbevestiging",statuses:["draft","confirmed","delivered","cancelled","superseded"],path:"orders",issuedStatus:"confirmed",transitions:{draft:["cancelled"],confirmed:["delivered","cancelled"],delivered:["confirmed"]},convertsTo:["invoice"]},{key:"invoice",label:"kind_invoice",numbered:!0,signFlip:!1,name:"Factuur",statuses:["draft","open","paid","overdue","cancelled","superseded"],path:"invoices",issuedStatus:"open",transitions:{draft:["cancelled"],open:["paid","overdue","cancelled"],overdue:["paid","open","cancelled"],paid:["open"]},convertsTo:["credit_note"]},{key:"credit_note",label:"kind_credit_note",numbered:!0,signFlip:!0,name:"Creditnota",statuses:["draft","open","settled","cancelled","superseded"],path:"invoices",issuedStatus:"open",transitions:{draft:["cancelled"],open:["settled","cancelled"],settled:["open"]},convertsTo:[],credits:"invoice"}],Lt=["quote","order","invoice","credit_note"];function wu(){const e=new Map;for(const t of Pe)Lt.includes(t.key)&&(e.has(t.path)||e.set(t.path,t));return[...e.values()]}function C(e){return Pe.find(t=>t.key===e)??{key:e,label:e,name:e,numbered:!1,signFlip:!1,statuses:["draft"],path:"quotes",issuedStatus:"draft",transitions:{},convertsTo:[]}}const Du={draft:"Concept",sent:"Verstuurd",accepted:"Geaccepteerd",rejected:"Afgewezen",expired:"Verlopen",confirmed:"Bevestigd",delivered:"Geleverd",open:"Openstaand",paid:"Betaald",overdue:"Te laat",settled:"Afgewikkeld",cancelled:"Geannuleerd",superseded:"Vervangen"};function xo(e,t){return C(e).transitions[t]??[]}function Lu(e,t,n){return xo(e,t).includes(n)}function Po(e){return e.issuedAt!=null}const xu=["status","fileRef","number","externalIds","postedAt","dunning","updatedAt"],Pu=["companyId","contactId","dealItemId","title","reference","currency","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo","paymentTerm","lines"],$u=["contactId","dealItemId","title","reference","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo"];function Uu(e,t){if(!Lt.includes(t)||!C(e.kindKey).convertsTo.includes(t))return!1;const n=C(t);return!n.credits||n.credits===e.kindKey&&Po(e)}function $o(e,t){const n=C(t).signFlip!==C(e.kindKey).signFlip,r=e.lines.map(({timeEntryIds:o,...i})=>({...i,quantity:n?-i.quantity:i.quantity,netCents:0,taxCents:0}));return{kindKey:t,sourceTransactionId:e.id,agreementId:e.agreementId,version:1,businessEntityId:e.businessEntityId,companyId:e.companyId,contactId:e.contactId,dealItemId:e.dealItemId,ownerScope:e.ownerScope,ownerUserId:e.ownerUserId,title:e.title,reference:e.reference,currency:e.currency,status:"draft",lines:r,totals:{netCents:0,taxCents:0,grossCents:0,byRate:[]},taxOverrideKey:e.taxOverrideKey,introText:e.introText,termsText:e.termsText,paymentTerm:e.paymentTerm,deliveredAt:e.deliveredAt,periodFrom:e.periodFrom,periodTo:e.periodTo,source:e.source}}function Ku(e){return{...$o(e,e.kindKey),sourceTransactionId:e.sourceTransactionId,previousVersionId:e.id,version:e.version+1,lines:e.lines.map(({timeEntryIds:n,...r})=>({...r})),totals:e.totals}}function Fu(e,t={}){const n=C(e.kindKey),r=e.totals??{netCents:0,taxCents:0,grossCents:0};return{customer:{name:t.companyName??"",contact:t.contactName??"",address:Hu(t.companyAddress),street:t.companyAddress?.street??"",house_number:t.companyAddress?.houseNumber??"",postal_code:t.companyAddress?.postalCode??"",city:t.companyAddress?.city??"",country:t.companyAddress?.country??""},organization:{name:t.organizationName??""},[n.key]:{number:e.number??"",credited_number:t.creditedNumber??"",title:e.title??"",reference:e.reference??"",version:String(e.version??1),date:K(e.issuedAt),valid_until:K(e.expiresAt),due_date:K(e.dueAt),delivery_date:K(e.deliveredAt),period_from:K(e.periodFrom),period_to:K(e.periodTo),payment_term:e.paymentTerm?.label??"",note:e.introText??"",terms:e.termsText??""},totals:{net:x(r.netCents),tax:x(r.taxCents),gross:x(r.grossCents)}}}function Bu(e,t=[],n=Uo){const r=e.totals??{netCents:0,grossCents:0,byRate:[]},o=a=>t.find(l=>l.key===a)?.percent??0,i={block_id:"lines",type:"table",columns:[{label:n.description},{label:n.quantity,align:"right"},{label:n.unitPrice,align:"right"},{label:n.net,align:"right"}],rows:(e.lines??[]).map(a=>a.kind==="text"?[a.name,"","",""]:[Gu(a.name,a.description,a.optional,n.optional),ju(a.quantity),x(a.unitPriceCents),x(a.netCents)])},s={block_id:"totals",type:"totals",rows:[{label:n.net,amount:x(r.netCents)},{label:n.gross,amount:x(r.grossCents),emphasis:!0}],taxRows:r.byRate.map(a=>({label:`${n.tax} ${a.percent??o(a.taxRateKey)}%`,amount:x(a.taxCents)}))};return{lines:[i],totals:[s]}}const Uo={description:"Omschrijving",optional:"optioneel",quantity:"Aantal",unitPrice:"Stuksprijs",net:"Netto",tax:"Btw",gross:"Totaal"};function Gu(e,t,n,r){const o=t?`${e} — ${t}`:e;return n?`${o} (${r})`:o}function Hu(e){return e?.street?[e.street,e.houseNumber].filter(Boolean).join(" "):""}function ju(e){return Number.isInteger(e)?String(e):String(e).replace(".",",")}function K(e){if(!e)return"";const t=new Date(e),n=r=>String(r).padStart(2,"0");return`${n(t.getDate())}-${n(t.getMonth()+1)}-${t.getFullYear()}`}function Ko(e){const t=C(e),n=t.key,r=t.numbered;return[{block_id:"head",type:"letterhead",fields:[...r?[{key:"number",label:Vu[n]?.number??"Nummer",value:`{${n}.number}`}]:[],{key:"date",label:"Datum",value:`{${n}.date}`},...r?[{key:"due_date",label:"Vervaldatum",value:`{${n}.due_date}`}]:[{key:"valid_until",label:"Geldig tot",value:`{${n}.valid_until}`}],...t.credits?[{key:"credited_number",label:`Op ${C(t.credits).name.toLowerCase()}`,value:`{${n}.credited_number}`}]:[],{key:"reference",label:"Referentie",value:`{${n}.reference}`}],recipient:["{customer.name}","{customer.contact}","{customer.address}","{customer.postal_code} {customer.city}"]},{block_id:"title",type:"heading",level:1,text:`{${n}.title}`},{block_id:"intro",type:"paragraph",text:ln[n]??ln.quote},{block_id:"period",type:"paragraph",text:`Periode: {${n}.period_from} t/m {${n}.period_to}`},{block_id:"note",type:"paragraph",text:`{${n}.note}`},{block_id:"lines",type:"table",columns:[{label:""}],rows:[]},{block_id:"totals",type:"totals",rows:[]},...r?[{block_id:"payment",type:"paragraph",text:`Betaling: {${n}.payment_term}. Wij verzoeken u het bedrag vóór {${n}.due_date} over te maken onder vermelding van {${n}.number}.`}]:[],{block_id:"terms",type:"paragraph",text:un[n]??un.quote}]}const Wu=e=>({note:{key:`${C(e).key}.note`,exists:!0},period:{key:`${C(e).key}.period_from`,exists:!0}}),Vu={invoice:{number:"Factuurnummer"},credit_note:{number:"Creditnotanummer"}},ln={quote:`Beste {customer.contact},
10
10
 
11
11
  Hierbij onze offerte. Hieronder vindt u de specificatie.`,order:`Beste {customer.contact},
12
12
 
@@ -14,34 +14,34 @@ Hierbij de bevestiging van uw opdracht.`,invoice:`Beste {customer.contact},
14
14
 
15
15
  Hierbij onze factuur. Hieronder vindt u de specificatie.`,credit_note:`Beste {customer.contact},
16
16
 
17
- Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`},un={quote:"Genoemde bedragen zijn exclusief btw tenzij anders vermeld. Deze offerte is geldig tot {quote.valid_until}.",order:"Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",invoice:"Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",credit_note:"Genoemde bedragen zijn exclusief btw tenzij anders vermeld."},Hu=Ko("quote"),Uo=Pe.map(e=>e.key),Fo="product";function Bo(e,t){return`${e}:${t}`}function ju(e){return`${Fo}:${e}`}function Wu(e,t){const n=e.businessEntityId||t;if(n)return`/apps/sales/${n}/${C(e.kindKey).path}/${e.id}`}function Vu(e,t){const n=e.businessEntityId||t;return n?`/apps/sales/${n}/product/${e.id}`:void 0}function Yu(e){const t=e.indexOf(":");if(t<0)return;const n=e.slice(0,t);return Uo.includes(n)?e.slice(t+1):void 0}function zu(e){const t=new Set([Bo(e.kindKey,e.id)]);return e.companyId&&t.add(`company:${e.companyId}`),e.contactId&&t.add(`contact:${e.contactId}`),e.dealItemId&&t.add(`work_item:${e.dealItemId}`),Array.from(t)}const Xu=4;function qu(e,t){const n=String(t).padStart(Math.max(1,e.padding),"0");return`${e.prefix}${e.period?`${e.period}-`:""}${n}`}function Qu(e,t=Date.now()){return e==="year"?String(new Date(t).getFullYear()):""}const Ju=["cash","credit","direct_debit","card","other"];function Zu(e,t){return e+Math.max(0,Math.round(t))*24*60*60*1e3}function ed(e){return{code:e.code,label:e.label,method:e.method,dueDays:e.dueDays}}const td=[{code:"14D",label:"Binnen 14 dagen",method:"credit",dueDays:14,isDefault:!0,order:0},{code:"30D",label:"Binnen 30 dagen",method:"credit",dueDays:30,order:1},{code:"CONTANT",label:"Contant",method:"cash",dueDays:0,order:2}];function nd(e){return e.type==="agent"}const Go=["communication:interactions:created","communication:interactions:updated","communication:activities:created","communication:activities:updated"];function rd(e){return Go.includes(e)}const od="WORK_COMMENT_ADDED",id="WORK_ITEM_ASSIGNED",sd="WORK_ITEM_STATUS_CHANGED";function ad(e,t){const n=r=>{const o=new Date(r);return o.setHours(0,0,0,0),o.getTime()};return Math.round((n(e)-n(t))/cr)}function cd(e,t){if(e.closedAt!=null)return{score:P,reasons:[]};const n=t.remindersById?.[e.id];if(n&&n.remindAt>t.now)return{score:P,reasons:[]};let r=0;const o=[],i=e.priority??"normal";if(q[i]>0&&(r+=q[i],o.push(`priority:${i}`)),typeof e.dueDate=="number"){const s=ad(e.dueDate,t.now);s<0?(r+=35,o.push("overdue")):s===0&&(r+=20,o.push("due-today"))}return e.source?.initiator==="system"&&e.source.systemReason&&(r+=15,o.push(`auto:${e.source.systemReason}`)),{score:r,reasons:o}}const $e=[{key:"task",label:"type_task"},{key:"bug",label:"type_bug"},{key:"story",label:"type_story"},{key:"epic",label:"type_epic"},{key:"subtask",label:"type_subtask"},{key:"case",label:"type_case"},{key:"deal",label:"type_deal"},{key:"milestone",label:"type_milestone"}],ld=$e.map(e=>e.key);function ud(e){return e?.types?.length?e.types:$e}function dd(e,t){return t.find(n=>n.key===e)}function fd(e){const t=e.trim().toLowerCase();return t?t.includes("sub-task")||t.includes("subtask")||t.includes("sub task")?"subtask":t.includes("bug")||t.includes("defect")?"bug":t.includes("epic")?"epic":t.includes("story")?"story":t.includes("incident")||t.includes("problem")||t.includes("service request")||t.includes("change")?"case":t.includes("milestone")||t.includes("mijlpaal")?"milestone":t.includes("task")?"task":null:null}function pd(...e){return e.map(t=>$e.find(n=>n.key===t)).filter(t=>!!t)}const Ho="work_item",jo="work_project",Wo="work_activity",md="work_cycle";function Vo(e){return`${Ho}:${e}`}function xt(e){return`${jo}:${e}`}function gd(e){return`${Wo}:${e}`}function hd(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function yd(e){const t=/^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e||"").trim());return t?{projectKey:t[1].toUpperCase(),sequenceNumber:Number(t[2]),...t[3]?{subSequence:Number(t[3])}:{}}:null}function Ed(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function _d(e,t=25){const n=new Set([Vo(e.id)]);e.projectId&&n.add(xt(e.projectId));for(const r of e.ancestorKeys??[])n.add(r);for(const r of e.partyKeys??[])n.add(r);return Array.from(n).slice(0,t)}function Sd(e){return[xt(e.id)]}const Ke=[{key:"open",label:"status_open",category:"todo",order:0},{key:"in_progress",label:"status_in_progress",category:"in_progress",order:1},{key:"done",label:"status_done",category:"done",order:2},{key:"cancelled",label:"status_cancelled",category:"done",order:3}],Pt=Ke.map(e=>e.key);function Yo(e){return e?.statuses?.length?e.statuses:Ke}function zo(e,t){return t.find(n=>n.key===e)?.category??"todo"}function Ad(e,t){return t.find(n=>n.key===e)}function bd(e){const t=Yo(e),n=e?.defaultStatusKey;return n&&t.some(r=>r.key===n)?n:Xo(t)[0]?.key??Ke[0].key}function Xo(e){return[...e].sort((t,n)=>{const r=(t.order??0)-(n.order??0);return r!==0?r:(t.label||"").localeCompare(n.label||"")})}function Td(e,t){return zo(e,t)==="done"}function qo(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function Id(e,t){const n=qo(e)||"status",r=new Set([...t,...Pt]);if(!r.has(n))return n;for(let o=2;o<500;o++){const i=`${n}-${o}`;if(!r.has(i))return i}return`${n}-${r.size+1}`}function Od(e){const t=[];if(!e.length)return[{index:-1,reason:"empty"}];const n=new Set;return e.forEach((r,o)=>{if(!r.key){t.push({index:o,reason:"missing_key"});return}Pt.includes(r.key)&&t.push({index:o,reason:"reserved_key",key:r.key}),n.has(r.key)&&t.push({index:o,reason:"duplicate_key",key:r.key}),n.add(r.key)}),e.some(r=>r.category==="todo"||r.category==="in_progress")||t.push({index:-1,reason:"no_open"}),e.some(r=>r.category==="done")||t.push({index:-1,reason:"no_done"}),t}function vd(e,t){return t.find(n=>n.key===e)?.requiresApproval===!0}function Cd(e,t){if(!e)return;const n=t?.resolutions?.find(r=>r.key===e)?.positive;return n===void 0?void 0:n?"won":"lost"}function Md(e){return e.startDate??Number.MAX_SAFE_INTEGER}function kd(e){return e.completedAt?"completed":e.startedAt?"active":"planned"}const Nd=["statusKeys","typeKeys","labels","priority","assignees"],Rd=["blockedOnly","watchingOnly","reportedByMe"],wd=["priority","dueDate","updatedAt","createdAt","title","estimateSeconds"],Dd=["list","board","calendar","workload"],Ld=["day","week","month"];function xd(e){const t=e;if(!t||!Ld.includes(t.every))return;const n=Math.floor(Number(t.interval??1));if(!(!Number.isFinite(n)||n<1||n>365))return{every:t.every,interval:n}}function Qo(e,t){const n=new Date(e);if(t.every==="day")n.setDate(n.getDate()+t.interval);else if(t.every==="week")n.setDate(n.getDate()+7*t.interval);else{const r=n.getDate();n.setDate(1),n.setMonth(n.getMonth()+t.interval),n.setDate(Math.min(r,new Date(n.getFullYear(),n.getMonth()+1,0).getDate()))}return n.getTime()}function Pd(e,t,n){const r=Qo(e.dueDate??n,t);return e.startDate===void 0||e.dueDate===void 0?{dueDate:r}:{dueDate:r,startDate:r-(e.dueDate-e.startDate)}}const $d=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),Kd=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function Jo(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?$d.has(t)?"image":t==="application/pdf"?"pdf":Kd.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const z=1024*1024,Zo={image:5*z,pdf:20*z,text:1*z,audio:20*z},Ud=25*z,Fd=5;function Bd(e,t){const n=Jo(e);return n==="unsupported"?"unsupported":t>Zo[n]?"too-large":null}const Gd="ai-tool";function Hd(e){return e.access==="read"?"idempotent":e.reversible??"none"}function $t(e){return e.access!=="read"&&e.effect!=="internal"}function ei(e){return`${e.kind}:${e.id||e.url||e.title}`}function jd(e,t=[]){const n=new Set(t),r=[],o=[];for(const i of e){const s=ei(i);n.has(s)||(n.add(s),r.push(i),o.push(s))}return{sources:r,keys:o}}const Wd="assist-source",Vd=["blocking","due","open"];function Yd(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const dn={blocking:0,due:1,open:2};function zd(e,t){return dn[e.band??"open"]-dn[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}function Xd(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function qd(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function Qd(e){return e.sessions.some(n=>n.id!==e.exceptSessionId&&(n.state==="connected"||n.state==="on_hold"))?{admit:!1,reason:"busy"}:{admit:!0}}function ti(e,t){const n=new Set(e.disabledIntents??[]),r=e.intentOverrides??{},o=t.intents.filter(s=>!n.has(s.intent)).map(s=>Zd(s,r[s.intent]));if(!e.extraIntents||e.extraIntents.length===0)return o;const i=new Set(o.map(s=>s.intent));for(const s of e.extraIntents)i.has(s.intent)||(o.push(s),i.add(s.intent));return o}function ni(e,t){const n={};for(const r of e.intents){if(!r.togglable)continue;const o=t?.[r.intent];n[r.intent]=o??r.defaultEnabled??!0}return n}function Jd(e,t){const n=ni(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function Zd(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function ef(e,t){const n=[];for(const r of e){if(!r.enabled)continue;const o=t[r.providerId];if(o)for(const i of ti(r,o))n.push({channel:r,description:o,capability:i})}return n}function tf(e,t){return t.filter(n=>n.capability.intent===e)}function ri(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function nf(e,t){return ri(e.scheme,t)}function rf(e,t,n){const r=[];for(const o of e)for(const i of n)i.capability.intent===t&&i.capability.targetSchemes.includes(o.scheme)&&r.push({channelIntent:i,endpoint:o});return r}var oi=(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))(oi||{});const of={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 sf(e){return e?of[e]??"note":"note"}const af="message_window",cf="message_templates",lf={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},uf=(e,t)=>({intent:e,...t}),df="remote_search",ff="message_reactions",pf={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},mf="connector",gf="context.collect",S=e=>({type:"string",description:e}),_=e=>({type:"number",description:e}),de=e=>({type:"boolean",description:e}),k=S("Sheet name. Omit for the sheet the user is looking at."),fn=S("Slide id, as `inspect` reports it.");function E(e,t,n,r,o,i){return{op:e,kinds:t,summary:n,parameters:{type:"object",properties:r,required:o},undoable:i.undoable,visible:i.visible}}const X={undoable:!1,visible:!0},T={undoable:!0,visible:!0},pn={undoable:!1,visible:!0},Me={undoable:!1,visible:!1},hf=[E("pdf.goToPage",["pdf"],"Scroll the viewer to a page.",{page:_("1-based page number.")},["page"],X),E("pdf.search",["pdf"],"Search the document and highlight the matches, as the find bar does.",{query:S("Text to find."),next:de("Jump to the next match instead of the first.")},["query"],X),E("pdf.setTool",["pdf"],"Select a markup tool for the user, so their next click draws it.",{tool:{type:"string",enum:["highlight","text","draw","image","signature","none"],description:"Which tool to arm. `none` puts the tool row back to reading."}},["tool"],X),E("pdf.fillField",["pdf"],"Fill one form field of a fillable PDF.",{field:S("Field name, exactly as `inspect` reports it under `fields`."),value:{type:["string","boolean"],description:"Text for a text field, true/false for a checkbox or radio."}},["field","value"],T),E("pdf.reorderPages",["pdf"],"Put the pages in a different order. Pages left out are deleted.",{order:{type:"array",items:{type:"number"},description:"1-based source page numbers, in the order they should end up in."}},["order"],pn),E("pdf.deletePages",["pdf"],"Remove pages, keeping the rest in order.",{pages:{type:"array",items:{type:"number"},description:"1-based page numbers."}},["pages"],pn),E("pdf.addNote",["pdf"],"Place a text note on a page. Written on save; not visible before that.",{page:_("1-based page number."),text:S("The note's text."),left:_("Distance from the left edge, in PDF points (72 per inch)."),top:_("Distance from the top edge, in PDF points."),width:_("Box width in points. Omit for a sensible default."),height:_("Box height in points. Omit for a sensible default."),fontSize:_("Font size in points. Omit for 12.")},["page","text","left","top"],Me),E("pdf.highlightText",["pdf"],"Highlight a phrase on a page. Written on save; not visible before that.",{page:_("1-based page number."),text:S("The exact phrase to highlight, as it appears in the page's text."),occurrence:_("Which occurrence on that page, 1-based. Omit for the first.")},["page","text"],Me)],yf=[E("sheet.setValues",["sheet"],"Write a block of values. The block's shape must match the range.",{sheet:k,range:S("A1 notation, e.g. `B2:D5` or a single `A1`."),values:{type:"array",items:{type:"array",items:{type:["string","number","boolean","null"]}},description:"Rows of cells, top-left first. `null` clears a cell."}},["range","values"],T),E("sheet.setFormula",["sheet"],"Put a formula in every cell of a range.",{sheet:k,range:S("A1 notation."),formula:S("Including the leading `=`.")},["range","formula"],T),E("sheet.setStyle",["sheet"],"Change the look of a range. Only the properties you pass are touched.",{sheet:k,range:S("A1 notation."),bold:de("Bold on or off."),italic:de("Italic on or off."),fontSize:_("Point size."),fontColor:S("CSS colour, e.g. `#b91c1c`."),background:S("CSS colour for the cell fill."),horizontalAlignment:{type:"string",enum:["left","center","right"],description:"Horizontal alignment."},numberFormat:S("Number format pattern, e.g. `#,##0.00` or `0%`.")},["range"],T),E("sheet.insertRows",["sheet"],"Insert empty rows, pushing the rest down.",{sheet:k,at:_("1-based row number to insert before."),count:_("How many. Omit for 1.")},["at"],T),E("sheet.deleteRows",["sheet"],"Delete rows, pulling the rest up.",{sheet:k,at:_("1-based first row to delete."),count:_("How many. Omit for 1.")},["at"],T),E("sheet.insertColumns",["sheet"],"Insert empty columns, pushing the rest right.",{sheet:k,at:_("1-based column number to insert before."),count:_("How many. Omit for 1.")},["at"],T),E("sheet.deleteColumns",["sheet"],"Delete columns, pulling the rest left.",{sheet:k,at:_("1-based first column to delete."),count:_("How many. Omit for 1.")},["at"],T),E("sheet.merge",["sheet"],"Merge a range into one cell.",{sheet:k,range:S("A1 notation.")},["range"],T),E("sheet.unmerge",["sheet"],"Break merged cells in a range apart.",{sheet:k,range:S("A1 notation.")},["range"],T),E("sheet.sort",["sheet"],"Sort a range on one of its columns.",{sheet:k,range:S("A1 notation covering the rows to sort, header excluded."),column:_("1-based column *within the range*, not within the sheet."),ascending:de("Ascending. Omit for ascending.")},["range","column"],T),E("sheet.insertSheet",["sheet"],"Add a new sheet.",{name:S("Name for the new sheet.")},["name"],T),E("sheet.renameSheet",["sheet"],"Rename a sheet.",{sheet:S("Current name."),name:S("New name.")},["sheet","name"],T),E("sheet.deleteSheet",["sheet"],"Remove a sheet and everything on it.",{sheet:S("Name of the sheet to delete.")},["sheet"],T),E("sheet.activate",["sheet"],"Show the user a sheet and select a range on it.",{sheet:k,range:S("A1 notation to select. Omit to only switch sheets.")},[],X)],Ef=[E("word.replaceParagraph",["word"],"Rewrite one whole paragraph, keeping its style. This is the verb for shortening or rephrasing something; call it once per paragraph.",{at:_("The offset the paragraph starts at, exactly as `inspect` prints it."),text:S("The new text for that paragraph. A newline starts a further paragraph.")},["at","text"],T),E("word.replaceRange",["word"],"Replace a stretch of text inside a paragraph - a sentence, a phrase. To rewrite whole paragraphs use word.replaceParagraph: a range covering several paragraph styles is refused, because a replacement carries one style and would set the whole span in the first.",{start:_("Character offset where the replaced text starts, as `inspect` reports offsets."),end:_("Character offset just past the last character to replace."),text:S("The replacement text. A newline starts a new paragraph.")},["start","end","text"],T),E("word.insertText",["word"],"Insert text at a character offset, without removing anything.",{index:_("Character offset, as `inspect` reports offsets."),text:S("The text to insert.")},["index","text"],T),E("word.appendText",["word"],"Add text at the end of the document.",{text:S("The text to append.")},["text"],T),E("word.insertParagraph",["word"],"Start a new paragraph, optionally with text in it.",{text:S("Paragraph text. Newlines start further paragraphs."),index:_("Character offset to insert at. Omit for the end of the document.")},[],T),E("word.setSelection",["word"],"Put the user's cursor on a stretch of text, and move the reading window there: the page context carries one window of a long document, and the text around this offset arrives in the next turn.",{start:_("Start character offset."),end:_("End character offset. Omit for a caret.")},["start"],X)],_f=[E("slides.setText",["slides"],"Replace the text of one shape. Written on save; not visible before that, and not undoable.",{slide:fn,element:S("Element id, as `inspect` reports it."),text:S("The new text.")},["slide","element","text"],Me),E("slides.setTransform",["slides"],"Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",{slide:fn,element:S("Element id."),left:_("Distance from the left edge, in pixels."),top:_("Distance from the top edge, in pixels."),width:_("Width in pixels."),height:_("Height in pixels.")},["slide","element"],Me)],Kt=[...hf,...yf,...Ef,..._f];function Sf(e){return Kt.filter(t=>t.kinds.includes(e))}function Af(e){return Kt.find(t=>t.op===e)}const mn=/(?: {2,}|\\)$/,bf=/^\*\*([^*]+)\*\*\s+(.*)$/;function gn(e){const t=bf.exec(e);return t?{lead:t[1],text:t[2]}:{text:e}}function Tf(e){const t=(e??"").replace(/\r\n/g,`
17
+ Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`},un={quote:"Genoemde bedragen zijn exclusief btw tenzij anders vermeld. Deze offerte is geldig tot {quote.valid_until}.",order:"Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",invoice:"Genoemde bedragen zijn exclusief btw tenzij anders vermeld.",credit_note:"Genoemde bedragen zijn exclusief btw tenzij anders vermeld."},Yu=Ko("quote"),Fo=Pe.map(e=>e.key),Bo="product";function Go(e,t){return`${e}:${t}`}function zu(e){return`${Bo}:${e}`}function Xu(e,t){const n=e.businessEntityId||t;if(n)return`/apps/sales/${n}/${C(e.kindKey).path}/${e.id}`}function qu(e,t){const n=e.businessEntityId||t;return n?`/apps/sales/${n}/product/${e.id}`:void 0}function Qu(e){const t=e.indexOf(":");if(t<0)return;const n=e.slice(0,t);return Fo.includes(n)?e.slice(t+1):void 0}function Ju(e){const t=new Set([Go(e.kindKey,e.id)]);return e.companyId&&t.add(`company:${e.companyId}`),e.contactId&&t.add(`contact:${e.contactId}`),e.dealItemId&&t.add(`work_item:${e.dealItemId}`),Array.from(t)}const Zu=4;function ed(e,t){const n=String(t).padStart(Math.max(1,e.padding),"0");return`${e.prefix}${e.period?`${e.period}-`:""}${n}`}function td(e,t=Date.now()){return e==="year"?String(new Date(t).getFullYear()):""}const nd=["cash","credit","direct_debit","card","other"];function rd(e,t){return e+Math.max(0,Math.round(t))*24*60*60*1e3}function od(e){return{code:e.code,label:e.label,method:e.method,dueDays:e.dueDays}}const id=[{code:"14D",label:"Binnen 14 dagen",method:"credit",dueDays:14,isDefault:!0,order:0},{code:"30D",label:"Binnen 30 dagen",method:"credit",dueDays:30,order:1},{code:"CONTANT",label:"Contant",method:"cash",dueDays:0,order:2}];function sd(e){return e.type==="agent"}const Ho=["communication:interactions:created","communication:interactions:updated","communication:activities:created","communication:activities:updated"];function ad(e){return Ho.includes(e)}const cd="WORK_COMMENT_ADDED",ld="WORK_ITEM_ASSIGNED",ud="WORK_ITEM_STATUS_CHANGED";function dd(e,t){const n=r=>{const o=new Date(r);return o.setHours(0,0,0,0),o.getTime()};return Math.round((n(e)-n(t))/cr)}function fd(e,t){if(e.closedAt!=null)return{score:P,reasons:[]};const n=t.remindersById?.[e.id];if(n&&n.remindAt>t.now)return{score:P,reasons:[]};let r=0;const o=[],i=e.priority??"normal";if(q[i]>0&&(r+=q[i],o.push(`priority:${i}`)),typeof e.dueDate=="number"){const s=dd(e.dueDate,t.now);s<0?(r+=35,o.push("overdue")):s===0&&(r+=20,o.push("due-today"))}return e.source?.initiator==="system"&&e.source.systemReason&&(r+=15,o.push(`auto:${e.source.systemReason}`)),{score:r,reasons:o}}const $e=[{key:"task",label:"type_task"},{key:"bug",label:"type_bug"},{key:"story",label:"type_story"},{key:"epic",label:"type_epic"},{key:"subtask",label:"type_subtask"},{key:"case",label:"type_case"},{key:"deal",label:"type_deal"},{key:"milestone",label:"type_milestone"}],pd=$e.map(e=>e.key);function md(e){return e?.types?.length?e.types:$e}function gd(e,t){return t.find(n=>n.key===e)}function hd(e){const t=e.trim().toLowerCase();return t?t.includes("sub-task")||t.includes("subtask")||t.includes("sub task")?"subtask":t.includes("bug")||t.includes("defect")?"bug":t.includes("epic")?"epic":t.includes("story")?"story":t.includes("incident")||t.includes("problem")||t.includes("service request")||t.includes("change")?"case":t.includes("milestone")||t.includes("mijlpaal")?"milestone":t.includes("task")?"task":null:null}function yd(...e){return e.map(t=>$e.find(n=>n.key===t)).filter(t=>!!t)}const jo="work_item",Wo="work_project",Vo="work_activity",Ed="work_cycle";function Yo(e){return`${jo}:${e}`}function xt(e){return`${Wo}:${e}`}function _d(e){return`${Vo}:${e}`}function Sd(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function Ad(e){const t=/^([A-Za-z0-9]{2,8})-(\d+)(?:-(\d+))?$/.exec((e||"").trim());return t?{projectKey:t[1].toUpperCase(),sequenceNumber:Number(t[2]),...t[3]?{subSequence:Number(t[3])}:{}}:null}function Td(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function bd(e,t=25){const n=new Set([Yo(e.id)]);e.projectId&&n.add(xt(e.projectId));for(const r of e.ancestorKeys??[])n.add(r);for(const r of e.partyKeys??[])n.add(r);return Array.from(n).slice(0,t)}function Id(e){return[xt(e.id)]}const Ue=[{key:"open",label:"status_open",category:"todo",order:0},{key:"in_progress",label:"status_in_progress",category:"in_progress",order:1},{key:"done",label:"status_done",category:"done",order:2},{key:"cancelled",label:"status_cancelled",category:"done",order:3}],Pt=Ue.map(e=>e.key);function zo(e){return e?.statuses?.length?e.statuses:Ue}function Xo(e,t){return t.find(n=>n.key===e)?.category??"todo"}function Od(e,t){return t.find(n=>n.key===e)}function vd(e){const t=zo(e),n=e?.defaultStatusKey;return n&&t.some(r=>r.key===n)?n:qo(t)[0]?.key??Ue[0].key}function qo(e){return[...e].sort((t,n)=>{const r=(t.order??0)-(n.order??0);return r!==0?r:(t.label||"").localeCompare(n.label||"")})}function Cd(e,t){return Xo(e,t)==="done"}function Qo(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function Md(e,t){const n=Qo(e)||"status",r=new Set([...t,...Pt]);if(!r.has(n))return n;for(let o=2;o<500;o++){const i=`${n}-${o}`;if(!r.has(i))return i}return`${n}-${r.size+1}`}function kd(e){const t=[];if(!e.length)return[{index:-1,reason:"empty"}];const n=new Set;return e.forEach((r,o)=>{if(!r.key){t.push({index:o,reason:"missing_key"});return}Pt.includes(r.key)&&t.push({index:o,reason:"reserved_key",key:r.key}),n.has(r.key)&&t.push({index:o,reason:"duplicate_key",key:r.key}),n.add(r.key)}),e.some(r=>r.category==="todo"||r.category==="in_progress")||t.push({index:-1,reason:"no_open"}),e.some(r=>r.category==="done")||t.push({index:-1,reason:"no_done"}),t}function Nd(e,t){return t.find(n=>n.key===e)?.requiresApproval===!0}function Rd(e,t){if(!e)return;const n=t?.resolutions?.find(r=>r.key===e)?.positive;return n===void 0?void 0:n?"won":"lost"}function wd(e){return e.startDate??Number.MAX_SAFE_INTEGER}function Dd(e){return e.completedAt?"completed":e.startedAt?"active":"planned"}const Ld=["statusKeys","typeKeys","labels","priority","assignees"],xd=["blockedOnly","watchingOnly","reportedByMe"],Pd=["priority","dueDate","updatedAt","createdAt","title","estimateSeconds"],$d=["list","board","calendar","workload"],Ud=["day","week","month"];function Kd(e){const t=e;if(!t||!Ud.includes(t.every))return;const n=Math.floor(Number(t.interval??1));if(!(!Number.isFinite(n)||n<1||n>365))return{every:t.every,interval:n}}function Jo(e,t){const n=new Date(e);if(t.every==="day")n.setDate(n.getDate()+t.interval);else if(t.every==="week")n.setDate(n.getDate()+7*t.interval);else{const r=n.getDate();n.setDate(1),n.setMonth(n.getMonth()+t.interval),n.setDate(Math.min(r,new Date(n.getFullYear(),n.getMonth()+1,0).getDate()))}return n.getTime()}function Fd(e,t,n){const r=Jo(e.dueDate??n,t);return e.startDate===void 0||e.dueDate===void 0?{dueDate:r}:{dueDate:r,startDate:r-(e.dueDate-e.startDate)}}const Bd=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),Gd=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function Zo(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?Bd.has(t)?"image":t==="application/pdf"?"pdf":Gd.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const z=1024*1024,ei={image:5*z,pdf:20*z,text:1*z,audio:20*z},Hd=25*z,jd=5;function Wd(e,t){const n=Zo(e);return n==="unsupported"?"unsupported":t>ei[n]?"too-large":null}const Vd="ai-tool";function Yd(e){return e.access==="read"?"idempotent":e.reversible??"none"}function $t(e){return e.access!=="read"&&e.effect!=="internal"}function ti(e){return`${e.kind}:${e.id||e.url||e.title}`}function zd(e,t=[]){const n=new Set(t),r=[],o=[];for(const i of e){const s=ti(i);n.has(s)||(n.add(s),r.push(i),o.push(s))}return{sources:r,keys:o}}const Xd="assist-source",qd=["blocking","due","open"];function Qd(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const dn={blocking:0,due:1,open:2};function Jd(e,t){return dn[e.band??"open"]-dn[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}function Zd(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function ef(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function tf(e){return e.sessions.some(n=>n.id!==e.exceptSessionId&&(n.state==="connected"||n.state==="on_hold"))?{admit:!1,reason:"busy"}:{admit:!0}}function ni(e,t){const n=new Set(e.disabledIntents??[]),r=e.intentOverrides??{},o=t.intents.filter(s=>!n.has(s.intent)).map(s=>rf(s,r[s.intent]));if(!e.extraIntents||e.extraIntents.length===0)return o;const i=new Set(o.map(s=>s.intent));for(const s of e.extraIntents)i.has(s.intent)||(o.push(s),i.add(s.intent));return o}function ri(e,t){const n={};for(const r of e.intents){if(!r.togglable)continue;const o=t?.[r.intent];n[r.intent]=o??r.defaultEnabled??!0}return n}function nf(e,t){const n=ri(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function rf(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function of(e,t){const n=[];for(const r of e){if(!r.enabled)continue;const o=t[r.providerId];if(o)for(const i of ni(r,o))n.push({channel:r,description:o,capability:i})}return n}function sf(e,t){return t.filter(n=>n.capability.intent===e)}function oi(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function af(e,t){return oi(e.scheme,t)}function cf(e,t,n){const r=[];for(const o of e)for(const i of n)i.capability.intent===t&&i.capability.targetSchemes.includes(o.scheme)&&r.push({channelIntent:i,endpoint:o});return r}function lf(e,t,n={}){let r=t,o=e;for(const[i,s]of Object.entries(n))r=r.split("{"+i+"}").join(String(s)),o+=" "+i+"="+encodeURIComponent(String(s));return r+" ["+o+"]"}const uf=/ \[([a-z][a-z0-9_]*)((?: [a-zA-Z]\w*=[^\s\]]*)*)\]$/;function df(e){const t=uf.exec(e);if(!t)return{text:e,params:{}};const n={};for(const r of t[2].trim().split(" ").filter(Boolean)){const o=r.indexOf("=");n[r.slice(0,o)]=decodeURIComponent(r.slice(o+1))}return{text:e.slice(0,t.index),code:t[1],params:n}}var ii=(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))(ii||{});const ff={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 pf(e){return e?ff[e]??"note":"note"}const mf="message_window",gf="message_templates",hf={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},yf=(e,t)=>({intent:e,...t}),Ef="remote_search",_f="message_reactions",Sf={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},Af="connector",Tf="context.collect",S=e=>({type:"string",description:e}),_=e=>({type:"number",description:e}),de=e=>({type:"boolean",description:e}),k=S("Sheet name. Omit for the sheet the user is looking at."),fn=S("Slide id, as `inspect` reports it.");function E(e,t,n,r,o,i){return{op:e,kinds:t,summary:n,parameters:{type:"object",properties:r,required:o},undoable:i.undoable,visible:i.visible}}const X={undoable:!1,visible:!0},b={undoable:!0,visible:!0},pn={undoable:!1,visible:!0},Me={undoable:!1,visible:!1},bf=[E("pdf.goToPage",["pdf"],"Scroll the viewer to a page.",{page:_("1-based page number.")},["page"],X),E("pdf.search",["pdf"],"Search the document and highlight the matches, as the find bar does.",{query:S("Text to find."),next:de("Jump to the next match instead of the first.")},["query"],X),E("pdf.setTool",["pdf"],"Select a markup tool for the user, so their next click draws it.",{tool:{type:"string",enum:["highlight","text","draw","image","signature","none"],description:"Which tool to arm. `none` puts the tool row back to reading."}},["tool"],X),E("pdf.fillField",["pdf"],"Fill one form field of a fillable PDF.",{field:S("Field name, exactly as `inspect` reports it under `fields`."),value:{type:["string","boolean"],description:"Text for a text field, true/false for a checkbox or radio."}},["field","value"],b),E("pdf.reorderPages",["pdf"],"Put the pages in a different order. Pages left out are deleted.",{order:{type:"array",items:{type:"number"},description:"1-based source page numbers, in the order they should end up in."}},["order"],pn),E("pdf.deletePages",["pdf"],"Remove pages, keeping the rest in order.",{pages:{type:"array",items:{type:"number"},description:"1-based page numbers."}},["pages"],pn),E("pdf.addNote",["pdf"],"Place a text note on a page. Written on save; not visible before that.",{page:_("1-based page number."),text:S("The note's text."),left:_("Distance from the left edge, in PDF points (72 per inch)."),top:_("Distance from the top edge, in PDF points."),width:_("Box width in points. Omit for a sensible default."),height:_("Box height in points. Omit for a sensible default."),fontSize:_("Font size in points. Omit for 12.")},["page","text","left","top"],Me),E("pdf.highlightText",["pdf"],"Highlight a phrase on a page. Written on save; not visible before that.",{page:_("1-based page number."),text:S("The exact phrase to highlight, as it appears in the page's text."),occurrence:_("Which occurrence on that page, 1-based. Omit for the first.")},["page","text"],Me)],If=[E("sheet.setValues",["sheet"],"Write a block of values. The block's shape must match the range.",{sheet:k,range:S("A1 notation, e.g. `B2:D5` or a single `A1`."),values:{type:"array",items:{type:"array",items:{type:["string","number","boolean","null"]}},description:"Rows of cells, top-left first. `null` clears a cell."}},["range","values"],b),E("sheet.setFormula",["sheet"],"Put a formula in every cell of a range.",{sheet:k,range:S("A1 notation."),formula:S("Including the leading `=`.")},["range","formula"],b),E("sheet.setStyle",["sheet"],"Change the look of a range. Only the properties you pass are touched.",{sheet:k,range:S("A1 notation."),bold:de("Bold on or off."),italic:de("Italic on or off."),fontSize:_("Point size."),fontColor:S("CSS colour, e.g. `#b91c1c`."),background:S("CSS colour for the cell fill."),horizontalAlignment:{type:"string",enum:["left","center","right"],description:"Horizontal alignment."},numberFormat:S("Number format pattern, e.g. `#,##0.00` or `0%`.")},["range"],b),E("sheet.insertRows",["sheet"],"Insert empty rows, pushing the rest down.",{sheet:k,at:_("1-based row number to insert before."),count:_("How many. Omit for 1.")},["at"],b),E("sheet.deleteRows",["sheet"],"Delete rows, pulling the rest up.",{sheet:k,at:_("1-based first row to delete."),count:_("How many. Omit for 1.")},["at"],b),E("sheet.insertColumns",["sheet"],"Insert empty columns, pushing the rest right.",{sheet:k,at:_("1-based column number to insert before."),count:_("How many. Omit for 1.")},["at"],b),E("sheet.deleteColumns",["sheet"],"Delete columns, pulling the rest left.",{sheet:k,at:_("1-based first column to delete."),count:_("How many. Omit for 1.")},["at"],b),E("sheet.merge",["sheet"],"Merge a range into one cell.",{sheet:k,range:S("A1 notation.")},["range"],b),E("sheet.unmerge",["sheet"],"Break merged cells in a range apart.",{sheet:k,range:S("A1 notation.")},["range"],b),E("sheet.sort",["sheet"],"Sort a range on one of its columns.",{sheet:k,range:S("A1 notation covering the rows to sort, header excluded."),column:_("1-based column *within the range*, not within the sheet."),ascending:de("Ascending. Omit for ascending.")},["range","column"],b),E("sheet.insertSheet",["sheet"],"Add a new sheet.",{name:S("Name for the new sheet.")},["name"],b),E("sheet.renameSheet",["sheet"],"Rename a sheet.",{sheet:S("Current name."),name:S("New name.")},["sheet","name"],b),E("sheet.deleteSheet",["sheet"],"Remove a sheet and everything on it.",{sheet:S("Name of the sheet to delete.")},["sheet"],b),E("sheet.activate",["sheet"],"Show the user a sheet and select a range on it.",{sheet:k,range:S("A1 notation to select. Omit to only switch sheets.")},[],X)],Of=[E("word.replaceParagraph",["word"],"Rewrite one whole paragraph, keeping its style. This is the verb for shortening or rephrasing something; call it once per paragraph.",{at:_("The offset the paragraph starts at, exactly as `inspect` prints it."),text:S("The new text for that paragraph. A newline starts a further paragraph.")},["at","text"],b),E("word.replaceRange",["word"],"Replace a stretch of text inside a paragraph - a sentence, a phrase. To rewrite whole paragraphs use word.replaceParagraph: a range covering several paragraph styles is refused, because a replacement carries one style and would set the whole span in the first.",{start:_("Character offset where the replaced text starts, as `inspect` reports offsets."),end:_("Character offset just past the last character to replace."),text:S("The replacement text. A newline starts a new paragraph.")},["start","end","text"],b),E("word.insertText",["word"],"Insert text at a character offset, without removing anything.",{index:_("Character offset, as `inspect` reports offsets."),text:S("The text to insert.")},["index","text"],b),E("word.appendText",["word"],"Add text at the end of the document.",{text:S("The text to append.")},["text"],b),E("word.insertParagraph",["word"],"Start a new paragraph, optionally with text in it.",{text:S("Paragraph text. Newlines start further paragraphs."),index:_("Character offset to insert at. Omit for the end of the document.")},[],b),E("word.setSelection",["word"],"Put the user's cursor on a stretch of text, and move the reading window there: the page context carries one window of a long document, and the text around this offset arrives in the next turn.",{start:_("Start character offset."),end:_("End character offset. Omit for a caret.")},["start"],X)],vf=[E("slides.setText",["slides"],"Replace the text of one shape. Written on save; not visible before that, and not undoable.",{slide:fn,element:S("Element id, as `inspect` reports it."),text:S("The new text.")},["slide","element","text"],Me),E("slides.setTransform",["slides"],"Move or resize one shape. Only the values you pass change. Written on save; not visible before that, and not undoable.",{slide:fn,element:S("Element id."),left:_("Distance from the left edge, in pixels."),top:_("Distance from the top edge, in pixels."),width:_("Width in pixels."),height:_("Height in pixels.")},["slide","element"],Me)],Ut=[...bf,...If,...Of,...vf];function Cf(e){return Ut.filter(t=>t.kinds.includes(e))}function Mf(e){return Ut.find(t=>t.op===e)}const mn=/(?: {2,}|\\)$/,kf=/^\*\*([^*]+)\*\*\s+(.*)$/;function gn(e){const t=kf.exec(e);return t?{lead:t[1],text:t[2]}:{text:e}}function Nf(e){const t=(e??"").replace(/\r\n/g,`
18
18
  `).split(`
19
19
  `),n=[];let r=null;const o=()=>{r&&n.push({type:"list",style:r.style,items:r.items}),r=null},i=(f,p)=>{r&&r.style!==f&&o(),r?r.items.push(gn(p)):r={style:f,items:[gn(p)]}};let s=[],a=[];const l=()=>{if(s.length){const f=s.join("").trim();f&&n.push({type:"paragraph",text:f}),s=[]}},c=()=>{a.length&&(n.push({type:"quote",text:a.join(`
20
20
  `)}),a=[])},d=()=>{l(),c(),o()};let u=0;for(;u<t.length;){const f=t[u]??"",p=f.match(/^```(\w*)\s*$/);if(p){d();const h=[];for(u++;u<t.length&&!/^```\s*$/.test(t[u]??"");)h.push(t[u]??""),u++;u++,n.push({type:"code",...p[1]?{lang:p[1]}:{},text:h.join(`
21
- `)});continue}const y=f.match(/^(#{1,3})\s+(.*)$/);if(y){d(),n.push({type:"heading",level:y[1].length,text:y[2].trim()}),u++;continue}const m=f.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);if(m){d(),n.push({type:"image",url:m[2],...m[1]?{alt:m[1]}:{}}),u++;continue}if(/^\s*[-*]\s+/.test(f)){l(),c(),i("bulleted",f.replace(/^\s*[-*]\s+/,"")),u++;continue}if(/^\s*\d+\.\s+/.test(f)){l(),c(),i("numbered",f.replace(/^\s*\d+\.\s+/,"")),u++;continue}if(/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(f)){d(),n.push({type:"divider"}),u++;continue}if(/^>\s?/.test(f)){l(),o(),a.push(f.replace(/^>\s?/,"")),u++;continue}if(f.trim()===""){d(),u++;continue}c(),o();const b=mn.test(f);s.push(f.replace(mn,"").trim()+(b?`
22
- `:" ")),u++}return d(),n}function If(e,t){return _t(e,t).replace(/^```.*$/gm,"").replace(/^\|[\s:|-]*\|$/gm,"").replace(/[ \t]*\|[ \t]*/g," ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm,"").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/(\*\*|__|\*|_|`|~~)/g,"").replace(/[ \t]+$/gm,"").replace(/\n{3,}/g,`
21
+ `)});continue}const y=f.match(/^(#{1,3})\s+(.*)$/);if(y){d(),n.push({type:"heading",level:y[1].length,text:y[2].trim()}),u++;continue}const m=f.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);if(m){d(),n.push({type:"image",url:m[2],...m[1]?{alt:m[1]}:{}}),u++;continue}if(/^\s*[-*]\s+/.test(f)){l(),c(),i("bulleted",f.replace(/^\s*[-*]\s+/,"")),u++;continue}if(/^\s*\d+\.\s+/.test(f)){l(),c(),i("numbered",f.replace(/^\s*\d+\.\s+/,"")),u++;continue}if(/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(f)){d(),n.push({type:"divider"}),u++;continue}if(/^>\s?/.test(f)){l(),o(),a.push(f.replace(/^>\s?/,"")),u++;continue}if(f.trim()===""){d(),u++;continue}c(),o();const T=mn.test(f);s.push(f.replace(mn,"").trim()+(T?`
22
+ `:" ")),u++}return d(),n}function Rf(e,t){return _t(e,t).replace(/^```.*$/gm,"").replace(/^\|[\s:|-]*\|$/gm,"").replace(/[ \t]*\|[ \t]*/g," ").replace(/^[ \t]*(#{1,6}|>|[-*+]|\d+\.)[ \t]+/gm,"").replace(/!\[([^\]]*)\]\([^)]*\)/g,"$1").replace(/\[([^\]]+)\]\([^)]*\)/g,"$1").replace(/(\*\*|__|\*|_|`|~~)/g,"").replace(/[ \t]+$/gm,"").replace(/\n{3,}/g,`
23
23
 
24
- `).trim()}const Of="documents.describe",vf="documents.inspect",Cf="documents.apply";function Mf(e){const t=e.indexOf(":");if(t!==-1)return e.slice(0,t);const n=e.indexOf(".");return n===-1?e:e.slice(0,n)}const kf="installation-id";function Nf(e){const t=[];for(const n of Object.keys(e))for(const r of Object.keys(e[n]))t.push({lang:n,key:r,value:e[n][r]});return t}const Rf="notification-source",wf=(e,t)=>`${e}.pref.${t}`,Df={ai:["account.read","account.write","agent.read","agent.write","assignment.read","assignment.write","budget.read","budget.write","connector.read","connector.write","context.read","context.write","conversation.read","conversation.write","lens.read","lens.write","message.read","message.write","playbook.read","playbook.write","profile.read","profile.write","run.read","run.write","settings.read","settings.write","tool.read","transcript.write","usage.read"],analytics:["report.read"],"app-store":["app.publish","app.read","app.write","setting.read","setting.write"],assist:["board.read"],automations:["sync.read","sync.write","webhook.read","webhook.write"],communication:["account.read","account.write","activity-type.read","activity.read","activity.write","attachment.read","calendar.read","calendar.write","channel.read","channel.write","inbox.read","inbox.write","interaction.read","interaction.write","reminder.read","template.read","template.write"],context:["attribute.read","attribute.write","custom-field.read","custom-field.write","kind.read","kind.write","memory.read","memory.write","reaction.read","reaction.write","topic.read","topic.write"],crm:["company.read","company.write","contact.read","contact.write"],"eylo-voip":["account.read","account.write","callflow.read","callflow.write","channel.read","channel.write","contact.read","contact.write","device.read","device.write","group.read","group.write","interaction.read","interaction.write","media.read","media.write","menu.read","menu.write","phone-number.read","phone-number.write","recording.read","recording.write","sip.read","temporal-rule.read","temporal-rule.write","user.read","user.write","vmbox.read","vmbox.write","webhook.read","webhook.write"],google:["account.read","account.write","contact.read"],kb:["article.read","article.write","category.read","category.write","help-center.read","help-center.write","kb.read","kb.write"],mail:["account.write"],meta:["account.read","account.write"],microsoft:["account.read","account.write","contact.read","sync.write"],organization:["billing.read","billing.write","settings.read","settings.write","team.read","team.write"],shopify:["account.read","account.write","order.read"],slack:["thread.read","thread.write"],storage:["artifact.read","artifact.write","file.read","file.write","mount.read","mount.write"],time:["entry.read","entry.write","work-type.read","work-type.write"],user:["user.read","user.write"],work:["item.read","item.write","project.read","project.write"]},Ut=9e4,ii=["out_of_office"],si=e=>ii.includes(e);function Lf(e,t,n){const r=n-e<Ut,o=t?.status&&(!t.expiresAt||t.expiresAt>n)?t:void 0;if(!o?.status)return{online:r,status:r?"available":"offline"};const i=o.status;return!r&&!si(i)?{online:!1,status:"offline"}:{online:r,status:i,message:o.message}}function xf(e,t){const n=t-e.lastSeenAt<Ut,r=n||si(e.status)?e.status:"offline";return n===e.online&&r===e.status?e:{...e,online:n,status:r}}function Pf(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 $f(e){return e.providerAvailable&&e.allowed}const Kf="resources.describe",Uf="resources.search",Ff="resources.resolve",Bf="resources.attached";function Gf(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const Hf="/provider/scope/related",jf="/provider/scope/read",Wf="/provider/scope/acts",Ft="auth";function Bt(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function Vf(e){const t=Bt(e);return t?t!==Ft:typeof e=="string"&&(e.startsWith("/wake")||ai(e))}const J="/settings";function ai(e){return typeof e=="string"&&(e===J||e.startsWith(`${J}/`))}function Yf(e){const t=e?e.indexOf(":"):-1;return!e||t<=0?J:`${J}/${e.slice(0,t)}/${e.slice(t+1)}`}function zf(e){return typeof e!="string"||e===""||e==="/"?!0:Bt(e)===Ft}function Xf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ci(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${Xf(r)}`).join("");return new RegExp(`^${n}\\/?$`)}function li(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean),o={};return n.forEach((i,s)=>{if(i.startsWith(":")){const a=i.endsWith("?")?i.slice(1,-1):i.slice(1),l=r[s];l&&(o[a]=l)}}),o}function ui(e){return e.publicBasePath??`/apps/${e.name}`}function qf(e){const t=[];for(const n of e){if(!n?.name)continue;const r=ui(n);for(const o of n.routes??[]){if(!o.public)continue;const i=o.path==="/"?"":o.path;t.push({appName:n.name,resource:o.resource,pattern:`${r}${i}`,props:o.props})}}return t}function di(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean);for(let o=0;o<Math.min(n.length,r.length);o++){const i=n[o].startsWith(":"),s=r[o].startsWith(":");if(i!==s)return s}return n.length>r.length}function fi(e,t){if(typeof e!="string")return null;let n=null;for(const r of t)ci(r.pattern).test(e)&&(!n||di(r.pattern,n.pattern))&&(n=r);return n?{...n,params:{...n.props,...li(n.pattern,e)}}:null}function Qf(e,t){return fi(e,t)!==null}const Jf=10*1024*1024,Zf=25*1024*1024,ep="sync-target",tp=20;function Gt(e,t){const n=Array.isArray(t)?t.find(r=>r.name===e.name)?.policy:void 0;return n?n!=="read":e.access?e.access!=="read":!0}function pi(e,t,n){return Gt(e,n)?t.guarded==="all"||t.guarded?.has(e.name)?!0:t.autonomy==="auto"?!1:t.autonomy==="outward"?$t(e):!0:!1}function np(e){return e.produces==="draft"}function rp(e,t){if(t.allowed){const n=t.personalTools==="allow"&&e.personal===!0;if(!t.allowed.has(e.name)&&!n)return"hidden"}return t.narrow&&!t.narrow.has(e.name)||!t.attended&&(e.personal===!0||e.surface==="interactive")||t.readOnly&&e.access!=="read"||t.mode==="ask"&&Gt(e)||t.mode==="draft"&&($t(e)||e.access!=="read"&&!np(e))?"hidden":t.gate&&pi(e,t.gate,t.policy)?"held":"free"}const op={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]"]},mi=e=>{let t=e;return Object.values(op).forEach(n=>{n.forEach(r=>{t=t.replaceAll(r,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},gi=6e4,hi=8e3,yi=2,Ei=.4,ip=3,sp=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 _i(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<ip||sp.has(n)||t.add(n);return[...t]}function Si(e,t){if(!e.length)return 0;if(!t.length)return 1;const n=new Set(t),r=new Set(e);let o=0;for(const i of r)n.has(i)||(o+=1);return o/r.size}function Ai(e,t=gi){const n=e.filter(s=>!s.partial&&typeof s.text=="string");if(!n.length)return{text:"",segmentCount:0};const o=n.reduce((s,a)=>Math.max(s,a.endedAt??0),0)-t;return{text:n.filter(s=>(s.endedAt??0)>=o).map(s=>mi(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const bi=60;function ap(e,t,n=bi){const r=new Set(e),o=[...e];for(const i of t)!i||r.has(i)||(r.add(i),o.push(i));return o.slice(-n)}function cp(e){const{segments:t,now:n,state:r}=e;if(r.lastTriggerAt&&n-r.lastTriggerAt<hi)return{trigger:!1,reason:"too_soon"};const o=Ai(t,e.windowMs);if(!o.text)return{trigger:!1,reason:"no_speech"};const i=o.segmentCount-(r.lastSegmentCount??0);if(r.lastQueryTerms&&i<yi)return{trigger:!1,reason:"too_few_new"};const s=_i(o.text);return s.length?r.lastQueryTerms?.length&&Si(s,r.lastQueryTerms)<Ei?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:o.text,terms:s,segmentCount:o.segmentCount}:{trigger:!1,reason:"no_speech"}}const lp=["personal","organization","connections","flows","work","administration","ai"],up="navNotice",Ue={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}},Ti="NL",dp=15,fp=8,pp=Array.from(new Set(Object.values(Ue).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function hn(e){if(e)return Ue[e.trim().toUpperCase()]}function fe(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function yn(e){if(e.length>dp)return null;for(const t of pp){if(!e.startsWith(t))continue;const n=e.slice(t.length);for(const r of Object.values(Ue)){if(r.callingCode!==t)continue;const o=r.trunkPrefix,i=o&&n.startsWith(o)?n.slice(o.length):n;if(fe(i,r))return`+${t}${i}`}return null}return e.length<fp?null:`+${e}`}function mp(e){let t=e.trim();const n=t.match(/^(sips?|tel|whatsapp):/i);n&&(t=t.slice(n[0].length));const r=t.indexOf("@");return r>=0&&(t=t.slice(0,r)),t.trim()}function gp(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 mt(e,t){if(!e)return null;const n=mp(e);if(!n)return null;const r=n.startsWith("+"),o=n.replace(/\D/g,"");if(!o)return null;if(r)return yn(o);if(o.startsWith("00"))return yn(o.slice(2));const i=hn(t)??hn(Ti);if(!i)return null;const s=i.trunkPrefix;if(s&&o.startsWith(s)){const a=o.slice(s.length);return fe(a,i)?`+${i.callingCode}${a}`:null}if(o.startsWith(i.callingCode)){const a=o.slice(i.callingCode.length);if(fe(a,i))return`+${i.callingCode}${a}`}return!s&&fe(o,i)?`+${i.callingCode}${o}`:null}function hp(e,t=9){const n=(e??"").replace(/\D/g,"");return n.length<t?null:n.slice(-t)}function Ht(e){if(!e)return null;const t=e.trim().toLowerCase(),n=t.lastIndexOf("@");if(n<=0||n===t.length-1)return null;const r=t.slice(0,n).split("+")[0],o=t.slice(n+1);return!r||!o.includes(".")?null:`${r}@${o}`}function yp(e){const t=Ht(e);return t?t.slice(t.lastIndexOf("@")+1):null}const Ep=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function Ii(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 Ep.has(n)&&t.length>=3?t.slice(-3).join("."):n}const Oi=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 _p(e){const t=Ii(e);return t?Oi.has(t):!1}function Sp(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function Ap(e,t,n){if(!e||!t)return null;const r=e.trim().toLowerCase();if(r==="tel"||r==="sms"||r==="whatsapp"){const i=mt(t,n);return i?`tel:${i}`:null}if(r==="fax"){const i=mt(t,n);return i?`fax:${i}`:null}if(r==="mailto"||r==="email"){const i=Ht(t);return i?`mailto:${i}`:null}const o=t.trim().toLowerCase();return o?`${r}:${o}`:null}const bp=[/<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],En=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,Tp=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function Ip(e){const t=e.split(`
25
- `);for(let n=0;n<t.length;n++)if(Tp.test(t[n])||En.test(t[n])&&t.slice(n+1,n+4).some(r=>En.test(r)))return t.slice(0,n).join(`
26
- `).trim();return e}const Op=/^(?:https?:|mailto:|tel:)/i,vp=/^(?:https?:|cid:|data:image\/)/i;function Ye(e,t){const n=e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`,"i"));return(n?.[1]??n?.[2]??n?.[3]??"").trim()}const Cp=/(!\[[^\]]*\]\([^)]*\))/;function _n(e){return e.replace(/\s+/g," ").trim().split(Cp).map((t,n)=>n%2===1?t:t.replace(/[[\]]/g,"\\$&")).join("")}function ze(e){return e.replace(/[()\s<>"]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`)}function Mp(e){return e.replace(/<img\b([^>]*?)\/?>/gi,(n,r)=>{const o=Ye(r,"src");return vp.test(o)?`![${_n(Ye(r,"alt"))}](${ze(o)})`:""}).replace(/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,(n,r,o)=>{const i=_n(o.replace(/<[^>]*>/g,"")),s=Ye(r,"href");return Op.test(s)?`[${i||ze(s)}](${ze(s)})`:i})}const kp=/<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i,Np=/<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi,Rp=/<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;function wp(e,t){return/<table\b/i.test(e)||e.includes(`
24
+ `).trim()}const wf="documents.describe",Df="documents.inspect",Lf="documents.apply";function xf(e){const t=e.indexOf(":");if(t!==-1)return e.slice(0,t);const n=e.indexOf(".");return n===-1?e:e.slice(0,n)}const Pf="installation-id";function $f(e){const t=[];for(const n of Object.keys(e))for(const r of Object.keys(e[n]))t.push({lang:n,key:r,value:e[n][r]});return t}const Uf="notification-source",Kf=(e,t)=>`${e}.pref.${t}`,Ff={ai:["account.read","account.write","agent.read","agent.write","assignment.read","assignment.write","budget.read","budget.write","connector.read","connector.write","context.read","context.write","conversation.read","conversation.write","lens.read","lens.write","message.read","message.write","playbook.read","playbook.write","profile.read","profile.write","run.read","run.write","settings.read","settings.write","tool.read","transcript.write","usage.read"],analytics:["report.read"],"app-store":["app.publish","app.read","app.write","setting.read","setting.write"],assist:["board.read"],automations:["sync.read","sync.write","webhook.read","webhook.write"],communication:["account.read","account.write","activity-type.read","activity.read","activity.write","attachment.read","calendar.read","calendar.write","channel.read","channel.write","inbox.read","inbox.write","interaction.read","interaction.write","reminder.read","template.read","template.write"],context:["attribute.read","attribute.write","custom-field.read","custom-field.write","kind.read","kind.write","memory.read","memory.write","reaction.read","reaction.write","topic.read","topic.write"],crm:["company.read","company.write","contact.read","contact.write"],"eylo-voip":["account.read","account.write","callflow.read","callflow.write","channel.read","channel.write","contact.read","contact.write","device.read","device.write","group.read","group.write","interaction.read","interaction.write","media.read","media.write","menu.read","menu.write","phone-number.read","phone-number.write","recording.read","recording.write","sip.read","temporal-rule.read","temporal-rule.write","user.read","user.write","vmbox.read","vmbox.write","webhook.read","webhook.write"],google:["account.read","account.write","contact.read"],kb:["article.read","article.write","category.read","category.write","help-center.read","help-center.write","kb.read","kb.write"],mail:["account.write"],meta:["account.read","account.write"],microsoft:["account.read","account.write","contact.read","sync.write"],organization:["billing.read","billing.write","settings.read","settings.write","team.read","team.write"],shopify:["account.read","account.write","order.read"],slack:["thread.read","thread.write"],storage:["artifact.read","artifact.write","file.read","file.write","mount.read","mount.write"],time:["entry.read","entry.write","work-type.read","work-type.write"],user:["user.read","user.write"],work:["item.read","item.write","project.read","project.write"]},Kt=9e4,si=["out_of_office"],ai=e=>si.includes(e);function Bf(e,t,n){const r=n-e<Kt,o=t?.status&&(!t.expiresAt||t.expiresAt>n)?t:void 0;if(!o?.status)return{online:r,status:r?"available":"offline"};const i=o.status;return!r&&!ai(i)?{online:!1,status:"offline"}:{online:r,status:i,message:o.message}}function Gf(e,t){const n=t-e.lastSeenAt<Kt,r=n||ai(e.status)?e.status:"offline";return n===e.online&&r===e.status?e:{...e,online:n,status:r}}function Hf(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 jf(e){return e.providerAvailable&&e.allowed}const Wf="resources.describe",Vf="resources.search",Yf="resources.resolve",zf="resources.attached";function Xf(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const qf="/provider/scope/related",Qf="/provider/scope/read",Jf="/provider/scope/acts",Ft="auth";function Bt(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function Zf(e){const t=Bt(e);return t?t!==Ft:typeof e=="string"&&(e.startsWith("/wake")||ci(e))}const J="/settings";function ci(e){return typeof e=="string"&&(e===J||e.startsWith(`${J}/`))}function ep(e){const t=e?e.indexOf(":"):-1;return!e||t<=0?J:`${J}/${e.slice(0,t)}/${e.slice(t+1)}`}function tp(e){return typeof e!="string"||e===""||e==="/"?!0:Bt(e)===Ft}function np(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function li(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${np(r)}`).join("");return new RegExp(`^${n}\\/?$`)}function ui(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean),o={};return n.forEach((i,s)=>{if(i.startsWith(":")){const a=i.endsWith("?")?i.slice(1,-1):i.slice(1),l=r[s];l&&(o[a]=l)}}),o}function di(e){return e.publicBasePath??`/apps/${e.name}`}function rp(e){const t=[];for(const n of e){if(!n?.name)continue;const r=di(n);for(const o of n.routes??[]){if(!o.public)continue;const i=o.path==="/"?"":o.path;t.push({appName:n.name,resource:o.resource,pattern:`${r}${i}`,props:o.props})}}return t}function fi(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean);for(let o=0;o<Math.min(n.length,r.length);o++){const i=n[o].startsWith(":"),s=r[o].startsWith(":");if(i!==s)return s}return n.length>r.length}function pi(e,t){if(typeof e!="string")return null;let n=null;for(const r of t)li(r.pattern).test(e)&&(!n||fi(r.pattern,n.pattern))&&(n=r);return n?{...n,params:{...n.props,...ui(n.pattern,e)}}:null}function op(e,t){return pi(e,t)!==null}const ip=10*1024*1024,sp=25*1024*1024,ap="sync-target",cp=20;function Gt(e,t){const n=Array.isArray(t)?t.find(r=>r.name===e.name)?.policy:void 0;return n?n!=="read":e.access?e.access!=="read":!0}function mi(e,t,n){return Gt(e,n)?t.guarded==="all"||t.guarded?.has(e.name)?!0:t.autonomy==="auto"?!1:t.autonomy==="outward"?$t(e):!0:!1}function lp(e){return e.produces==="draft"}function up(e,t){if(t.allowed){const n=t.personalTools==="allow"&&e.personal===!0;if(!t.allowed.has(e.name)&&!n)return"hidden"}return t.narrow&&!t.narrow.has(e.name)||!t.attended&&(e.personal===!0||e.surface==="interactive")||t.readOnly&&e.access!=="read"||t.mode==="ask"&&Gt(e)||t.mode==="draft"&&($t(e)||e.access!=="read"&&!lp(e))?"hidden":t.gate&&mi(e,t.gate,t.policy)?"held":"free"}const dp={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]"]},gi=e=>{let t=e;return Object.values(dp).forEach(n=>{n.forEach(r=>{t=t.replaceAll(r,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},hi=6e4,yi=8e3,Ei=2,_i=.4,fp=3,pp=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 Si(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<fp||pp.has(n)||t.add(n);return[...t]}function Ai(e,t){if(!e.length)return 0;if(!t.length)return 1;const n=new Set(t),r=new Set(e);let o=0;for(const i of r)n.has(i)||(o+=1);return o/r.size}function Ti(e,t=hi){const n=e.filter(s=>!s.partial&&typeof s.text=="string");if(!n.length)return{text:"",segmentCount:0};const o=n.reduce((s,a)=>Math.max(s,a.endedAt??0),0)-t;return{text:n.filter(s=>(s.endedAt??0)>=o).map(s=>gi(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const bi=60;function mp(e,t,n=bi){const r=new Set(e),o=[...e];for(const i of t)!i||r.has(i)||(r.add(i),o.push(i));return o.slice(-n)}function gp(e){const{segments:t,now:n,state:r}=e;if(r.lastTriggerAt&&n-r.lastTriggerAt<yi)return{trigger:!1,reason:"too_soon"};const o=Ti(t,e.windowMs);if(!o.text)return{trigger:!1,reason:"no_speech"};const i=o.segmentCount-(r.lastSegmentCount??0);if(r.lastQueryTerms&&i<Ei)return{trigger:!1,reason:"too_few_new"};const s=Si(o.text);return s.length?r.lastQueryTerms?.length&&Ai(s,r.lastQueryTerms)<_i?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:o.text,terms:s,segmentCount:o.segmentCount}:{trigger:!1,reason:"no_speech"}}const hp=["personal","organization","connections","flows","work","administration","ai"],yp="navNotice",Ke={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}},Ii="NL",Ep=15,_p=8,Sp=Array.from(new Set(Object.values(Ke).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function hn(e){if(e)return Ke[e.trim().toUpperCase()]}function fe(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function yn(e){if(e.length>Ep)return null;for(const t of Sp){if(!e.startsWith(t))continue;const n=e.slice(t.length);for(const r of Object.values(Ke)){if(r.callingCode!==t)continue;const o=r.trunkPrefix,i=o&&n.startsWith(o)?n.slice(o.length):n;if(fe(i,r))return`+${t}${i}`}return null}return e.length<_p?null:`+${e}`}function Ap(e){let t=e.trim();const n=t.match(/^(sips?|tel|whatsapp):/i);n&&(t=t.slice(n[0].length));const r=t.indexOf("@");return r>=0&&(t=t.slice(0,r)),t.trim()}function Tp(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 mt(e,t){if(!e)return null;const n=Ap(e);if(!n)return null;const r=n.startsWith("+"),o=n.replace(/\D/g,"");if(!o)return null;if(r)return yn(o);if(o.startsWith("00"))return yn(o.slice(2));const i=hn(t)??hn(Ii);if(!i)return null;const s=i.trunkPrefix;if(s&&o.startsWith(s)){const a=o.slice(s.length);return fe(a,i)?`+${i.callingCode}${a}`:null}if(o.startsWith(i.callingCode)){const a=o.slice(i.callingCode.length);if(fe(a,i))return`+${i.callingCode}${a}`}return!s&&fe(o,i)?`+${i.callingCode}${o}`:null}function bp(e,t=9){const n=(e??"").replace(/\D/g,"");return n.length<t?null:n.slice(-t)}function Ht(e){if(!e)return null;const t=e.trim().toLowerCase(),n=t.lastIndexOf("@");if(n<=0||n===t.length-1)return null;const r=t.slice(0,n).split("+")[0],o=t.slice(n+1);return!r||!o.includes(".")?null:`${r}@${o}`}function Ip(e){const t=Ht(e);return t?t.slice(t.lastIndexOf("@")+1):null}const Op=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function Oi(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 Op.has(n)&&t.length>=3?t.slice(-3).join("."):n}const vi=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 vp(e){const t=Oi(e);return t?vi.has(t):!1}function Cp(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function Mp(e,t,n){if(!e||!t)return null;const r=e.trim().toLowerCase();if(r==="tel"||r==="sms"||r==="whatsapp"){const i=mt(t,n);return i?`tel:${i}`:null}if(r==="fax"){const i=mt(t,n);return i?`fax:${i}`:null}if(r==="mailto"||r==="email"){const i=Ht(t);return i?`mailto:${i}`:null}const o=t.trim().toLowerCase();return o?`${r}:${o}`:null}const kp=[/<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],En=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,Np=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function Rp(e){const t=e.split(`
25
+ `);for(let n=0;n<t.length;n++)if(Np.test(t[n])||En.test(t[n])&&t.slice(n+1,n+4).some(r=>En.test(r)))return t.slice(0,n).join(`
26
+ `).trim();return e}const wp=/^(?:https?:|mailto:|tel:)/i,Dp=/^(?:https?:|cid:|data:image\/)/i;function Ye(e,t){const n=e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`,"i"));return(n?.[1]??n?.[2]??n?.[3]??"").trim()}const Lp=/(!\[[^\]]*\]\([^)]*\))/;function _n(e){return e.replace(/\s+/g," ").trim().split(Lp).map((t,n)=>n%2===1?t:t.replace(/[[\]]/g,"\\$&")).join("")}function ze(e){return e.replace(/[()\s<>"]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`)}function xp(e){return e.replace(/<img\b([^>]*?)\/?>/gi,(n,r)=>{const o=Ye(r,"src");return Dp.test(o)?`![${_n(Ye(r,"alt"))}](${ze(o)})`:""}).replace(/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,(n,r,o)=>{const i=_n(o.replace(/<[^>]*>/g,"")),s=Ye(r,"href");return wp.test(s)?`[${i||ze(s)}](${ze(s)})`:i})}const Pp=/<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i,$p=/<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi,Up=/<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;function Kp(e,t){return/<table\b/i.test(e)||e.includes(`
27
27
 
28
- |`)||t.includes("![")||t.length>200}const Dp=40,Lp={left:"---",center:":---:",right:"---:"};function xp(e){const t=e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);return t?t[1].toLowerCase():"left"}function Pp(e){return e.replace(/<[^>]*>/g,"").replace(/\s+/g," ").trim().replace(/\|/g,"\\|")}function $p(e){const t=[];for(const s of e.matchAll(Np)){const a=[];for(const l of s[1].matchAll(Rp)){const c=Pp(l[3]);if(wp(l[3],c))return null;a.push({text:c,align:xp(l[2])})}if(a.length===0)return null;a.some(l=>l.text!=="")&&t.push(a)}const n=t[0]?.length??0;if(t.length<2||n<2||t.some(s=>s.length!==n))return null;const r=s=>`| ${s.map(a=>a.text).join(" | ")} |`,o=t[1].map(s=>Lp[s.align]).join(" | "),i=t.slice(1).map(r).join(`
28
+ |`)||t.includes("![")||t.length>200}const Fp=40,Bp={left:"---",center:":---:",right:"---:"};function Gp(e){const t=e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);return t?t[1].toLowerCase():"left"}function Hp(e){return e.replace(/<[^>]*>/g,"").replace(/\s+/g," ").trim().replace(/\|/g,"\\|")}function jp(e){const t=[];for(const s of e.matchAll($p)){const a=[];for(const l of s[1].matchAll(Up)){const c=Hp(l[3]);if(Kp(l[3],c))return null;a.push({text:c,align:Gp(l[2])})}if(a.length===0)return null;a.some(l=>l.text!=="")&&t.push(a)}const n=t[0]?.length??0;if(t.length<2||n<2||t.some(s=>s.length!==n))return null;const r=s=>`| ${s.map(a=>a.text).join(" | ")} |`,o=t[1].map(s=>Bp[s.align]).join(" | "),i=t.slice(1).map(r).join(`
29
29
  `);return`
30
30
 
31
31
  ${r(t[0])}
32
32
  | ${o} |
33
33
  ${i}
34
34
 
35
- `}function Kp(e){return e.replace(/<\/(t[dh])\s*>/gi," ").replace(/<\/tr\s*>/gi,`
36
- `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi,"").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi,"")}function Up(e){let t=e;for(let n=0;n<Dp;n++){const r=kp.exec(t);if(!r||r.index===void 0)break;const i=$p(r[1])??`
35
+ `}function Wp(e){return e.replace(/<\/(t[dh])\s*>/gi," ").replace(/<\/tr\s*>/gi,`
36
+ `).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi,"").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi,"")}function Vp(e){let t=e;for(let n=0;n<Fp;n++){const r=Pp.exec(t);if(!r||r.index===void 0)break;const i=jp(r[1])??`
37
37
 
38
- ${Kp(r[1])}
38
+ ${Wp(r[1])}
39
39
 
40
40
  `;t=t.slice(0,r.index)+i+t.slice(r.index+r[0].length)}return t}function Sn(e,t){let n=e;return n=n.replace(/<(script|style)[\s\S]*?<\/\1>/gi,""),n=n.replace(/<!--[\s\S]*?-->/g,""),n=n.replace(/<br\s*\/?>/gi,`
41
- `),t&&(n=Up(Mp(n))),n=n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi,`
41
+ `),t&&(n=Vp(xp(n))),n=n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi,`
42
42
 
43
43
  `),n=n.replace(/<\/(div|li|tr)>/gi,`
44
- `),n=n.replace(/<\/(td|th)>/gi," "),n=n.replace(/<[^>]+>/g,""),n=n.replace(/<[^>]*$/,""),n}function An(e){return!Number.isInteger(e)||e<0||e>1114111?null:String.fromCodePoint(e)}const Fp={euro:"€",pound:"£",yen:"¥",cent:"¢",copy:"©",reg:"®",trade:"™",deg:"°",plusmn:"±",times:"×",middot:"·",bull:"•",hellip:"…",mdash:"—",ndash:"–",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",apos:"'"};function bn(e){return e.replace(/&nbsp;/gi," ").replace(/&([a-z]+);/gi,(t,n)=>Fp[n.toLowerCase()]??t).replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&#(\d+);/g,(t,n)=>An(Number(n))??t).replace(/&#x([0-9a-f]+);/gi,(t,n)=>An(parseInt(n,16))??t).replace(/&amp;/gi,"&")}function Tn(e){return e.replace(/\r/g,"").replace(/[ \t]+/g," ").replace(/ *\n */g,`
44
+ `),n=n.replace(/<\/(td|th)>/gi," "),n=n.replace(/<[^>]+>/g,""),n=n.replace(/<[^>]*$/,""),n}function An(e){return!Number.isInteger(e)||e<0||e>1114111?null:String.fromCodePoint(e)}const Yp={euro:"€",pound:"£",yen:"¥",cent:"¢",copy:"©",reg:"®",trade:"™",deg:"°",plusmn:"±",times:"×",middot:"·",bull:"•",hellip:"…",mdash:"—",ndash:"–",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",apos:"'"};function Tn(e){return e.replace(/&nbsp;/gi," ").replace(/&([a-z]+);/gi,(t,n)=>Yp[n.toLowerCase()]??t).replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&#(\d+);/g,(t,n)=>An(Number(n))??t).replace(/&#x([0-9a-f]+);/gi,(t,n)=>An(parseInt(n,16))??t).replace(/&amp;/gi,"&")}function bn(e){return e.replace(/\r/g,"").replace(/[ \t]+/g," ").replace(/ *\n */g,`
45
45
  `).replace(/\n{3,}/g,`
46
46
 
47
- `).trim()}const vi=/<\s*(html|body|div|p|table|br|span)\b/i;function Bp(e){return vi.test(e)}function Gp(e){return Ci(e,!1)}function Hp(e){return Ci(e,!0)}function Ci(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const s of bp){const a=e.search(s);a>=0&&a<n&&(n=a)}const r=e.slice(0,n);let o=Tn(bn(Sn(r,t)));return o||(o=Tn(bn(Sn(e,t)))),Ip(o)||o}exports.ACTIVE_ASSIGNMENT_STATUSES=Us;exports.ACTIVITY_CATALOG=L;exports.AI_ATTACHMENT_LIMITS=Zo;exports.AI_ATTACHMENT_MAX_PER_TURN=Fd;exports.AI_ATTACHMENT_TURN_BUDGET=Ud;exports.AI_CAPABILITIES=ke;exports.AI_TOOL_PROVIDER_GROUP=Gd;exports.AI_VENDORS=yt;exports.ALLOWED_LINK_SCHEMES=Un;exports.APP_PERMISSIONS=Df;exports.ARTICLE_SCOPE_KIND=Ya;exports.ARTIFACT_MAX_BLOCKS=ge;exports.ARTIFACT_MAX_BODY_BYTES=Kn;exports.ARTIFACT_MAX_CELL_LEN=F;exports.ARTIFACT_MAX_KPI_ITEMS=_e;exports.ARTIFACT_MAX_LIST_ITEMS=he;exports.ARTIFACT_MAX_TABLE_COLUMNS=Ee;exports.ARTIFACT_MAX_TABLE_ROWS=ye;exports.ARTIFACT_MAX_TEXT_LEN=Ne;exports.ASSIGNMENT_SCOPE_KIND=Wn;exports.ASSIST_BANDS=Vd;exports.ASSIST_SOURCE_PROVIDER_GROUP=Wd;exports.ATTENTION_STATUSES=gr;exports.AT_RISK_GAP=Oo;exports.AUTH_APP_NAME=Ft;exports.AUTO_READY_MIN_PROPOSALS=io;exports.AUTO_READY_RATE=so;exports.ActivityTypeRegistry=kn;exports.BUILT_IN_ONLY=Vi;exports.BULK_PENALTY=hr;exports.BUSINESS_ENTITY_LIST_SERVICE=Ys;exports.CADENCE_FLOOR_MS=hi;exports.CADENCE_MIN_NEW_SEGMENTS=yi;exports.CADENCE_MIN_NOVELTY=Ei;exports.CADENCE_WINDOW_MS=gi;exports.CLASSIFY_VARS=rl;exports.CLEARABLE_FIELDS=Du;exports.CONNECTOR_PROVIDER_GROUP=mf;exports.CONTEXT_COLLECT_SERVICE=gf;exports.CORE_DIMENSIONS=gs;exports.CRM_ACTIVITY_SCOPE_KIND=ha;exports.CRM_CALL_CHANNELS=Ea;exports.CRM_CALL_LOGGED=nr;exports.CRM_CALL_OUTCOMES=_a;exports.CRM_NOTE_ADDED=tr;exports.CRM_STAGE_CHANGED=ya;exports.CommunicationScheme=oi;exports.DAY_MS=cr;exports.DEFAULT_CHECK_IN_DAYS=To;exports.DEFAULT_FORECAST_WEEKS=Gr;exports.DEFAULT_MEMORY_BUDGET=ac;exports.DEFAULT_NUMBER_PADDING=Xu;exports.DEFAULT_PHONE_REGION=Ti;exports.DEFAULT_QUOTE_TEMPLATE_BLOCKS=Hu;exports.DEFAULT_TEMPLATE_CONDITIONS=Bu;exports.DEMAND_SOURCE_PROVIDER_GROUP=Sc;exports.DOCUMENT_APPLY_SERVICE=Cf;exports.DOCUMENT_DESCRIBE_SERVICE=Of;exports.DOCUMENT_INSPECT_SERVICE=vf;exports.DOCUMENT_MAX_BLOCKS=ge;exports.DOCUMENT_MAX_BODY_BYTES=Kn;exports.DOCUMENT_MAX_CELL_LEN=F;exports.DOCUMENT_MAX_KPI_ITEMS=_e;exports.DOCUMENT_MAX_LETTERHEAD_FIELDS=tt;exports.DOCUMENT_MAX_LIST_ITEMS=he;exports.DOCUMENT_MAX_RECIPIENT_LINES=$n;exports.DOCUMENT_MAX_TABLE_COLUMNS=Ee;exports.DOCUMENT_MAX_TABLE_ROWS=ye;exports.DOCUMENT_MAX_TEXT_LEN=Ne;exports.DOCUMENT_MAX_TOTALS_ROWS=nt;exports.DOCUMENT_OPERATIONS=Kt;exports.DRAFT_FIELDS=wu;exports.DUTCH_SLOT_LABELS=$o;exports.EMPTY_WORKFLOW=sl;exports.ENABLED_TRANSACTION_KINDS=Lt;exports.FEATURE_MESSAGE_REACTIONS=ff;exports.FEATURE_REMOTE_SEARCH=df;exports.FIXED_KINDS=we;exports.FIXED_LEVELS=te;exports.FIXED_TYPES=$e;exports.FIXED_UNITS=ia;exports.FOLLOW_UP_HOURS=yr;exports.FROZEN_WRITABLE_FIELDS=Ru;exports.HOUR_MS=ar;exports.HTML_BODY_RE=vi;exports.INELIGIBLE=P;exports.INSTALLATION_HEADER=kf;exports.INTERACTION_KIND=eo;exports.InteractionParticipantRole=lf;exports.KB_FALLBACK_LOCALE=Mr;exports.KB_LOCALES=Se;exports.LEAD_STATUSES=ua;exports.LIFECYCLE_STAGES=la;exports.LOCALES=Se;exports.LOOSE_STATUSES=Ke;exports.MAIL_HINT_HEADERS=pr;exports.MANUAL_PRICE_SOURCE=Qn;exports.MAX_ACTIONS=se;exports.MAX_ASSIGNMENT_TURNS=Vn;exports.MAX_BLOCKS=Xe;exports.MAX_CHOICE_OPTIONS=Qe;exports.MAX_COLLECTION_DEPTH=Tt;exports.MAX_DELEGATION_DEPTH=Yn;exports.MAX_EDITABLE_FILE_BYTES=Jf;exports.MAX_FIELDS=oe;exports.MAX_LIST_ITEMS=ie;exports.MAX_MEMORY_BROWSE=rc;exports.MAX_MEMORY_BUDGET=sc;exports.MAX_MEMORY_CHARS=oc;exports.MAX_RULE_DEPTH=dt;exports.MAX_SCORE_LEVELS=Ze;exports.MAX_SHOWN_KEYS=bi;exports.MAX_TOPIC_CANDIDATES=No;exports.MAX_TOPIC_EXAMPLES=ko;exports.MAX_TOPIC_EXAMPLE_CHARS=ue;exports.MAX_VIEWABLE_FILE_BYTES=Zf;exports.MIN_MEMORY_BUDGET=ic;exports.MIN_SCORE_LEVELS=Je;exports.MODEL_TIERS=B;exports.NAV_NOTICE_SLOT=up;exports.NL_PAYMENT_TERMS=td;exports.NL_TAX_RATES=lc;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=Rf;exports.OFF_TRACK_GAP=vo;exports.ONBOARDING_SOURCE_PROVIDER_GROUP=dc;exports.PAUSE_HOLD=Oe;exports.PAUSE_SNOOZED=Te;exports.PAUSE_WAITING_FOR_CUSTOMER=Ie;exports.PAYMENT_TERM_METHODS=Ju;exports.PHONE_REGIONS=Ue;exports.PLAYBOOK_RUN_APPROVAL_ACT=jc;exports.PLAYBOOK_RUN_SCOPE_KIND=Xr;exports.PRESENCE_ONLINE_WINDOW_MS=Ut;exports.PRESENCE_SURVIVES_OFFLINE=ii;exports.PRODUCT_SCOPE_KIND=Fo;exports.PROFILE_TOOL_DISPOSITIONS=pc;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=cf;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=af;exports.PUBLIC_EMAIL_DOMAINS=Oi;exports.READ_STEP_TYPES=rt;exports.RELATED_SUBJECT_KINDS=Nr;exports.REPORT_VIEW_LAYOUTS=ms;exports.RESERVED_STATUS_KEYS=Pt;exports.RESERVED_TYPE_KEYS=ld;exports.RESOURCE_ATTACHED_SERVICE=Bf;exports.RESOURCE_DESCRIBE_SERVICE=Kf;exports.RESOURCE_RESOLVE_SERVICE=Ff;exports.RESOURCE_SEARCH_SERVICE=Uf;exports.SCHEDULE_ENTRY_SCOPE_KIND=Hr;exports.SCHEDULE_EVENT=fo;exports.SCOPE_ACTS_ROUTE=Wf;exports.SCOPE_READ_ROUTE=jf;exports.SCOPE_RELATED_ROUTE=Hf;exports.SEGMENT_FILTER_KEYS=fa;exports.SEGMENT_LAYOUTS=ma;exports.SEGMENT_LIST_FILTERS=Zn;exports.SEGMENT_PRESENCE_FILTERS=er;exports.SEGMENT_SORT_FIELDS=pa;exports.SETTINGS_BASE_PATH=J;exports.SETTINGS_CATEGORIES=lp;exports.SIGNATURE_INTENTS=sa;exports.SLA_METRICS=Hl;exports.SLA_PAUSE_REASONS=jl;exports.STATUS_NAMES=ku;exports.STEP_MAX_TOKENS_MAX=ro;exports.STEP_MAX_TOKENS_MIN=no;exports.STEP_TYPES=il;exports.STRATEGY_ITEM_SCOPE_KIND=Ao;exports.SUMMARY_MIN_LAST_CHARS=fr;exports.SUMMARY_MIN_MESSAGES=dr;exports.SYNC_RUN_MAX_ERRORS=tp;exports.SYNC_TARGET_PROVIDER_GROUP=ep;exports.SYSTEM_ONE_NON_GOALS=os;exports.TERMINAL_ASSIGNMENT_STATUSES=jn;exports.TERMINAL_RUN_STATUSES=ao;exports.TRANSACTION_KINDS=Pe;exports.TRANSACTION_SCOPE_KINDS=Uo;exports.TRIGGER_VARS=tl;exports.UNARY_OPS=Il;exports.UNKNOWN_KIND=Dr;exports.UNKNOWN_LEVEL_ORDER=bo;exports.UNSUPPORTED=pf;exports.USAGE_DIMENSIONS=Dn;exports.USAGE_DIMENSION_IDS=Ln;exports.UnresolvedRefError=Rt;exports.WEBHOOK_EVENTS=Go;exports.WORKSTREAM_SCOPE_KIND=jr;exports.WORK_ACTIVITY_SCOPE_KIND=Wo;exports.WORK_AREAS=fc;exports.WORK_COMMENT_ADDED=od;exports.WORK_CYCLE_SYNC_KIND=md;exports.WORK_ITEM_ASSIGNED=id;exports.WORK_ITEM_SCOPE_KIND=Ho;exports.WORK_ITEM_STATUS_CHANGED=sd;exports.WORK_PROJECT_SCOPE_KIND=jo;exports.WORK_SORT_FIELDS=wd;exports.WORK_VIEW_FLAGS=Rd;exports.WORK_VIEW_LAYOUTS=Dd;exports.WORK_VIEW_LIST_FILTERS=Nd;exports.W_PRIORITY=q;exports.acceptExampleCandidate=vu;exports.actingIdentityKey=Yr;exports.activeWorkTypes=Iu;exports.activityIconOf=wi;exports.activityJoinUrl=Gi;exports.activitySnippet=Cn;exports.activityTextParams=Mn;exports.activityTimelineText=Bi;exports.activityTimestamp=Nn;exports.activityTypeInfo=O;exports.actorKey=Hc;exports.addExampleCandidate=Ou;exports.addWorkingMs=De;exports.agePresenceEntry=xf;exports.aiAttachmentKind=Jo;exports.aiAttachmentRejection=Bd;exports.aiBudgetLimit=et;exports.aiBudgetPeriodKey=ds;exports.aiBudgetPeriodStart=wn;exports.aiBudgetState=us;exports.aiVendorAcceptsAttachment=ls;exports.aiVendorDefaultModel=ss;exports.aiVendorLabel=is;exports.aiVendorNeedsBaseUrl=cs;exports.aiVendorsWith=as;exports.allocate=Xn;exports.appNameFromPath=Bt;exports.applyApprovalDecision=Ms;exports.applyRounding=_u;exports.applySignature=aa;exports.approvalRate=oo;exports.artifactBodyBytes=Gn;exports.artifactOutline=Hn;exports.artifactToMarkdown=_t;exports.assignmentMismatch=Xc;exports.assignmentScopeKey=Bs;exports.assignmentSubject=js;exports.availabilityByPerson=_c;exports.belongsOnCalendar=mc;exports.belongsToEntity=zs;exports.billableTimeGroups=yu;exports.bindParams=Al;exports.bindValue=Ae;exports.buildActivityPreview=ji;exports.buildChannelIntents=ef;exports.buildShareKeys=Ps;exports.buildWindow=Ai;exports.businessEntitySender=ir;exports.calendarDaysBetween=Lr;exports.calendarOf=Le;exports.canConvert=Lu;exports.canNestUnder=qa;exports.canParent=ou;exports.canTransition=Nu;exports.capabilityDefaultFlag=qi;exports.capacityTotal=yc;exports.capacityWeights=Uc;exports.carriesText=$i;exports.categoryLabel=Ja;exports.categoryOf=zo;exports.causedBy=Nl;exports.channelKindForScheme=sf;exports.channelKindOf=Di;exports.checkInOverdueMs=gu;exports.clampStepMaxTokens=ol;exports.classifyMail=$a;exports.cleanMessageMarkdown=Hp;exports.cleanMessageText=Gp;exports.codeQuery=Js;exports.compareAssistRank=zd;exports.compareWorkTypes=Mo;exports.conditionHolds=or;exports.contactName=da;exports.copyFrom=Po;exports.countsAsPlanned=V;exports.coverageByPerson=Ec;exports.coverageFor=vc;exports.coversWorkstream=Ot;exports.crmActivityAt=Aa;exports.cronMatches=uo;exports.currentPeriod=Qu;exports.cycleDayIndex=vt;exports.cycleOrder=Md;exports.cycleState=kd;exports.decideAssignmentState=Ws;exports.decideCadence=cp;exports.decideEach=Is;exports.decideIncomingCall=Qd;exports.decisionBand=rs;exports.defaultLocaleOf=kr;exports.defaultStatusKey=bd;exports.defaultTemplateBlocks=Ko;exports.defineIntent=uf;exports.delegationRefusal=Vs;exports.depthOf=vr;exports.derivePresence=Lf;exports.describeClause=As;exports.describeExpression=Cl;exports.disabledIntentsFromCapabilities=Jd;exports.documentBodyBytes=Gn;exports.documentKindOf=Mf;exports.documentOutline=Hn;exports.documentToMarkdown=_t;exports.documentToText=If;exports.driftedFields=mo;exports.dueAtOf=Jl;exports.dueDateFrom=Zu;exports.elapsedSeconds=Eu;exports.emailDomain=yp;exports.emptyConditionLeaf=Ol;exports.endpointKey=Ap;exports.entityOwnerIds=Xs;exports.erlangC=Pr;exports.extractParams=li;exports.extractTerms=_i;exports.failureLines=Ma;exports.fieldVarPath=xl;exports.fillDocument=va;exports.fillText=rr;exports.filterByEndpoint=nf;exports.filterByIntent=tf;exports.filterByTargetScheme=ri;exports.filterableDimensions=Ss;exports.findAiVendor=Z;exports.findEvent=Pl;exports.fixedLevelForName=su;exports.fixedTypeForName=fd;exports.fixedTypes=pd;exports.flattenLocales=Nf;exports.floorToPeriod=j;exports.forecastIntervals=xc;exports.formatActingIdentity=Vr;exports.formatCents=x;exports.formatClock=Au;exports.formatHm=Su;exports.formatItemKey=hd;exports.formatPeriod=H;exports.formatSeriesNumber=qu;exports.formatSlaDuration=tu;exports.freshSources=jd;exports.getActivitySeenUserIds=Yi;exports.getContactEndpoints=ca;exports.getShortTitle=ja;exports.getUrgencyScore=Ha;exports.hasReacted=yl;exports.healthCategory=au;exports.healthsInCategory=cu;exports.heightOf=It;exports.helpCenterText=Va;exports.humanizeAction=Zc;exports.interactionIdOf=to;exports.isAgentUser=nd;exports.isAssigned=Ba;exports.isAssignmentTerminal=Fs;exports.isAssignmentTrigger=Qr;exports.isAssistantMode=fs;exports.isAuthoredCrmActivity=Sa;exports.isAutoReady=ul;exports.isAutonomy=qc;exports.isAwaitingThem=Ir;exports.isChatMessageActivity=Xi;exports.isClosed=Ga;exports.isConnectedType=Ui;exports.isDeepLink=Vf;exports.isDescendant=Cr;exports.isEligible=Na;exports.isEmailActivity=zi;exports.isFrozen=xo;exports.isHeldClock=Ql;exports.isHtmlBody=Bp;exports.isInFlight=fl;exports.isInteractionUnseen=mr;exports.isLandingPath=zf;exports.isLikelyBulk=ur;exports.isMessageShape=gt;exports.isMessageType=Li;exports.isMoreSpecificPattern=di;exports.isNoteShape=ht;exports.isOpenClock=So;exports.isOutwardTool=$t;exports.isParked=_r;exports.isPaused=co;exports.isPlaybookAuthoredType=Ki;exports.isPublicEmailDomain=_p;exports.isPublicPath=Qf;exports.isReminderActive=Sr;exports.isReplyableType=Pi;exports.isSettingsPath=ai;exports.isSlaAtRisk=Ua;exports.isSupportedCron=kl;exports.isTerminal=dl;exports.isThreadLongEnough=Da;exports.isTranscriptType=Fi;exports.isWebhookEvent=rd;exports.isWorkClosed=Td;exports.isWorkTypeVisible=Tu;exports.isWriteTool=Gt;exports.itemDossierKeys=_d;exports.judgeRuleCase=Rl;exports.kindFor=w;exports.ladderFor=Yo;exports.levelIn=Io;exports.levelOrder=Ce;exports.lineNet=wr;exports.linkLabel=Wa;exports.listedTransactionKinds=Mu;exports.listeningAllowed=ps;exports.localeInstruction=Xa;exports.localeName=za;exports.localesOf=Qa;exports.looksLikeEmail=gp;exports.lookup=bt;exports.marginCents=ta;exports.markdownToDocument=Tf;exports.matchApprovalPolicy=vs;exports.matchContactToIntents=rf;exports.matchPublicRoute=fi;exports.matchRules=po;exports.mcpCredentialScope=tc;exports.mcpToolPrefix=nc;exports.measureRatio=uu;exports.mergeDefaultFlags=Ji;exports.mergeShownKeys=ap;exports.messageCountsAs=vn;exports.metricOption=bs;exports.minutesOn=Ct;exports.missingFieldPaths=$l;exports.modelAcceptsAttachment=es;exports.mustAsk=pi;exports.narrowAutonomy=Jc;exports.needsPhoneRegion=Sp;exports.nestsUnderParent=xi;exports.nextLevelBelow=iu;exports.nextOccurrenceDates=Pd;exports.nextSlaClock=Zl;exports.nextStatuses=Lo;exports.nextVersion=xu;exports.normalizeArtifactBlocks=Bn;exports.normalizeBlocks=ki;exports.normalizeDocumentBlocks=Bn;exports.normalizeEmail=Ht;exports.normalizeExample=$;exports.normalizeGtin=zn;exports.notificationPrefKey=wf;exports.novelty=Si;exports.operationDescriptor=Af;exports.operationsForKind=Sf;exports.opsForFieldType=Ll;exports.organizationSender=Ca;exports.outcomeOf=Cd;exports.overlapSeconds=ce;exports.overlaps=Oc;exports.paceRatio=du;exports.parkMarksById=Ra;exports.parse=lo;exports.parseActingIdentity=Bc;exports.parseAmount=Zs;exports.parseClockMinutes=Bl;exports.parseCron=wt;exports.parseItemKey=yd;exports.parseRecurrence=xd;exports.pathToRegex=ci;exports.patternFor=kt;exports.patternStartTime=Mt;exports.pauseBitFor=Gl;exports.pendingApprovers=Cs;exports.periodsInRange=Es;exports.phoneSuffix=hp;exports.pickMailHeaders=La;exports.pickTemplate=Ta;exports.placeLumps=Fc;exports.plainTextFromMarkdown=In;exports.planSlaEvent=ql;exports.plannedBillable=Cc;exports.plannedWorkTypeKey=Br;exports.procedureOf=cl;exports.productHref=Vu;exports.productScopeKey=ju;exports.projectDossierKeys=Sd;exports.proposalRequestIds=Os;exports.publicBasePathFor=ui;exports.publicRoutePatterns=qf;exports.reactionWakesAssignment=Hs;exports.readDefaultFlags=Qi;exports.readPath=pe;exports.readStepError=ae;exports.recencyOf=Er;exports.recipientLocale=ba;exports.refKey=Zr;exports.registrableDomain=Ii;exports.rejectExampleCandidate=wo;exports.relatedByDefault=cc;exports.remainingMsOf=ve;exports.repriceLines=oa;exports.requiredAgents=Ur;exports.requirementFor=Fr;exports.resolveAccountCapabilities=ni;exports.resolveActivityText=me;exports.resolveAutonomy=Qc;exports.resolveChannelIntents=ti;exports.resolvePrice=qn;exports.resolveRoute=ts;exports.resolveSignature=Jn;exports.resolveTier=Rn;exports.resolveWorkMode=Pf;exports.resourceKindOf=Gf;exports.rollupChildren=mu;exports.roundHalfUp=W;exports.runActor=Gc;exports.runApprovalKey=Wc;exports.runEvalSuite=ka;exports.runIdOfApprovalRef=Vc;exports.runInteractionId=ml;exports.runKind=ll;exports.runOutcome=Dl;exports.sanitizeInline=Fn;exports.sanitizeTranscript=mi;exports.scheduleEntryScopeKey=Pc;exports.scoreInteraction=Fa;exports.scoreWorkItem=cd;exports.segmentIsEmpty=ga;exports.selectLenses=ec;exports.serialize=le;exports.serviceLevel=$r;exports.sessionsHoldCannotReach=qd;exports.sessionsToHold=Xd;exports.settingsPath=Yf;exports.shadowByKey=qs;exports.shareKeyForTeam=At;exports.shareKeyForUser=St;exports.shareKeysForViewer=$s;exports.shortfalls=Mc;exports.shouldRunAudioPipeline=$f;exports.slaBadgeTone=eu;exports.slaHoursByInbox=Ka;exports.slaHoursFor=Tr;exports.sortStatuses=Xo;exports.sourceKey=ei;exports.spreadOverWeights=Wr;exports.statusIn=Ad;exports.statusRequiresApproval=vd;exports.stepDate=Qo;exports.stepsOf=al;exports.strategyAncestorKeysFor=ru;exports.strategyDossierKeys=nu;exports.strategyItemScopeKey=Dt;exports.stripHtml=On;exports.subjectKeyOf=pl;exports.subjectOf=Nt;exports.subjectRef=Yd;exports.suggestProjectKey=Ed;exports.suggestedHealth=fu;exports.summariseEval=sr;exports.summarizeReactions=gl;exports.targetById=zc;exports.targetForActivityType=Yc;exports.targetOrder=hu;exports.taxRateFor=Rr;exports.termsFor=xr;exports.toActingIdentity=zr;exports.toE164=mt;exports.toTransactionTerm=ed;exports.toolBareName=Jr;exports.toolDisplayName=el;exports.toolReversible=Hd;exports.toolSourceKinds=Ks;exports.toolVerdict=rp;exports.topicOfferedForTeam=Do;exports.topicsForTeam=Cu;exports.trafficIntensity=Kr;exports.transactionContext=Pu;exports.transactionDossierKeys=zu;exports.transactionHref=Wu;exports.transactionIdFromScope=Yu;exports.transactionKind=C;exports.transactionScopeKey=Bo;exports.transactionSlots=$u;exports.transactionTotals=uc;exports.triggerFillsVar=nl;exports.truncateExample=Ro;exports.typeIn=dd;exports.typesFor=ud;exports.uniqueWorkStatusKey=Id;exports.uniqueWorkTypeKey=bu;exports.usageMetricId=xn;exports.usageMetrics=Ts;exports.validateQuestions=ns;exports.validateStatuses=Od;exports.valueAtPath=qr;exports.waitHoursOf=Re;exports.wakesAssignment=Gs;exports.workActivityScopeKey=gd;exports.workItemScopeKey=Vo;exports.workProjectScopeKey=xt;exports.workRatio=pu;exports.workStatusKey=qo;exports.workTypeKey=Co;exports.workingMsBetween=be;exports.workstreamScopeKey=$c;
47
+ `).trim()}const Ci=/<\s*(html|body|div|p|table|br|span)\b/i;function zp(e){return Ci.test(e)}function Xp(e){return Mi(e,!1)}function qp(e){return Mi(e,!0)}function Mi(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const s of kp){const a=e.search(s);a>=0&&a<n&&(n=a)}const r=e.slice(0,n);let o=bn(Tn(Sn(r,t)));return o||(o=bn(Tn(Sn(e,t)))),Rp(o)||o}exports.ACTIVE_ASSIGNMENT_STATUSES=Fs;exports.ACTIVITY_CATALOG=L;exports.AI_ATTACHMENT_LIMITS=ei;exports.AI_ATTACHMENT_MAX_PER_TURN=jd;exports.AI_ATTACHMENT_TURN_BUDGET=Hd;exports.AI_CAPABILITIES=ke;exports.AI_TOOL_PROVIDER_GROUP=Vd;exports.AI_VENDORS=yt;exports.ALLOWED_LINK_SCHEMES=Kn;exports.APP_PERMISSIONS=Ff;exports.ARTICLE_SCOPE_KIND=Qa;exports.ARTIFACT_MAX_BLOCKS=ge;exports.ARTIFACT_MAX_BODY_BYTES=Un;exports.ARTIFACT_MAX_CELL_LEN=F;exports.ARTIFACT_MAX_KPI_ITEMS=_e;exports.ARTIFACT_MAX_LIST_ITEMS=he;exports.ARTIFACT_MAX_TABLE_COLUMNS=Ee;exports.ARTIFACT_MAX_TABLE_ROWS=ye;exports.ARTIFACT_MAX_TEXT_LEN=Ne;exports.ASSIGNMENT_SCOPE_KIND=Wn;exports.ASSIST_BANDS=qd;exports.ASSIST_SOURCE_PROVIDER_GROUP=Xd;exports.ATTENTION_STATUSES=gr;exports.AT_RISK_GAP=vo;exports.AUTH_APP_NAME=Ft;exports.AUTO_READY_MIN_PROPOSALS=so;exports.AUTO_READY_RATE=ao;exports.ActivityTypeRegistry=kn;exports.BUILT_IN_ONLY=Yi;exports.BULK_PENALTY=hr;exports.BUSINESS_ENTITY_LIST_SERVICE=zs;exports.CADENCE_FLOOR_MS=yi;exports.CADENCE_MIN_NEW_SEGMENTS=Ei;exports.CADENCE_MIN_NOVELTY=_i;exports.CADENCE_WINDOW_MS=hi;exports.CLASSIFY_VARS=al;exports.CLEARABLE_FIELDS=$u;exports.CONNECTOR_PROVIDER_GROUP=Af;exports.CONTEXT_COLLECT_SERVICE=Tf;exports.CORE_DIMENSIONS=hs;exports.CRM_ACTIVITY_SCOPE_KIND=ya;exports.CRM_CALL_CHANNELS=_a;exports.CRM_CALL_LOGGED=nr;exports.CRM_CALL_OUTCOMES=Sa;exports.CRM_NOTE_ADDED=tr;exports.CRM_STAGE_CHANGED=Ea;exports.CUSTOM_RESOLUTION_PREFIX=Ya;exports.CommunicationScheme=ii;exports.DAY_MS=cr;exports.DEFAULT_CHECK_IN_DAYS=Io;exports.DEFAULT_FORECAST_WEEKS=Hr;exports.DEFAULT_MEMORY_BUDGET=dc;exports.DEFAULT_NUMBER_PADDING=Zu;exports.DEFAULT_PHONE_REGION=Ii;exports.DEFAULT_QUOTE_TEMPLATE_BLOCKS=Yu;exports.DEFAULT_TEMPLATE_CONDITIONS=Wu;exports.DEMAND_SOURCE_PROVIDER_GROUP=Ic;exports.DOCUMENT_APPLY_SERVICE=Lf;exports.DOCUMENT_DESCRIBE_SERVICE=wf;exports.DOCUMENT_INSPECT_SERVICE=Df;exports.DOCUMENT_MAX_BLOCKS=ge;exports.DOCUMENT_MAX_BODY_BYTES=Un;exports.DOCUMENT_MAX_CELL_LEN=F;exports.DOCUMENT_MAX_KPI_ITEMS=_e;exports.DOCUMENT_MAX_LETTERHEAD_FIELDS=tt;exports.DOCUMENT_MAX_LIST_ITEMS=he;exports.DOCUMENT_MAX_RECIPIENT_LINES=$n;exports.DOCUMENT_MAX_TABLE_COLUMNS=Ee;exports.DOCUMENT_MAX_TABLE_ROWS=ye;exports.DOCUMENT_MAX_TEXT_LEN=Ne;exports.DOCUMENT_MAX_TOTALS_ROWS=nt;exports.DOCUMENT_OPERATIONS=Ut;exports.DRAFT_FIELDS=Pu;exports.DUTCH_SLOT_LABELS=Uo;exports.EMPTY_WORKFLOW=ul;exports.ENABLED_TRANSACTION_KINDS=Lt;exports.FEATURE_MESSAGE_REACTIONS=_f;exports.FEATURE_REMOTE_SEARCH=Ef;exports.FIXED_KINDS=we;exports.FIXED_LEVELS=te;exports.FIXED_TYPES=$e;exports.FIXED_UNITS=sa;exports.FOLLOW_UP_HOURS=yr;exports.FROZEN_WRITABLE_FIELDS=xu;exports.HOUR_MS=ar;exports.HTML_BODY_RE=Ci;exports.INELIGIBLE=P;exports.INSTALLATION_HEADER=Pf;exports.INTERACTION_KIND=to;exports.InteractionParticipantRole=hf;exports.KB_FALLBACK_LOCALE=kr;exports.KB_LOCALES=Se;exports.LEAD_STATUSES=da;exports.LIFECYCLE_STAGES=ua;exports.LOCALES=Se;exports.LOOSE_STATUSES=Ue;exports.MAIL_HINT_HEADERS=pr;exports.MANUAL_PRICE_SOURCE=Qn;exports.MAX_ACTIONS=se;exports.MAX_ASSIGNMENT_TURNS=Vn;exports.MAX_BLOCKS=Xe;exports.MAX_CHOICE_OPTIONS=Qe;exports.MAX_COLLECTION_DEPTH=bt;exports.MAX_DELEGATION_DEPTH=Yn;exports.MAX_EDITABLE_FILE_BYTES=ip;exports.MAX_FIELDS=oe;exports.MAX_LIST_ITEMS=ie;exports.MAX_MEMORY_BROWSE=ac;exports.MAX_MEMORY_BUDGET=uc;exports.MAX_MEMORY_CHARS=cc;exports.MAX_RULE_DEPTH=dt;exports.MAX_SCORE_LEVELS=Ze;exports.MAX_SHOWN_KEYS=bi;exports.MAX_TOPIC_CANDIDATES=Ro;exports.MAX_TOPIC_EXAMPLES=No;exports.MAX_TOPIC_EXAMPLE_CHARS=ue;exports.MAX_VIEWABLE_FILE_BYTES=sp;exports.MIN_MEMORY_BUDGET=lc;exports.MIN_SCORE_LEVELS=Je;exports.MODEL_TIERS=B;exports.NAV_NOTICE_SLOT=yp;exports.NL_PAYMENT_TERMS=id;exports.NL_TAX_RATES=pc;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=Uf;exports.OFF_TRACK_GAP=Co;exports.ONBOARDING_SOURCE_PROVIDER_GROUP=gc;exports.PAUSE_HOLD=Oe;exports.PAUSE_SNOOZED=be;exports.PAUSE_WAITING_FOR_CUSTOMER=Ie;exports.PAYMENT_TERM_METHODS=nd;exports.PHONE_REGIONS=Ke;exports.PLAYBOOK_RUN_APPROVAL_ACT=zc;exports.PLAYBOOK_RUN_SCOPE_KIND=qr;exports.PRESENCE_ONLINE_WINDOW_MS=Kt;exports.PRESENCE_SURVIVES_OFFLINE=si;exports.PRODUCT_SCOPE_KIND=Bo;exports.PROFILE_TOOL_DISPOSITIONS=yc;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=gf;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=mf;exports.PUBLIC_EMAIL_DOMAINS=vi;exports.READ_STEP_TYPES=rt;exports.RELATED_SUBJECT_KINDS=Rr;exports.REPORT_VIEW_LAYOUTS=gs;exports.RESERVED_STATUS_KEYS=Pt;exports.RESERVED_TYPE_KEYS=pd;exports.RESOURCE_ATTACHED_SERVICE=zf;exports.RESOURCE_DESCRIBE_SERVICE=Wf;exports.RESOURCE_RESOLVE_SERVICE=Yf;exports.RESOURCE_SEARCH_SERVICE=Vf;exports.SCHEDULE_ENTRY_SCOPE_KIND=jr;exports.SCHEDULE_EVENT=po;exports.SCOPE_ACTS_ROUTE=Jf;exports.SCOPE_READ_ROUTE=Qf;exports.SCOPE_RELATED_ROUTE=qf;exports.SEGMENT_FILTER_KEYS=pa;exports.SEGMENT_LAYOUTS=ga;exports.SEGMENT_LIST_FILTERS=Zn;exports.SEGMENT_PRESENCE_FILTERS=er;exports.SEGMENT_SORT_FIELDS=ma;exports.SETTINGS_BASE_PATH=J;exports.SETTINGS_CATEGORIES=hp;exports.SIGNATURE_INTENTS=aa;exports.SLA_METRICS=Yl;exports.SLA_PAUSE_REASONS=zl;exports.STATUS_NAMES=Du;exports.STEP_MAX_TOKENS_MAX=oo;exports.STEP_MAX_TOKENS_MIN=ro;exports.STEP_TYPES=ll;exports.STRATEGY_ITEM_SCOPE_KIND=To;exports.SUMMARY_MIN_LAST_CHARS=fr;exports.SUMMARY_MIN_MESSAGES=dr;exports.SYNC_RUN_MAX_ERRORS=cp;exports.SYNC_TARGET_PROVIDER_GROUP=ap;exports.SYSTEM_ONE_NON_GOALS=is;exports.SYSTEM_RESOLUTIONS=Or;exports.TERMINAL_ASSIGNMENT_STATUSES=jn;exports.TERMINAL_RUN_STATUSES=co;exports.TRANSACTION_KINDS=Pe;exports.TRANSACTION_SCOPE_KINDS=Fo;exports.TRIGGER_VARS=il;exports.UNARY_OPS=Ml;exports.UNKNOWN_KIND=Lr;exports.UNKNOWN_LEVEL_ORDER=bo;exports.UNSUPPORTED=Sf;exports.UNWORKED_RESOLUTIONS=Va;exports.USAGE_DIMENSIONS=Dn;exports.USAGE_DIMENSION_IDS=Ln;exports.UnresolvedRefError=Rt;exports.WEBHOOK_EVENTS=Ho;exports.WORKSTREAM_SCOPE_KIND=Wr;exports.WORK_ACTIVITY_SCOPE_KIND=Vo;exports.WORK_AREAS=hc;exports.WORK_COMMENT_ADDED=cd;exports.WORK_CYCLE_SYNC_KIND=Ed;exports.WORK_ITEM_ASSIGNED=ld;exports.WORK_ITEM_SCOPE_KIND=jo;exports.WORK_ITEM_STATUS_CHANGED=ud;exports.WORK_PROJECT_SCOPE_KIND=Wo;exports.WORK_SORT_FIELDS=Pd;exports.WORK_VIEW_FLAGS=xd;exports.WORK_VIEW_LAYOUTS=$d;exports.WORK_VIEW_LIST_FILTERS=Ld;exports.W_PRIORITY=q;exports.acceptExampleCandidate=Nu;exports.actingIdentityKey=zr;exports.activeWorkTypes=Mu;exports.activityIconOf=Di;exports.activityJoinUrl=Hi;exports.activitySnippet=Cn;exports.activityTextParams=Mn;exports.activityTimelineText=Gi;exports.activityTimestamp=Nn;exports.activityTypeInfo=O;exports.actorKey=Yc;exports.addExampleCandidate=ku;exports.addWorkingMs=De;exports.agePresenceEntry=Gf;exports.aiAttachmentKind=Zo;exports.aiAttachmentRejection=Wd;exports.aiBudgetLimit=et;exports.aiBudgetPeriodKey=fs;exports.aiBudgetPeriodStart=wn;exports.aiBudgetState=ds;exports.aiVendorAcceptsAttachment=us;exports.aiVendorDefaultModel=as;exports.aiVendorLabel=ss;exports.aiVendorNeedsBaseUrl=ls;exports.aiVendorsWith=cs;exports.allocate=Xn;exports.appNameFromPath=Bt;exports.applyApprovalDecision=ks;exports.applyRounding=bu;exports.applySignature=ca;exports.approvalRate=io;exports.artifactBodyBytes=Gn;exports.artifactOutline=Hn;exports.artifactToMarkdown=_t;exports.assignmentMismatch=Zc;exports.assignmentScopeKey=Gs;exports.assignmentSubject=Ws;exports.availabilityByPerson=bc;exports.belongsOnCalendar=Ec;exports.belongsToEntity=Xs;exports.billableTimeGroups=Au;exports.bindParams=Ol;exports.bindValue=Ae;exports.buildActivityPreview=Wi;exports.buildChannelIntents=of;exports.buildShareKeys=$s;exports.buildWindow=Ti;exports.businessEntitySender=ir;exports.calendarDaysBetween=xr;exports.calendarOf=Le;exports.canConvert=Uu;exports.canNestUnder=ec;exports.canParent=cu;exports.canTransition=Lu;exports.capabilityDefaultFlag=Qi;exports.capacityTotal=Ac;exports.capacityWeights=Hc;exports.carriesText=Ui;exports.categoryLabel=nc;exports.categoryOf=Xo;exports.causedBy=Ll;exports.channelKindForScheme=pf;exports.channelKindOf=Li;exports.checkInOverdueMs=_u;exports.clampStepMaxTokens=cl;exports.classifyMail=Ua;exports.cleanMessageMarkdown=qp;exports.cleanMessageText=Xp;exports.codeQuery=Zs;exports.codedMessage=lf;exports.compareAssistRank=Jd;exports.compareWorkTypes=ko;exports.conditionHolds=or;exports.contactName=fa;exports.copyFrom=$o;exports.countsAsPlanned=V;exports.coverageByPerson=Tc;exports.coverageFor=Nc;exports.coversWorkstream=Ot;exports.crmActivityAt=Ta;exports.cronMatches=fo;exports.currentPeriod=td;exports.cycleDayIndex=vt;exports.cycleOrder=wd;exports.cycleState=Dd;exports.decideAssignmentState=Vs;exports.decideCadence=gp;exports.decideEach=Os;exports.decideIncomingCall=tf;exports.decisionBand=os;exports.defaultLocaleOf=Nr;exports.defaultStatusKey=vd;exports.defaultTemplateBlocks=Ko;exports.defineIntent=yf;exports.delegationRefusal=Ys;exports.depthOf=Cr;exports.derivePresence=Bf;exports.describeClause=Ts;exports.describeExpression=Rl;exports.disabledIntentsFromCapabilities=nf;exports.documentBodyBytes=Gn;exports.documentKindOf=xf;exports.documentOutline=Hn;exports.documentToMarkdown=_t;exports.documentToText=Rf;exports.driftedFields=go;exports.dueAtOf=nu;exports.dueDateFrom=rd;exports.elapsedSeconds=Tu;exports.emailDomain=Ip;exports.emptyConditionLeaf=kl;exports.endpointKey=Mp;exports.entityOwnerIds=qs;exports.erlangC=$r;exports.extractParams=ui;exports.extractTerms=Si;exports.failureLines=ka;exports.fieldVarPath=Kl;exports.fillDocument=Ca;exports.fillText=rr;exports.filterByEndpoint=af;exports.filterByIntent=sf;exports.filterByTargetScheme=oi;exports.filterableDimensions=As;exports.findAiVendor=Z;exports.findEvent=Fl;exports.fixedLevelForName=uu;exports.fixedTypeForName=hd;exports.fixedTypes=yd;exports.flattenLocales=$f;exports.floorToPeriod=j;exports.forecastIntervals=Kc;exports.formatActingIdentity=Yr;exports.formatCents=x;exports.formatClock=Ou;exports.formatHm=Iu;exports.formatItemKey=Sd;exports.formatPeriod=H;exports.formatSeriesNumber=ed;exports.formatSlaDuration=iu;exports.freshSources=zd;exports.getActivitySeenUserIds=zi;exports.getContactEndpoints=la;exports.getShortTitle=Wa;exports.getUrgencyScore=ja;exports.hasReacted=Al;exports.healthCategory=du;exports.healthsInCategory=fu;exports.heightOf=It;exports.helpCenterText=qa;exports.humanizeAction=rl;exports.interactionIdOf=no;exports.isAgentUser=sd;exports.isAssigned=Ga;exports.isAssignmentTerminal=Bs;exports.isAssignmentTrigger=Jr;exports.isAssistantMode=ps;exports.isAuthoredCrmActivity=Aa;exports.isAutoReady=ml;exports.isAutonomy=el;exports.isAwaitingThem=Ir;exports.isChatMessageActivity=qi;exports.isClosed=Ha;exports.isConnectedType=Fi;exports.isDeepLink=Zf;exports.isDescendant=Mr;exports.isEligible=Ra;exports.isEmailActivity=Xi;exports.isFrozen=Po;exports.isHeldClock=tu;exports.isHtmlBody=zp;exports.isInFlight=hl;exports.isInteractionUnseen=mr;exports.isLandingPath=tp;exports.isLikelyBulk=ur;exports.isMessageShape=gt;exports.isMessageType=xi;exports.isMoreSpecificPattern=fi;exports.isNoteShape=ht;exports.isOpenClock=Ao;exports.isOutwardTool=$t;exports.isParked=_r;exports.isPaused=lo;exports.isPlaybookAuthoredType=Ki;exports.isPublicEmailDomain=vp;exports.isPublicPath=op;exports.isReminderActive=Sr;exports.isReplyableType=$i;exports.isSettingsPath=ci;exports.isSlaAtRisk=Fa;exports.isSupportedCron=Dl;exports.isTerminal=gl;exports.isThreadLongEnough=La;exports.isTranscriptType=Bi;exports.isWebhookEvent=ad;exports.isWorkClosed=Cd;exports.isWorkTypeVisible=Cu;exports.isWriteTool=Gt;exports.itemDossierKeys=bd;exports.judgeRuleCase=xl;exports.kindFor=w;exports.ladderFor=zo;exports.levelIn=Oo;exports.levelOrder=Ce;exports.lineNet=Dr;exports.linkLabel=Xa;exports.listedTransactionKinds=wu;exports.listeningAllowed=ms;exports.localeInstruction=Za;exports.localeName=Ja;exports.localesOf=tc;exports.looksLikeEmail=Tp;exports.lookup=Tt;exports.marginCents=na;exports.markdownToDocument=Nf;exports.matchApprovalPolicy=Cs;exports.matchContactToIntents=cf;exports.matchPublicRoute=pi;exports.matchRules=mo;exports.mcpCredentialScope=ic;exports.mcpToolPrefix=sc;exports.measureRatio=mu;exports.mergeDefaultFlags=Zi;exports.mergeShownKeys=mp;exports.messageCountsAs=vn;exports.metricOption=bs;exports.minutesOn=Ct;exports.missingFieldPaths=Bl;exports.modelAcceptsAttachment=ts;exports.mustAsk=mi;exports.narrowAutonomy=nl;exports.needsPhoneRegion=Cp;exports.nestsUnderParent=Pi;exports.nextLevelBelow=lu;exports.nextOccurrenceDates=Fd;exports.nextSlaClock=ru;exports.nextStatuses=xo;exports.nextVersion=Ku;exports.normalizeArtifactBlocks=Bn;exports.normalizeBlocks=Ni;exports.normalizeDocumentBlocks=Bn;exports.normalizeEmail=Ht;exports.normalizeExample=$;exports.normalizeGtin=zn;exports.notificationPrefKey=Kf;exports.novelty=Ai;exports.operationDescriptor=Mf;exports.operationsForKind=Cf;exports.opsForFieldType=Ul;exports.organizationSender=Ma;exports.outcomeOf=Rd;exports.overlapSeconds=ce;exports.overlaps=kc;exports.paceRatio=gu;exports.parkMarksById=wa;exports.parse=uo;exports.parseActingIdentity=Wc;exports.parseAmount=ea;exports.parseClockMinutes=Wl;exports.parseCodedMessage=df;exports.parseCron=wt;exports.parseItemKey=Ad;exports.parseRecurrence=Kd;exports.pathToRegex=li;exports.patternFor=kt;exports.patternStartTime=Mt;exports.pauseBitFor=Vl;exports.pendingApprovers=Ms;exports.periodsInRange=_s;exports.phoneSuffix=bp;exports.pickMailHeaders=xa;exports.pickTemplate=Ia;exports.placeLumps=jc;exports.plainTextFromMarkdown=In;exports.planSlaEvent=eu;exports.plannedBillable=Rc;exports.plannedWorkTypeKey=Gr;exports.procedureOf=fl;exports.productHref=qu;exports.productScopeKey=zu;exports.projectDossierKeys=Id;exports.proposalRequestIds=vs;exports.publicBasePathFor=di;exports.publicRoutePatterns=rp;exports.reactionWakesAssignment=js;exports.readDefaultFlags=Ji;exports.readPath=pe;exports.readStepError=ae;exports.recencyOf=Er;exports.recipientLocale=ba;exports.refKey=eo;exports.registrableDomain=Oi;exports.rejectExampleCandidate=Do;exports.relatedByDefault=fc;exports.remainingMsOf=ve;exports.repriceLines=ia;exports.requiredAgents=Fr;exports.requirementFor=Br;exports.resolutionsFor=za;exports.resolveAccountCapabilities=ri;exports.resolveActivityText=me;exports.resolveAutonomy=tl;exports.resolveChannelIntents=ni;exports.resolvePrice=qn;exports.resolveRoute=ns;exports.resolveSignature=Jn;exports.resolveTier=Rn;exports.resolveWorkMode=Hf;exports.resourceKindOf=Xf;exports.rollupChildren=Eu;exports.roundHalfUp=W;exports.runActor=Vc;exports.runApprovalKey=Xc;exports.runEvalSuite=Na;exports.runIdOfApprovalRef=qc;exports.runInteractionId=El;exports.runKind=pl;exports.runOutcome=$l;exports.sanitizeInline=Fn;exports.sanitizeTranscript=gi;exports.scheduleEntryScopeKey=Fc;exports.scoreInteraction=Ba;exports.scoreWorkItem=fd;exports.segmentIsEmpty=ha;exports.selectLenses=oc;exports.serialize=le;exports.serviceLevel=Ur;exports.sessionsHoldCannotReach=ef;exports.sessionsToHold=Zd;exports.settingsPath=ep;exports.shadowByKey=Qs;exports.shareKeyForTeam=At;exports.shareKeyForUser=St;exports.shareKeysForViewer=Us;exports.shortfalls=wc;exports.shouldRunAudioPipeline=jf;exports.slaBadgeTone=ou;exports.slaHoursByInbox=Ka;exports.slaHoursFor=br;exports.sortStatuses=qo;exports.sourceKey=ti;exports.spreadOverWeights=Vr;exports.statusIn=Od;exports.statusRequiresApproval=Nd;exports.stepDate=Jo;exports.stepsOf=dl;exports.strategyAncestorKeysFor=au;exports.strategyDossierKeys=su;exports.strategyItemScopeKey=Dt;exports.stripHtml=On;exports.subjectKeyOf=yl;exports.subjectOf=Nt;exports.subjectRef=Qd;exports.suggestProjectKey=Td;exports.suggestedHealth=hu;exports.summariseEval=sr;exports.summarizeReactions=_l;exports.targetById=Jc;exports.targetForActivityType=Qc;exports.targetOrder=Su;exports.taxRateFor=wr;exports.termsFor=Pr;exports.toActingIdentity=Xr;exports.toE164=mt;exports.toTransactionTerm=od;exports.toolBareName=Zr;exports.toolDisplayName=ol;exports.toolReversible=Yd;exports.toolSourceKinds=Ks;exports.toolVerdict=up;exports.topicOfferedForTeam=Lo;exports.topicsForTeam=Ru;exports.trafficIntensity=Kr;exports.transactionContext=Fu;exports.transactionDossierKeys=Ju;exports.transactionHref=Xu;exports.transactionIdFromScope=Qu;exports.transactionKind=C;exports.transactionScopeKey=Go;exports.transactionSlots=Bu;exports.transactionTotals=mc;exports.triggerFillsVar=sl;exports.truncateExample=wo;exports.typeIn=gd;exports.typesFor=md;exports.uniqueWorkStatusKey=Md;exports.uniqueWorkTypeKey=vu;exports.usageMetricId=xn;exports.usageMetrics=Is;exports.validateQuestions=rs;exports.validateStatuses=kd;exports.valueAtPath=Qr;exports.waitHoursOf=Re;exports.wakesAssignment=Hs;exports.workActivityScopeKey=_d;exports.workItemScopeKey=Yo;exports.workProjectScopeKey=xt;exports.workRatio=yu;exports.workStatusKey=Qo;exports.workTypeKey=Mo;exports.workingMsBetween=Te;exports.workstreamScopeKey=Bc;