@opencxh/domain 1.281.0 → 1.282.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/entities/analytics/dashboard.d.ts +16 -1
- package/dist/entities/analytics/metric.d.ts +12 -0
- package/dist/index.cjs +15 -15
- package/dist/index.js +595 -594
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ze=10,re=10,oe=10,ie=5,vi=new Set(["header","section","context","divider","image","list","actions","attachments"]);function Ue(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 Ci(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=ze){t(`more than ${ze} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!vi.has(o.type)){t(`unknown block type ${String(o.type)}`);continue}switch(o.type){case"header":if(!Ue(o.text)){t("a header without text");continue}break;case"context":if(!Ue(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>re&&(t(`more than ${re} fields in a section`),o.fields=o.fields.slice(0,re));break;case"list":if(!Array.isArray(o.items)||o.items.length===0){t("a list without items");continue}o.items.length>oe&&(t(`more than ${oe} list items`),o.items=o.items.slice(0,oe));break;case"actions":{const i=Array.isArray(o.elements)?o.elements:[],s=i.filter(a=>a?.action_id&&a.invoke&&Ue(a.text));if(s.length!==i.length&&t("an action without action_id, invoke or text"),s.length===0)continue;s.length>ie&&t(`more than ${ie} actions`),o.elements=s.slice(0,ie);break}}n.push(o)}return n}const Mi=/(\*\*|__)(?=\S)([\s\S]*?\S)\1/g,ki=/(\*|_)(?=\S)([^*_\n]*?\S)\1/g;function Tn(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(Mi,"$2"),t=t.replace(ki,"$2"),t=t.replace(/~~(?=\S)([\s\S]*?\S)~~/g,"$1"),t=t.replace(/`([^`\n]+)`/g,"$1"),t.replace(/\s+/g," ").trim()}function In(e){return e.replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function te(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 jt(e){return e?` — ${Math.floor(e/60)}m ${e%60}s`:""}function Fe(e){return e?.split("@")?.[0]||e||""}function ne(e){return e.map(t=>t.name).join(", ")}function Wt(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 — ${Fe(e.payload.from)}`:`Outbound call started — ${Fe(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?` (${te(e.payload.duration)})`:""}`,timeline:e=>`Call ended${jt(e.payload.duration)}`},VOICE_CALL_MISSED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gemiste oproep",timeline:e=>`Missed call — ${Fe(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?` (${te(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:Vt},EMAIL_SENT:{shape:"message",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:Vt},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=>`${ne(e.payload.members)} toegevoegd`,timeline:e=>{const t=ne(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=>`${ne(e.payload.members)} verlaten`,timeline:e=>{const t=ne(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=>`${Wt(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?` (${te(e.payload.duration)})`:""}`,timeline:e=>`${Wt(e.payload.callType)} ended${jt(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?` (${te(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 Vt(e){const t=e.payload,n=Tn(t.bodyText).trim()||t.bodySnippet?.trim()||In(t.body??"");return t.subject?`${t.subject} — ${n}`:n}function O(e){return L[e]}function Ni(e){return O(e)?.icon??"circle"}function Ri(e){return O(e)?.channelKind}function mt(e){return e==="message"||e==="note"}function wi(e){return mt(O(e)?.shape)}function gt(e){return e==="note"}function Di(e){return gt(O(e)?.shape)}function Li(e){return O(e)?.replyable===!0}function xi(e){return O(e)?.carriesText===!0}function On(e){return O(e)?.countsAs}function Pi(e){return O(e)?.playbookAuthored===!0}function $i(e){return O(e)?.connected===!0}function Ki(e){const t=O(e);return t?.shape==="artifact"&&t?.carriesText===!0}function vn(e){const t=O(e.type)?.snippet;return t?t(e):""}function Ui(e,t){const n=O(e.type)?.timeline;return n?n(e,t):e.type.replace(/_/g," ").toLowerCase()}function Fi(e){const t=O(e.type)?.joinUrl;return t?t(e):void 0}function fe(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 pe(e,t,n){if(e===void 0)return null;if(typeof e=="string")return e||null;if("value"in e)return fe(t,e.value)||null;const r={};for(const[i,s]of Object.entries(e.params??{}))r[i]=fe(t,s);const o=n(e.key,r);return o===e.key?null:o}function Cn(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]=fe(t,o);return{key:e.key,params:n}}const Yt=140;function Bi(e){const t=e.trim();return t.length<=Yt?t:`${t.slice(0,Yt-1).trimEnd()}…`}function Gi(e,t){const n=Cn(t?.text,e),r=t?pe(t.text,e,o=>o):null;return{activityId:e.id,type:e.type,snippet:Bi(r??vn(e)),authorName:e.author?.name??"",direction:e.direction,createdAt:e.createdAt??Date.now(),...n?{snippetKey:n.key,snippetParams:n.params}:{}}}const Hi=e=>e;function zt(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 Xt(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 Mn{constructor(t=[],n=Hi){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 zt(t);const n=this.declared.get(t);return n?Xt(n):void 0}triggerable(){const t=Object.keys(L).filter(r=>L[r].triggerable).map(zt),n=[...this.declared.values()].map(Xt).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 pe(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 pe(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 mt(this.get(t)?.shape)}nestsUnderParent(t){return gt(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 ji=new Mn;function Wi(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 kn(e){return e.createdAt??0}function Vi(e){return e.type==="EMAIL_RECEIVED"||e.type==="EMAIL_SENT"}function Yi(e){return e.type==="CHAT_MESSAGE_SENT"||e.type==="CHAT_MESSAGE_RECEIVED"}const Me=[{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 zi(e){return Me.find(t=>t.id===e)?.defaultFlag}function Xi(e){const t={};for(const n of Me)t[n.defaultFlag]=e?.[n.defaultFlag]===!0;return t}function qi(e,t){const n={};for(const r of Me){const o=r.defaultFlag;n[o]=(e?.[o]??t?.[o])===!0}return n}const Qi={image:"image",pdf:"file",text:"text",audio:"audio",video:"video"};function Ji(e,t){if(t==="text")return!0;if(!e?.in?.length)return;const n=Qi[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]},Xe=e=>B.indexOf(e);function Nn(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&&Xe(n)>Xe(e.maxTier)&&(n=e.maxTier,t.push(`plafond van de rol: ${e.maxTier}`)),{tier:n,reasons:t}}function Zi(e,t,n){const r=Nn(t);if(!e)return{...r,...n,routed:!1};for(let o=Xe(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,Qe=2,Je=10;function es(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<Qe||o>Je)return`vraag "${n}" heeft ${o} niveaus; het moeten er ${Qe} tot ${Je} zijn`}}return null}function ts(e,t=.9,n=.6){return Number.isFinite(e)?e>=t?"act":e>=n?"check":"refuse":"refuse"}const ns=["counting or arithmetic","comparing dates or durations","judging whether two numbers are close","generating text"],ht=[{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 J(e){return ht.find(t=>t.id===e)}function rs(e){return J(e)?.label??e}function os(e,t="gpt-5-mini"){return J(e)?.defaultModel??t}function is(e){return ht.filter(t=>t.capabilities.includes(e))}function ss(e){const t=J(e);return!!t&&!t.baseUrl}function as(e,t){return t==="text"?!0:J(e)?.attachmentKinds?.includes(t)===!0}function cs(e,t){if(!e.enabled)return"ok";const n=Ze(e.hardLimitNanos),r=Ze(e.softLimitNanos);return n!==void 0&&t>=n?"hard":r!==void 0&&t>=r?"soft":"ok"}function Ze(e){return typeof e=="number"?e:void 0}function Rn(e,t="month"){const n=new Date(e);return Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)}function ls(e,t="month"){const n=new Date(Rn(e,t));return`${n.getUTCFullYear()}-${String(n.getUTCMonth()+1).padStart(2,"0")}`}function us(e){return e==="ask"||e==="draft"||e==="agent"}function ds(e){return e?.listeningEnabled!==!1}const fs=[{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 Be(e){return e<10?`0${e}`:`${e}`}function H(e,t){const n=new Date(e),r=`${n.getUTCFullYear()}-${Be(n.getUTCMonth()+1)}-${Be(n.getUTCDate())}`;return t==="day"?r:`${r}T${Be(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 ps=36e5,ms=864e5;function gs(e,t,n){const r=n==="hour"?ps:ms,o=[];for(let i=j(e,n);i<=t;i+=r)o.push(H(i,n));return o}const hs=new Set(["time"]);function ys(e,t,n){if(!e)return[];const r=new Set(e.supportedDimensions??[]);return t.filter(o=>r.has(o.id)&&!hs.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 Es(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 _s(e){return{value:e.id,label:`${e.category} · ${e.label}`}}const wn=[{id:"resource",label:"Resource",labelSource:"raw"},{id:"origin",label:"Herkomst",labelSource:"raw"}],Dn=wn.map(e=>e.id);function Ln(e,t){return`${e}.usage.${t}`}function As(e,t){return t.map(n=>({id:Ln(e,n.unit),label:n.label,category:"Verbruik",valueType:n.valueType??"count",aggregation:"sum",supportedDimensions:["provider",...Dn,...n.extraDimensions??[],"time"]}))}async function Ss(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 bs(e){return e.approvalRequestIds?.length?[...e.approvalRequestIds]:e.approvalRequestId?[e.approvalRequestId]:[]}function Ts(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 Is(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 Os(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 xn=new Set(["info","success","warning","destructive"]),me=200,ge=100,he=200,ye=12,Ee=4,et=10,Pn=8,tt=12,ke=4e3,F=500,$n=1024*1024,vs=new Set(["heading","paragraph","list","quote","code","divider","table","kpi","callout","image","letterhead","totals","pagebreak"]),Kn=["http:","https:","mailto:","tel:"],Cs=/^[a-z][a-z0-9+.-]*:/i;function yt(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=Cs.exec(t)?.[0];return n?Kn.includes(n.toLowerCase()):!t.startsWith("//")}const Ms=/^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;function ks(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=Qt(e,o,"[","]");if(i<0||e[i+1]!=="("){t+=e[n],n+=1;continue}const s=Qt(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||!yt(l)?a:e.slice(n,s+1),n=s+1}return t}function Qt(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 Un(e){return ks(e).replace(Ms,(t,n,r)=>yt(r)?t:"")}function I(e,t=ke){return typeof e=="string"?Un(e).slice(0,t):""}function Ns(e,t=ke){return typeof e=="string"?e.slice(0,t):""}function Y(e,t=200){return I(e,t)}function Rs(e,t="info"){return typeof e=="string"&&xn.has(e)?e:t}function Fn(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=me){t(`more than ${me} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!vs.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=Ns(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>=ge){t(`more than ${ge} 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>=ye){t(`more than ${ye} 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>=he){t(`more than ${he} 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>=Ee){t(`more than ${Ee} 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"&&xn.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||!yt(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>=et){t(`more than ${et} 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,Pn).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>=tt){t(`more than ${tt} 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:Rs(o.tone),...a?{title:a}:{},text:s});break}}}return n}function Bn(e){return JSON.stringify(e).length}function Gn(e){return{blocks:e.length,types:e.map(t=>t.type),headings:e.flatMap(t=>t.type==="heading"?[t.text]:[])}}function Jt(e){return e.replace(/\|/g,"\\|").replace(/\r?\n/g," ").trim()}function Ge(e,t,n){const r=e.map((o,i)=>n?.[i]==="right"?"---:":"---");return[`| ${e.map(Jt).join(" | ")} |`,`| ${r.join(" | ")} |`,...t.map(o=>`| ${o.map(Jt).join(" | ")} |`)]}function ws(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=Ge(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 Ge(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=``;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 Ge(["",""],[...e.rows,...e.taxRows??[]].map(t=>[t.emphasis?`**${t.label}**`:t.label,t.emphasis?`**${t.amount}**`:t.amount]),["left","right"]);case"pagebreak":return["---"]}}function Et(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=ws(o);i.length>0&&n.push(i.join(`
|
|
3
|
+
`),t=t.replace(Mi,"$2"),t=t.replace(ki,"$2"),t=t.replace(/~~(?=\S)([\s\S]*?\S)~~/g,"$1"),t=t.replace(/`([^`\n]+)`/g,"$1"),t.replace(/\s+/g," ").trim()}function In(e){return e.replace(/<style[\s\S]*?<\/style>/gi," ").replace(/<script[\s\S]*?<\/script>/gi," ").replace(/<[^>]+>/g," ").replace(/ /g," ").replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/\s+/g," ").trim()}function te(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 jt(e){return e?` — ${Math.floor(e/60)}m ${e%60}s`:""}function Fe(e){return e?.split("@")?.[0]||e||""}function ne(e){return e.map(t=>t.name).join(", ")}function Wt(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 — ${Fe(e.payload.from)}`:`Outbound call started — ${Fe(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?` (${te(e.payload.duration)})`:""}`,timeline:e=>`Call ended${jt(e.payload.duration)}`},VOICE_CALL_MISSED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gemiste oproep",timeline:e=>`Missed call — ${Fe(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?` (${te(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:Vt},EMAIL_SENT:{shape:"message",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:Vt},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=>`${ne(e.payload.members)} toegevoegd`,timeline:e=>{const t=ne(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=>`${ne(e.payload.members)} verlaten`,timeline:e=>{const t=ne(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=>`${Wt(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?` (${te(e.payload.duration)})`:""}`,timeline:e=>`${Wt(e.payload.callType)} ended${jt(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?` (${te(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 Vt(e){const t=e.payload,n=Tn(t.bodyText).trim()||t.bodySnippet?.trim()||In(t.body??"");return t.subject?`${t.subject} — ${n}`:n}function O(e){return L[e]}function Ni(e){return O(e)?.icon??"circle"}function Ri(e){return O(e)?.channelKind}function mt(e){return e==="message"||e==="note"}function wi(e){return mt(O(e)?.shape)}function gt(e){return e==="note"}function Di(e){return gt(O(e)?.shape)}function Li(e){return O(e)?.replyable===!0}function xi(e){return O(e)?.carriesText===!0}function On(e){return O(e)?.countsAs}function Pi(e){return O(e)?.playbookAuthored===!0}function $i(e){return O(e)?.connected===!0}function Ki(e){const t=O(e);return t?.shape==="artifact"&&t?.carriesText===!0}function vn(e){const t=O(e.type)?.snippet;return t?t(e):""}function Ui(e,t){const n=O(e.type)?.timeline;return n?n(e,t):e.type.replace(/_/g," ").toLowerCase()}function Fi(e){const t=O(e.type)?.joinUrl;return t?t(e):void 0}function fe(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 pe(e,t,n){if(e===void 0)return null;if(typeof e=="string")return e||null;if("value"in e)return fe(t,e.value)||null;const r={};for(const[i,s]of Object.entries(e.params??{}))r[i]=fe(t,s);const o=n(e.key,r);return o===e.key?null:o}function Cn(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]=fe(t,o);return{key:e.key,params:n}}const Yt=140;function Bi(e){const t=e.trim();return t.length<=Yt?t:`${t.slice(0,Yt-1).trimEnd()}…`}function Gi(e,t){const n=Cn(t?.text,e),r=t?pe(t.text,e,o=>o):null;return{activityId:e.id,type:e.type,snippet:Bi(r??vn(e)),authorName:e.author?.name??"",direction:e.direction,createdAt:e.createdAt??Date.now(),...n?{snippetKey:n.key,snippetParams:n.params}:{}}}const Hi=e=>e;function zt(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 Xt(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 Mn{constructor(t=[],n=Hi){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 zt(t);const n=this.declared.get(t);return n?Xt(n):void 0}triggerable(){const t=Object.keys(L).filter(r=>L[r].triggerable).map(zt),n=[...this.declared.values()].map(Xt).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 pe(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 pe(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 mt(this.get(t)?.shape)}nestsUnderParent(t){return gt(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 ji=new Mn;function Wi(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 kn(e){return e.createdAt??0}function Vi(e){return e.type==="EMAIL_RECEIVED"||e.type==="EMAIL_SENT"}function Yi(e){return e.type==="CHAT_MESSAGE_SENT"||e.type==="CHAT_MESSAGE_RECEIVED"}const Me=[{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 zi(e){return Me.find(t=>t.id===e)?.defaultFlag}function Xi(e){const t={};for(const n of Me)t[n.defaultFlag]=e?.[n.defaultFlag]===!0;return t}function qi(e,t){const n={};for(const r of Me){const o=r.defaultFlag;n[o]=(e?.[o]??t?.[o])===!0}return n}const Qi={image:"image",pdf:"file",text:"text",audio:"audio",video:"video"};function Ji(e,t){if(t==="text")return!0;if(!e?.in?.length)return;const n=Qi[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]},Xe=e=>B.indexOf(e);function Nn(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&&Xe(n)>Xe(e.maxTier)&&(n=e.maxTier,t.push(`plafond van de rol: ${e.maxTier}`)),{tier:n,reasons:t}}function Zi(e,t,n){const r=Nn(t);if(!e)return{...r,...n,routed:!1};for(let o=Xe(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,Qe=2,Je=10;function es(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<Qe||o>Je)return`vraag "${n}" heeft ${o} niveaus; het moeten er ${Qe} tot ${Je} zijn`}}return null}function ts(e,t=.9,n=.6){return Number.isFinite(e)?e>=t?"act":e>=n?"check":"refuse":"refuse"}const ns=["counting or arithmetic","comparing dates or durations","judging whether two numbers are close","generating text"],ht=[{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 J(e){return ht.find(t=>t.id===e)}function rs(e){return J(e)?.label??e}function os(e,t="gpt-5-mini"){return J(e)?.defaultModel??t}function is(e){return ht.filter(t=>t.capabilities.includes(e))}function ss(e){const t=J(e);return!!t&&!t.baseUrl}function as(e,t){return t==="text"?!0:J(e)?.attachmentKinds?.includes(t)===!0}function cs(e,t){if(!e.enabled)return"ok";const n=Ze(e.hardLimitNanos),r=Ze(e.softLimitNanos);return n!==void 0&&t>=n?"hard":r!==void 0&&t>=r?"soft":"ok"}function Ze(e){return typeof e=="number"?e:void 0}function Rn(e,t="month"){const n=new Date(e);return Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)}function ls(e,t="month"){const n=new Date(Rn(e,t));return`${n.getUTCFullYear()}-${String(n.getUTCMonth()+1).padStart(2,"0")}`}function us(e){return e==="ask"||e==="draft"||e==="agent"}function ds(e){return e?.listeningEnabled!==!1}const fs=["report"],ps=[{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 Be(e){return e<10?`0${e}`:`${e}`}function H(e,t){const n=new Date(e),r=`${n.getUTCFullYear()}-${Be(n.getUTCMonth()+1)}-${Be(n.getUTCDate())}`;return t==="day"?r:`${r}T${Be(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 ms=36e5,gs=864e5;function hs(e,t,n){const r=n==="hour"?ms:gs,o=[];for(let i=j(e,n);i<=t;i+=r)o.push(H(i,n));return o}const ys=new Set(["time"]);function Es(e,t,n){if(!e)return[];const r=new Set(e.supportedDimensions??[]);return t.filter(o=>r.has(o.id)&&!ys.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 _s(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 As(e){return{value:e.id,label:`${e.category} · ${e.label}`}}const wn=[{id:"resource",label:"Resource",labelSource:"raw"},{id:"origin",label:"Herkomst",labelSource:"raw"}],Dn=wn.map(e=>e.id);function Ln(e,t){return`${e}.usage.${t}`}function Ss(e,t){return t.map(n=>({id:Ln(e,n.unit),label:n.label,category:"Verbruik",valueType:n.valueType??"count",aggregation:"sum",supportedDimensions:["provider",...Dn,...n.extraDimensions??[],"time"]}))}async function bs(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 Ts(e){return e.approvalRequestIds?.length?[...e.approvalRequestIds]:e.approvalRequestId?[e.approvalRequestId]:[]}function Is(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 Os(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 vs(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 xn=new Set(["info","success","warning","destructive"]),me=200,ge=100,he=200,ye=12,Ee=4,et=10,Pn=8,tt=12,ke=4e3,F=500,$n=1024*1024,Cs=new Set(["heading","paragraph","list","quote","code","divider","table","kpi","callout","image","letterhead","totals","pagebreak"]),Kn=["http:","https:","mailto:","tel:"],Ms=/^[a-z][a-z0-9+.-]*:/i;function yt(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=Ms.exec(t)?.[0];return n?Kn.includes(n.toLowerCase()):!t.startsWith("//")}const ks=/^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;function Ns(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=Qt(e,o,"[","]");if(i<0||e[i+1]!=="("){t+=e[n],n+=1;continue}const s=Qt(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||!yt(l)?a:e.slice(n,s+1),n=s+1}return t}function Qt(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 Un(e){return Ns(e).replace(ks,(t,n,r)=>yt(r)?t:"")}function I(e,t=ke){return typeof e=="string"?Un(e).slice(0,t):""}function Rs(e,t=ke){return typeof e=="string"?e.slice(0,t):""}function Y(e,t=200){return I(e,t)}function ws(e,t="info"){return typeof e=="string"&&xn.has(e)?e:t}function Fn(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=me){t(`more than ${me} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!Cs.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=Rs(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>=ge){t(`more than ${ge} 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>=ye){t(`more than ${ye} 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>=he){t(`more than ${he} 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>=Ee){t(`more than ${Ee} 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"&&xn.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||!yt(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>=et){t(`more than ${et} 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,Pn).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>=tt){t(`more than ${tt} 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:ws(o.tone),...a?{title:a}:{},text:s});break}}}return n}function Bn(e){return JSON.stringify(e).length}function Gn(e){return{blocks:e.length,types:e.map(t=>t.type),headings:e.flatMap(t=>t.type==="heading"?[t.text]:[])}}function Jt(e){return e.replace(/\|/g,"\\|").replace(/\r?\n/g," ").trim()}function Ge(e,t,n){const r=e.map((o,i)=>n?.[i]==="right"?"---:":"---");return[`| ${e.map(Jt).join(" | ")} |`,`| ${r.join(" | ")} |`,...t.map(o=>`| ${o.map(Jt).join(" | ")} |`)]}function Ds(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=Ge(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 Ge(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=``;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 Ge(["",""],[...e.rows,...e.taxRows??[]].map(t=>[t.emphasis?`**${t.label}**`:t.label,t.emphasis?`**${t.amount}**`:t.amount]),["left","right"]);case"pagebreak":return["---"]}}function Et(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=Ds(o);i.length>0&&n.push(i.join(`
|
|
4
4
|
`))}return`${n.join(`
|
|
5
5
|
|
|
6
6
|
`)}
|
|
7
|
-
`}const _t=e=>`user:${e}`,At=e=>`team:${e}`;function
|
|
7
|
+
`}const _t=e=>`user:${e}`,At=e=>`team:${e}`;function Ls(e){const t=new Set;for(const n of e??[])n?.id&&(n.kind==="user"&&t.add(_t(n.id)),n.kind==="team"&&t.add(At(n.id)));return[...t].sort()}function xs(e,t){return[_t(e),...t.map(At)]}function Ps(e){const t=new Set;for(const n of e??[])n?.kind&&t.add(n.kind);return[...t]}const Hn=["done","escalated"],$s=["open","waiting"];function Ks(e){return Hn.includes(e)}const jn="assignment";function Us(e){return`${jn}:${e}`}function Fs(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 Bs(e){const{targetAuthorId:t,reactorId:n,agentId:r,on:o}=e;return!o||!t||t!==r?!1:n!==r}function Gs(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}const Wn=12;function Hs(e,t,n=Wn){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 Vn=2;function js(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>=Vn?`er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet`:null}const Ws="organization.business-entities.list";function Vs(e,t,n){return e?e===t:n}function Ys(e){return e.isDefault===!0?[e.id,""]:[e.id]}function zs(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 Yn(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 Xs(n.slice(0,13))===Number(n[13])?n:void 0}function Xs(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 qs(e,t){const n=t.trim(),r=Yn(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 zn(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 Qs(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(!Js(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 Js(e){return/^\d+$/.test(e)?!0:e.includes(".")&&e.includes(",")?!1:/^\d{1,3}([.,]\d{3})*$/.test(e)}function Zs(e){return e.costPriceCents==null?e.netCents:e.netCents-W(e.costPriceCents*e.quantity)}const ea=[{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 Xn(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 ea){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:ta(s,e.listPriceCents),sourceKey:(s.minQuantity??0)>1?"tier":o.key,ruleId:s.id}}return{unitPriceCents:e.listPriceCents,sourceKey:"list"}}function ta(e,t){return e.unitPriceCents!=null?e.unitPriceCents:e.discountPercent!=null?W(t*(1-e.discountPercent/100)):t}const qn="manual";function na(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=Xn(i,{...r,quantity:o.quantity},n);return s.unitPriceCents===o.unitPriceCents&&s.sourceKey===o.priceSourceKey?o:{...o,unitPriceCents:s.unitPriceCents,priceSourceKey:s.sourceKey}})}const ra=["piece","hour","day","month","km","license"],oa=new Set(["mail","message"]);function Qn(e,t){const n=e.settings?.signatures?.[t];return!n?.enabled||!n.body||n.body.trim()===""?null:n}function ia(e,t,n,r="html"){if(!e)return n;const o=Qn(e,t);return o?`${n}${r==="text"?`
|
|
8
8
|
|
|
9
|
-
`:t==="mail"?"<br><br>-- <br>":"<br><br>"}${o.body}`:n}function ia(e){return e.endpoints??[]}const sa=["lead","opportunity","customer","former"],aa=["new","working","unqualified"];function ca(e){return[e.firstName,e.lastName].filter(Boolean).join(" ").trim()}const Jn=["stages","leadStatuses","sources","scopes","cities","parentCompanyIds"],Zn=["openDeal","hasContacts"],la={contact:["stages","leadStatuses","sources","scopes","cities","openDeal"],company:["stages","sources","scopes","cities","parentCompanyIds","hasContacts"]},ua=["updatedAt","createdAt","name"],da=["list"];function fa(e){return e.search?.trim()||e.createdWithinDays||Zn.some(t=>e[t])||Jn.some(t=>e[t]?.length)?!1:!Object.values(e.fields??{}).some(t=>t.length)}const er="CRM_NOTE_ADDED",pa="crm_activity",tr="CRM_CALL_LOGGED",ma="CRM_STAGE_CHANGED",ga=["phone","meeting","video"],ha=["callback","interested","no_answer","not_interested"],ya=e=>e===er||e===tr,Ea=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 _a(e){return K(e.contactLocale)??K(e.companyLocale)??K(e.organizationLocale)}function Aa(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 Sa=/\{([a-zA-Z0-9_.]+)\}/g;function St(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}function ba(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function nr(e,t,n){const r=[];return{text:e.replace(Sa,(i,s)=>{const a=St(t,s);return a==null||a===""?(r.includes(s)||r.push(s),n??`{${s}}`):ba(a)}),unresolved:r}}function rr(e,t){if(!e)return!0;const n=St(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 Ta(e,t,n,r,o){const i=[],s=[],a=new Set,l=c=>{const d=nr(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&&!rr(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 or(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 Ia(e){return or({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 ir(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 Oa(e){return e.perCase.filter(t=>!t.ok).map(t=>`${t.caseId}: ${t.note??"onverwacht resultaat"}`)}async function va(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 ir(e,t,i,o)}const sr=36e5,ar=864e5,P=-1/0,Ca=e=>e.score>P,q={urgent:40,high:25,normal:10,low:0};function Ma(e){return Object.fromEntries(e.map(t=>[t.resourceId,t]))}const ka=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,cr=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function lr(e,t){return!!(e&&ka.test(e)||t&&cr.test(t))}const ur=3,dr=600;function Na(e,t){return e>=ur||t>=dr}const fr=["list-unsubscribe","list-unsubscribe-post","list-id","precedence","auto-submitted","x-auto-response-suppress","feedback-id","x-mailer"];function Ra(e){const t={};for(const n of e){const r=n.name?.toLowerCase();r&&n.value!==void 0&&fr.includes(r)&&(t[r]=n.value)}return t}const wa=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i,Da=/(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;function La(e){const t=e.headers??{},n=e.from?.email,r=t["auto-submitted"]?.toLowerCase();if(r&&r!=="no"||t["x-auto-response-suppress"]||n&&wa.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&&cr.test(e.body)||n&&Da.test(n))return"marketing"}function pr(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const mr=["open"],gr=1e3,hr=72;function yr(e){return e.lastActivityAt??(e.createdAt?new Date(kn(e)).getTime():0)}function Er(e,t){return _r(t.remindersById?.[e.id],e,t.now)}function _r(e,t,n){return!e||e.remindAt<=n?!1:!((t.lastActivityAt??0)>e.parkedAt&&t.lastActivityPreview?.direction==="inbound")}const Ar=e=>On(e)==="outbound_message",Sr=e=>mr.includes(e);function Ne(e,t){return Math.max(0,(t-yr(e))/sr)}function br(e,t){const n=e.assignedInboxId?t?.[e.assignedInboxId]:void 0;return typeof n=="number"&&n>0?n:void 0}function xa(e){const t={};for(const n of e)typeof n.slaHours=="number"&&n.slaHours>0&&(t[n.id]=n.slaHours);return t}function Pa(e,t,n){if(!Sr(e.status)||e.firstResponseAt)return!1;const r=br(e,n);return r!==void 0&&Ne(e,t)>r}function Tr(e,t){const n=e.lastActivityPreview;return n?.direction!=="outbound"||!Ar(n.type)?!1:Ne(e,t)<hr}function $a(e,t){if(!Sr(e.status))return{score:P,reasons:[]};if(e.snoozedTill&&e.snoozedTill>t.now)return{score:P,reasons:[]};if(Tr(e,t.now))return{score:P,reasons:[]};if(Er(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}`)),pr(e,t.userId)&&(n+=20,r.push("unseen")),e.assignedUserId&&e.assignedUserId===t.userId&&(n+=15,r.push("assigned-to-you"));const i=Ne(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")||lr(e.remoteParty?.resource,e.lastActivityPreview?.snippet))&&(n-=gr,r.push("bulk")),{score:n,reasons:r}}const Ka=e=>!!e.assignedUserId||!!e.assignedInboxId,Ua=e=>e.status==="closed",Fa=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,Ba=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`;function Ga(e,t){const n=e.labels??[];return n.find(r=>r.locale===t)?.label??n[0]?.label??e.url}function Ha(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 ja="article",_e=[{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 Ir(e){const t=(e??"").toLowerCase();return _e.find(n=>n.code===t)??_e.find(n=>n.code===t.split("-")[0])}function Wa(e){return Ir(e)?.label??e}function Va(e){const t=Ir(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const bt=3;function Or(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 Ya(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&&vr(e,t,r))return!1;const o=Or(e,r),i=t?Tt(t,n):1;return o+i<=bt}function vr(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 Tt(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=>Tt(o.id,t,n))):1}const Cr="en";function Mr(e){return e.defaultLocale||e.locale||Cr}function za(e){const t=new Set,n=[];for(const r of[Mr(e),...e.locales??[]])!r||t.has(r)||(t.add(r),n.push(r));return n}function Xa(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 nt=["lookup","condition","parallel","for-each"];function se(e){for(const t of e){if(!nt.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${nt.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const r=se(n);if(r)return r}if(t.type==="for-each"){const n=se(t.body??[]);if(n)return n}if(t.type==="condition"){const n=se(t.else??[]);if(n)return n}}return null}function qa(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 Qa(e,t){return e.filter(n=>n.enabled&&qa(n.ownerScope,t))}function Ja(e){return e.credentialScope?e.credentialScope:(e.authMode??"header")==="header"||e.oauth?.scope==="org"?"shared":"per-user"}function Za(e){return`mcp__${e}__`}const ec=1e3,tc=2e3,nc=500,rc=12e3,oc=4e3,kr=["contact","company","work_item"];function ic(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return kr.includes(t)}const sc=[{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 Nr(e,t){return t.find(n=>n.key===e)??{key:e,label:e,percent:0,kind:"zero"}}function Rr(e){if(e.kind!=="product")return 0;const t=1-(e.discountPercent??0)/100;return W(e.quantity*e.unitPriceCents*t)}function ac(e,t,n){const r=e.map(c=>({...c,netCents:Rr(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=Nr(c,t),f=d.reduce((m,b)=>m+r[b].netCents,0),p=W(f*u.percent/100),y=zn(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 cc="onboarding-source",lc=["support","billing","availability","sales","onboarding"],uc=["keep","replace"],Re=[{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"}],wr={key:"unknown",label:"kind_unknown",capacity:!1,productive:!1,absent:!1};function w(e,t=Re){return t.find(n=>n.key===e)??{...wr,key:e}}function V(e){return e==="published"||e==="approved"}function It(e,t,n=Re){if(e.workstreamId!==t)return!1;const r=w(e.kindKey,n);return r.absent?!1:r.productive||r.capacity}function dc(e,t=Re){if(!e.userId||!V(e.status))return!1;const n=w(e.kindKey,t);return n.capacity||n.productive||n.absent}const fc=864e5;function Dr(e,t){return Math.round((t-e)/fc)}function Ot(e,t){const n=e.cycleMinutes.length;return n===0?0:(Dr(e.anchor,t)%n+n)%n}function vt(e,t){return e.effectiveFrom!==void 0&&t<e.effectiveFrom?0:e.cycleMinutes[Ot(e,t)]??0}function Ct(e,t){return e.startTimes?.[Ot(e,t)]}function Mt(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 Lr(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 rt=864e5;function pc(e){const t=Math.max(1,Math.round((e.to-e.from)/rt));return Array.from({length:t},(n,r)=>e.from+r*rt)}function ot(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}const Zt={interval:0,day:1,week:2};function mc(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=>{Zt[u]>Zt[c]&&(c=u)};for(const u of a){const f=t.teamIdsOf?.(u)??[];let p=0,y=0,m=0;for(const g of pc(e)){const S=Math.max(g,e.from),D=Math.min(g+rt,e.to);m++;const N=i.filter(v=>v.userId===u).reduce((v,Ht)=>v+ot(Ht.start,Ht.end,S,D),0);if(N>0){p+=N;continue}const M=Mt(r,u,f,g),R=M?vt(M,g):0;if(M&&R>0){p+=R*60,d(Ct(M,g)?"interval":"day");continue}M||y++}if(y>0){const g=Lr(o,u,e.from);g&&(p+=g.weeklyMinutes*60*(y/7),d("week"))}const b=s.filter(g=>g.userId===u).reduce((g,S)=>g+ot(S.start,S.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 gc(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 hc(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=ot(d.start,d.end,n.from,n.to);u<=0||(It(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 yc="demand-source",en=1e3;function Ec(e,t){let n=1;for(let r=1;r<=e;r++)n=t*n/(r+t*n);return n}function xr(e,t){if(e<=0)return 1;if(t<=0)return 0;if(e<=t)return 1;const n=Ec(e,t),r=t/e;return n/(1-r*(1-n))}function Pr(e,t,n,r){return r<=0?1:e<=t?0:1-xr(e,t)*Math.exp(-(e-t)*n/r)}function $r(e,t,n){return n<=0?0:e*t/n}function Kr(e,t,n,r){if(e<=0||t<=0)return 0;const o=$r(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<=en;a++)if(!(a<=o)&&!(Pr(a,o,r.targetSeconds,t)<i)&&!(s&&o/a>s))return a;return en}const _c=36e5,Ac=864e5;function Sc(e){return e==="day"?Ac:_c}function bc(e,t){return e.start<t.end&&t.start<e.end}function ae(e,t,n){const r=Math.min(e.end,n)-Math.max(e.start,t);return r>0?r/1e3:0}function Ur(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=Kr(e.volume,r,n,t);return{seconds:o,headcount:a*s}}return{seconds:o,headcount:o/n*s}}function Tc(e){const{entries:t,workstreamId:n,staffing:r,demand:o,range:i}=e,s=e.grain??"hour",a=Sc(s),l=a/1e3,c=e.kinds,d=t.filter(m=>V(m.status)),u=d.filter(m=>It(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+=ae(v,m,b);let S=0;for(const v of f)S+=ae(v,m,b);let D=0;for(const v of p)D+=ae(v,m,b);const N=o?.[h]??{},M=Ur(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:S,absentSeconds:D})}return y}function Fr(e,t){return e.workTypeKey??t?.defaultWorkTypeKey}function Ic(e,t,n){const r=Fr(e,t);return r?n.find(o=>o.key===r)?.defaultBillable??!1:!1}function Oc(e){return e.filter(t=>t.netHeadcount<0&&t.requiredHeadcount>0)}const vc=36e5,it=6048e5,Br=8,Cc=.5,Mc=2;function kc(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 Nc(e,t,n){const r=[];for(let i=0;i<n;i++){const s=t-i*it,a=s-it;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(Mc,Math.max(Cc,r[0]/o))}function Rc(e,t){if(!e?.length)return;let n;for(const r of e)t>=r.from&&t<r.to&&(n=r);return n}function wc(e,t,n){const r=Math.max(1,n?.weeks??Br),o=new Map,i=new Set;for(const l of e)o.set(kc(l.period),l.value),i.add(l.period.slice(0,10));const s=Nc(o,j(t.from,"hour"),r),a=[];for(let l=j(t.from,"hour");l<t.to;l+=vc){let c=0,d=0;for(let p=1;p<=r;p++){const y=l-p*it,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=Rc(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 Gr="schedule_entry",Hr="workstream";function Dc(e){return`${Gr}:${e}`}function Lc(e){return`${Hr}:${e}`}const st=36e5,G=864e5;function xc(e,t){const n=t==="day"?G:st,r=[];for(let o=j(e.from,t);o<e.to;o+=n)r.push(o);return r}function tn(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 He(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}function Pc(e,t,n={}){const r=n.grain??"hour",o=xc(t,r),i=r==="day"?G:st,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=He(u.start,u.end,f,f+i);p>0&&s.set(f,(s.get(f)??0)+p)}for(const f of tn(t))He(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 tn(t)){if(c.has(`${u}:${p}`))continue;const y=Mt(n.patterns,u,f,p);if(!y)continue;const m=vt(y,p);if(m<=0)continue;const b=Ct(y,p);if(b){const[S,D]=b.split(":").map(Number),N=p+S*st+(D??0)*6e4,M=N+m*6e4;for(const R of o){const v=He(N,M,R,R+i);v>0&&s.set(R,(s.get(R)??0)+v)}continue}const h=o.filter(S=>S>=p&&S<p+G);if(!h.length)continue;const g=m*60/h.length;for(const S of h)s.set(S,(s.get(S)??0)+g)}}return o.map(u=>({period:H(u,r),weight:s.get(u)??0}))}function jr(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 $c(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 jr(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 Wr(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Kc(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 Vr(e){return Wr(e)}function Yr(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 Uc(e){return e.agentId?{kind:"user",userId:e.agentId}:Yr(e.ownerScope)}function Fc(e){return Vr(e)}const zr="playbook-run",Bc="run";function Gc(e,t=0){return`${zr}:${e}~${t}`}function Hc(e){const t=e.indexOf("~");return t<0?e:e.slice(0,t)}function Xr(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 jc(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function Wc(e,t){if(t)return e.targets.find(n=>n.id===t)}function qr(e){return e?.kind==="assignment"}function Vc(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 at=["suggest","outward","auto"];function Yc(e){return typeof e=="string"&&at.includes(e)}function zc(e){const t=e.playbook?.autonomy??e.agent?.autonomy??"suggest";return e.demoted&&t==="auto"?"outward":t}function Xc(e,t){const n=e??"suggest";return t&&at.indexOf(t)<at.indexOf(n)?t:n}function qc(e){return e.replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}function Qr(e){const t=e.split("__");return t[t.length-1]||e}function Qc(e){const t=Qr(e).replace(/[_.]+/g," ").trim();return t?t.charAt(0).toUpperCase()+t.slice(1):e}const Jc=[{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 Zc(e,t){return!e.onlyFor||!t?.length?!0:t.some(n=>e.onlyFor?.includes(n))}const el={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 Jr(e){return`${e.type}:${e.id}`}const Zr="interaction";function eo(e){return e?.type===Zr?e.id:void 0}const to=64,no=8e3;function tl(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),to),no)}const nl=["condition","for-each","parallel","lookup","action","classify","generate","agent","wait-for-reply","wait-for-task"],rl={kind:"workflow",steps:[]};function ol(e){return e?.kind==="workflow"?e.steps:[]}function il(e){return e?.kind==="procedure"?e.procedure:void 0}function sl(e){return e.assignmentId?"assignment":e.decider?.kind==="procedure"?"procedure":"workflow"}function ro(e){const t=e?.approved??0,n=t+(e?.rejected??0);return{total:n,rate:n?t/n:0}}const oo=10,io=.9;function al(e){const{total:t,rate:n}=ro(e);return t>=oo&&n>=io}const so=["done","escalated","failed","stopped"];function cl(e){return so.includes(e)}function ao(e){return e==="waiting"}function ll(e){return e==="running"||ao(e)}function kt(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function ul(e){const t=kt(e);return t?Jr(t):void 0}function dl(e){return eo(kt(e))}function fl(e){const t=[],n=new Map;for(const r of[...e].sort(pl)){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 pl=(e,t)=>(e.createdAt??0)-(t.createdAt??0);function ml(e,t){return t?e.actors.some(n=>n.type==="user"&&n.id===t):!1}class Nt extends Error{constructor(t){super(t),this.name="UnresolvedRefError"}}const gl=/^\{\{\s*([\w.]+)\s*\}\}$/,hl=/\{\{\s*([\w.]+)\s*\}\}/g,yl=/\$[A-Za-z_][\w]*\.[\w.]+/;function El(e,t,n={}){return Ae(e,t,n)}function Ae(e,t,n={}){return typeof e=="string"?_l(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 _l(e,t,n){const r=n.onMissing==="throw";if(r){const i=e.match(yl);if(i)throw new Nt(`"${i[0]}" in ${n.where??"een waarde"} is de oude schrijfwijze; gebruik {{ ${i[0].slice(1)} }}.`)}const o=e.match(gl);if(o){const i=nn(t,o[1],e,n);return i===void 0&&!r?"":i}return e.replace(hl,(i,s)=>{const a=nn(t,s,i,n);return a==null?"":typeof a=="object"?JSON.stringify(a):String(a)})}function nn(e,t,n,r){const o=t.split(".")[0]??"";if(r.onMissing==="throw"&&!Object.hasOwn(e,o)){const i=Object.keys(e);throw new Nt(`onbekende verwijzing ${n} in ${r.where??"een waarde"}: "${o}" bestaat niet. Beschikbaar: ${i.length?i.join(", "):"(nog niets)"}`)}return Al(e,t)}function Al(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}const Sl=new Set(["filled","empty"]);function bl(){return{kind:"rule",op:"==",varPath:"",value:""}}const Tl=new Set(["==","!=",">","<",">=","<="]);function je(e){return!!e&&typeof e=="object"&&"var"in e&&typeof e.var=="string"}function rn(e){const t=typeof e;return t==="string"||t==="number"||t==="boolean"}function co(e){if(e===!0||e==null)return{kind:"group",op:"and",children:[]};if(e===!1)return null;const t=ct(e);return t?t.kind==="group"?t:{kind:"group",op:"and",children:[t]}:null}function ct(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=ct(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(je(o))return{kind:"rule",op:n==="!!"?"filled":"empty",varPath:o.var,value:""};if(n==="!!")return null;const i=ct(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!je(i)||!rn(o)?null:{kind:"rule",op:"in",varPath:i.var,value:o}}if(Tl.has(n)){if(!Array.isArray(r)||r.length!==2)return null;const[o,i]=r;return!je(o)||!rn(i)?null:{kind:"rule",op:n,varPath:o.var,value:i}}return null}function ce(e){return e.kind==="group"?e.children.length===0?!0:e.children.length===1?ce(e.children[0]):{[e.op]:e.children.map(ce)}:e.kind==="not"?{"!":ce(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 Il(e){const t=co(e);return t&<(t)||null}function lt(e){if(e.kind==="group"){const t=e.children.map(lt).filter(Boolean);return t.length===0?"":t.length===1?t[0]:t.join(e.op==="and"?" && ":" || ")}return e.kind==="not"?`!(${lt(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 We=[{min:0,max:59},{min:0,max:23},{min:1,max:31},{min:1,max:12},{min:0,max:7}];function Ol(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 Rt(e){const t=e.trim().split(/\s+/);if(t.length!==We.length)return null;const n=[];for(let l=0;l<We.length;l++){const c=We[l],d=t[l];if(!c||d===void 0)return null;const u=Ol(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 vl(e){return Rt(e)!==null}function lo(e,t){const n=Rt(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 uo="@schedule",ut=3;function fo(e,t,n){const r=[],o=e.depth??0;if(o>=ut)return{matched:[],skipped:t.map(a=>({ruleId:a.id,reason:`keten te diep (${o} van ${ut})`}))};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!==uo){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(!lo(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 Cl(e,t){return{causedByRule:t,depth:(e.depth??0)+1}}function Ml(e,t){const{event:n,rules:r}=e.input,{matched:o,skipped:i}=fo(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 kl(e,t){return e.wrote&&t in e.wrote?e.wrote[t]:t in e.params?e.params[t]:""}function po(e,t){return e.fields.filter(n=>t?.[n]!==void 0&&t[n]!==kl(e,n))}function Nl(e,t,n){return n?"undone":!t||!e.length?"unknown":e.some(r=>po(r,t).length)?"corrected":"kept"}function Rl(e){return e==="string[]"?["in"]:e==="boolean"?["==","!="]:e==="number"||e==="date"?["==","!=",">","<",">=","<="]:["==","!=","in","filled","empty"]}function wl(e){return`subject.${e.path}`}function Dl(e,t){return e.events.find(n=>n.name===t)}function Ll(e,t){return e.filter(n=>Xr(t,n.path)===void 0).map(n=>n.path)}const dt=6e4,xl=36e5,Q=864e5,mo=800;function on(e,t){const n=Date.UTC(e,t+1,0);return n-new Date(n).getUTCDay()*Q+xl}function Pl(e){const t=new Date(e).getUTCFullYear();return e>=on(t,2)&&e<on(t,9)}function go(e,t){const n=t.dst==="eu"&&Pl(e)?60:0;return(t.utcOffsetMinutes+n)*dt}function $l(e){return(e+3)%7+1}function ho(e,t){const n=go(e,t),r=e+n,o=Math.floor(r/Q);if(!t.days.includes($l(o)))return null;const i=o*Q;return{open:i+t.fromMinutes*dt-n,close:i+t.toMinutes*dt-n}}function yo(e,t){const n=go(e,t),r=e+n;return(Math.floor(r/Q)+1)*Q-n}function Se(e,t,n){if(t<=e)return 0;if(!n)return t-e;let r=0,o=e;for(let i=0;i<mo&&o<t;i++){const s=ho(o,n);if(s){const a=Math.max(o,s.open),l=Math.min(t,s.close);l>a&&(r+=l-a)}o=yo(o,n)}return r}function we(e,t,n){if(!n)return e+t;let r=t,o=e;for(let i=0;i<mo;i++){const s=ho(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=yo(o,n)}return e+t}function Kl(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,Te=2,Ie=4;function Ul(e){return e==="snoozed"?be:Te}function De(e){const t=e.calendar;return t&&Array.isArray(t.days)?t:null}const Fl=["speed_of_answer","first_response","next_response","resolution","close"],Bl=["snoozed","waiting_for_customer"],Gl=6e4,Eo=["speed_of_answer","first_response","next_response"],Hl=[...Eo,"resolution","close"];function Z(e){return e.state==="running"||e.state==="paused"}function jl(e,t){return Z(e)?{state:(e.state==="paused"?e.remainingMs>0:t<=e.dueAt)?"hit":"missed",settledAt:Math.max(t,e.startedAt)}:null}function sn(e){return Z(e)?{state:"void"}:null}function Wl(e,t,n,r){if(!Z(e)||(e.pauseBits&t)!==0)return null;const o=e.pauseBits|t;return e.state==="paused"?{pauseBits:o}:{pauseBits:o,state:"paused",remainingMs:Se(n,e.dueAt,r)}}function Vl(e,t,n,r){if(!Z(e)||(e.pauseBits&t)===0)return null;const o=e.pauseBits&~t;return o!==0?{pauseBits:o}:{pauseBits:o,state:"running",dueAt:we(n,e.remainingMs,r)}}function Yl({event:e,at:t,now:n,clocks:r,profile:o}){const i=De(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,jl(g,s))},u=h=>{for(const g of a)h.includes(g.metric)&&c(g,sn(g))},f=h=>{for(const g of a)c(g,Wl(g,h,s,i))},p=h=>{for(const g of a)c(g,Vl(g,h,s,i))},y=h=>a.reduce((g,S)=>S.metric===h?Math.max(g,S.attempt):g,0)+1,m=h=>a.some(g=>g.metric===h&&Z(g)),b=(h,g)=>{const S=o.targets.find(N=>N.metric===h);if(!S)return;const D=S.minutes*Gl;l.push({op:"start",metric:h,attempt:y(h),startedAt:g,targetMs:D,dueAt:we(g,D,i)})};switch(e){case"apply":{for(const h of a)h.profileId!==o.id&&c(h,sn(h));for(const h of o.targets){if(h.metric==="next_response")continue;a.some(S=>S.metric===h.metric&&S.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(Te);break}case"inbound":{p(Te),!m("first_response")&&!m("next_response")&&b("next_response",s);break}case"resolved":d("resolution");break;case"closed":d("close"),d("resolution"),u(Eo);break;case"reopened":m("resolution")||b("resolution",s),m("close")||b("close",s);break;case"snoozed":o.pauseOn.includes("snoozed")&&f(be);break;case"unsnoozed":p(be);break;case"hold":f(Ie);break;case"unhold":p(Ie);break;case"discarded":u(Hl);break}return l}function _o(e){return e.state==="running"||e.state==="paused"}function zl(e){return(e.pauseBits&Ie)!==0}function Oe(e,t){const n=De(e);return e.state==="paused"?e.remainingMs:t>=e.dueAt?-Se(e.dueAt,t,n):Se(t,e.dueAt,n)}function Xl(e,t){return e.state==="paused"?we(t,e.remainingMs,De(e)):e.dueAt}function ql(e,t){const n=e.filter(_o);if(!n.length)return;const r=n.filter(i=>i.state==="running");return(r.length?r:n).reduce((i,s)=>Oe(s,t)<Oe(i,t)?s:i)}function Ql(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=Oe(e,t);return n<=0?"breached":n<=e.targetMs/5?"urgent":"running"}function Jl(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 wt(e){return`${Ao}:${e}`}function Zl(e,t=25){const n=new Set([wt(e.id)]);for(const r of e.ancestorKeys??[])n.add(r);return Array.from(n).slice(0,t)}function eu(e){return e?[...e.ancestorKeys??[],wt(e.id)]:[]}const ee=[{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"}],So=999,bo=7;function To(e,t=ee){return t.find(n=>n.key===e)}function ve(e,t=ee){return To(e,t)?.order??So}function tu(e,t,n=ee){return ve(t,n)<=ve(e,n)}function nu(e,t=ee){const n=ve(e,t);return t.filter(o=>o.order>n).sort((o,i)=>o.order-i.order)[0]?.key??e}function ru(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 ft={pending:"open",on_track:"open",at_risk:"open",off_track:"open",paused:"paused",achieved:"closed",missed:"closed"};function ou(e){return ft[e]??"open"}function iu(e){return Object.keys(ft).filter(t=>e.includes(ft[t]))}const su=864e5,Le=e=>e<=0?0:e>1?1:e;function au(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)?Le((t-r)/s):i?1:0}function cu(e,t){const{startDate:n,targetDate:r}=e;if(!(typeof n!="number"||typeof r!="number")&&!(r<=n))return Le((t-n)/(r-n))}const Io=.1,Oo=.25;function lu(e,t){if(typeof e!="number"||typeof t!="number")return;if(e>=1)return"achieved";const n=t-e;return n>=Oo?"off_track":n>=Io?"at_risk":"on_track"}function uu(e,t){if(t)return Le(e/t)}function du(e){const t=e.map(n=>n.progress?.ratio).filter(n=>typeof n=="number"&&Number.isFinite(n));if(t.length)return Le(t.reduce((n,r)=>n+r,0)/t.length)}function fu(e,t){const n=e.lastCheckInAt??e.createdAt;if(typeof n!="number")return 0;const r=(e.checkInEveryDays??bo)*su,o=t-n-r;return o>0?o:0}function pu(e){return e.targetDate??Number.MAX_SAFE_INTEGER}function mu(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 gu(e,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function hu(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 yu(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function Eu(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 vo(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function _u(e,t){const n=vo(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 Au(e,t){const n=e.ownerScope;return!n||n.kind==="org"?!0:t.includes(n.teamId)}function Su(e){return e.filter(t=>!t.archived).sort(Co)}function Co(e,t){const n=(e.order??0)-(t.order??0);return n!==0?n:(e.label||"").localeCompare(t.label||"")}const Mo=20,ko=20,le=300;function $(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function No(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=le)return t;const n=t.slice(0,le),r=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return r>le*.6?n.slice(0,r+1):`${n.trimEnd()}…`}function bu(e,t){const n=No(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},an(s)}return an([{...t,text:n},...o]).slice(0,ko)}function an(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function Tu(e,t){const n=$(t),r=(e.examples??[]).filter(i=>i.trim());return{examples:r.some(i=>$(i)===n)?r:[...r,t].slice(-Mo),exampleCandidates:Ro(e,t)}}function Ro(e,t){const n=$(t);return(e.exampleCandidates??[]).filter(r=>$(r.text)!==n)}function wo(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function Iu(e,t){return e.filter(n=>wo(n,t))}const xe=[{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"}],Dt=["quote","order","invoice","credit_note"];function Ou(){const e=new Map;for(const t of xe)Dt.includes(t.key)&&(e.has(t.path)||e.set(t.path,t));return[...e.values()]}function C(e){return xe.find(t=>t.key===e)??{key:e,label:e,name:e,numbered:!1,signFlip:!1,statuses:["draft"],path:"quotes",issuedStatus:"draft",transitions:{},convertsTo:[]}}const vu={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 Do(e,t){return C(e).transitions[t]??[]}function Cu(e,t,n){return Do(e,t).includes(n)}function Lo(e){return e.issuedAt!=null}const Mu=["status","fileRef","number","externalIds","postedAt","dunning","updatedAt"],ku=["companyId","contactId","dealItemId","title","reference","currency","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo","paymentTerm","lines"],Nu=["contactId","dealItemId","title","reference","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo"];function Ru(e,t){if(!Dt.includes(t)||!C(e.kindKey).convertsTo.includes(t))return!1;const n=C(t);return!n.credits||n.credits===e.kindKey&&Lo(e)}function xo(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 wu(e){return{...xo(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 Du(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:Pu(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 Lu(e,t=[],n=Po){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,"","",""]:[xu(a.name,a.description,a.optional,n.optional),$u(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 Po={description:"Omschrijving",optional:"optioneel",quantity:"Aantal",unitPrice:"Stuksprijs",net:"Netto",tax:"Btw",gross:"Totaal"};function xu(e,t,n,r){const o=t?`${e} — ${t}`:e;return n?`${o} (${r})`:o}function Pu(e){return e?.street?[e.street,e.houseNumber].filter(Boolean).join(" "):""}function $u(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 $o(e){const t=C(e),n=t.key,r=t.numbered;return[{block_id:"head",type:"letterhead",fields:[...r?[{key:"number",label:Uu[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:cn[n]??cn.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:ln[n]??ln.quote}]}const Ku=e=>({note:{key:`${C(e).key}.note`,exists:!0},period:{key:`${C(e).key}.period_from`,exists:!0}}),Uu={invoice:{number:"Factuurnummer"},credit_note:{number:"Creditnotanummer"}},cn={quote:`Beste {customer.contact},
|
|
9
|
+
`:t==="mail"?"<br><br>-- <br>":"<br><br>"}${o.body}`:n}function sa(e){return e.endpoints??[]}const aa=["lead","opportunity","customer","former"],ca=["new","working","unqualified"];function la(e){return[e.firstName,e.lastName].filter(Boolean).join(" ").trim()}const Jn=["stages","leadStatuses","sources","scopes","cities","parentCompanyIds"],Zn=["openDeal","hasContacts"],ua={contact:["stages","leadStatuses","sources","scopes","cities","openDeal"],company:["stages","sources","scopes","cities","parentCompanyIds","hasContacts"]},da=["updatedAt","createdAt","name"],fa=["list"];function pa(e){return e.search?.trim()||e.createdWithinDays||Zn.some(t=>e[t])||Jn.some(t=>e[t]?.length)?!1:!Object.values(e.fields??{}).some(t=>t.length)}const er="CRM_NOTE_ADDED",ma="crm_activity",tr="CRM_CALL_LOGGED",ga="CRM_STAGE_CHANGED",ha=["phone","meeting","video"],ya=["callback","interested","no_answer","not_interested"],Ea=e=>e===er||e===tr,_a=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 Aa(e){return K(e.contactLocale)??K(e.companyLocale)??K(e.organizationLocale)}function Sa(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 ba=/\{([a-zA-Z0-9_.]+)\}/g;function St(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}function Ta(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function nr(e,t,n){const r=[];return{text:e.replace(ba,(i,s)=>{const a=St(t,s);return a==null||a===""?(r.includes(s)||r.push(s),n??`{${s}}`):Ta(a)}),unresolved:r}}function rr(e,t){if(!e)return!0;const n=St(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 Ia(e,t,n,r,o){const i=[],s=[],a=new Set,l=c=>{const d=nr(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&&!rr(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 or(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 Oa(e){return or({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 ir(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 va(e){return e.perCase.filter(t=>!t.ok).map(t=>`${t.caseId}: ${t.note??"onverwacht resultaat"}`)}async function Ca(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 ir(e,t,i,o)}const sr=36e5,ar=864e5,P=-1/0,Ma=e=>e.score>P,q={urgent:40,high:25,normal:10,low:0};function ka(e){return Object.fromEntries(e.map(t=>[t.resourceId,t]))}const Na=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,cr=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function lr(e,t){return!!(e&&Na.test(e)||t&&cr.test(t))}const ur=3,dr=600;function Ra(e,t){return e>=ur||t>=dr}const fr=["list-unsubscribe","list-unsubscribe-post","list-id","precedence","auto-submitted","x-auto-response-suppress","feedback-id","x-mailer"];function wa(e){const t={};for(const n of e){const r=n.name?.toLowerCase();r&&n.value!==void 0&&fr.includes(r)&&(t[r]=n.value)}return t}const Da=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i,La=/(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;function xa(e){const t=e.headers??{},n=e.from?.email,r=t["auto-submitted"]?.toLowerCase();if(r&&r!=="no"||t["x-auto-response-suppress"]||n&&Da.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&&cr.test(e.body)||n&&La.test(n))return"marketing"}function pr(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const mr=["open"],gr=1e3,hr=72;function yr(e){return e.lastActivityAt??(e.createdAt?new Date(kn(e)).getTime():0)}function Er(e,t){return _r(t.remindersById?.[e.id],e,t.now)}function _r(e,t,n){return!e||e.remindAt<=n?!1:!((t.lastActivityAt??0)>e.parkedAt&&t.lastActivityPreview?.direction==="inbound")}const Ar=e=>On(e)==="outbound_message",Sr=e=>mr.includes(e);function Ne(e,t){return Math.max(0,(t-yr(e))/sr)}function br(e,t){const n=e.assignedInboxId?t?.[e.assignedInboxId]:void 0;return typeof n=="number"&&n>0?n:void 0}function Pa(e){const t={};for(const n of e)typeof n.slaHours=="number"&&n.slaHours>0&&(t[n.id]=n.slaHours);return t}function $a(e,t,n){if(!Sr(e.status)||e.firstResponseAt)return!1;const r=br(e,n);return r!==void 0&&Ne(e,t)>r}function Tr(e,t){const n=e.lastActivityPreview;return n?.direction!=="outbound"||!Ar(n.type)?!1:Ne(e,t)<hr}function Ka(e,t){if(!Sr(e.status))return{score:P,reasons:[]};if(e.snoozedTill&&e.snoozedTill>t.now)return{score:P,reasons:[]};if(Tr(e,t.now))return{score:P,reasons:[]};if(Er(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}`)),pr(e,t.userId)&&(n+=20,r.push("unseen")),e.assignedUserId&&e.assignedUserId===t.userId&&(n+=15,r.push("assigned-to-you"));const i=Ne(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")||lr(e.remoteParty?.resource,e.lastActivityPreview?.snippet))&&(n-=gr,r.push("bulk")),{score:n,reasons:r}}const Ua=e=>!!e.assignedUserId||!!e.assignedInboxId,Fa=e=>e.status==="closed",Ba=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,Ga=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`;function Ha(e,t){const n=e.labels??[];return n.find(r=>r.locale===t)?.label??n[0]?.label??e.url}function ja(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 Wa="article",_e=[{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 Ir(e){const t=(e??"").toLowerCase();return _e.find(n=>n.code===t)??_e.find(n=>n.code===t.split("-")[0])}function Va(e){return Ir(e)?.label??e}function Ya(e){const t=Ir(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const bt=3;function Or(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 za(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&&vr(e,t,r))return!1;const o=Or(e,r),i=t?Tt(t,n):1;return o+i<=bt}function vr(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 Tt(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=>Tt(o.id,t,n))):1}const Cr="en";function Mr(e){return e.defaultLocale||e.locale||Cr}function Xa(e){const t=new Set,n=[];for(const r of[Mr(e),...e.locales??[]])!r||t.has(r)||(t.add(r),n.push(r));return n}function qa(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 nt=["lookup","condition","parallel","for-each"];function se(e){for(const t of e){if(!nt.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${nt.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const r=se(n);if(r)return r}if(t.type==="for-each"){const n=se(t.body??[]);if(n)return n}if(t.type==="condition"){const n=se(t.else??[]);if(n)return n}}return null}function Qa(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 Ja(e,t){return e.filter(n=>n.enabled&&Qa(n.ownerScope,t))}function Za(e){return e.credentialScope?e.credentialScope:(e.authMode??"header")==="header"||e.oauth?.scope==="org"?"shared":"per-user"}function ec(e){return`mcp__${e}__`}const tc=1e3,nc=2e3,rc=500,oc=12e3,ic=4e3,kr=["contact","company","work_item"];function sc(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return kr.includes(t)}const ac=[{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 Nr(e,t){return t.find(n=>n.key===e)??{key:e,label:e,percent:0,kind:"zero"}}function Rr(e){if(e.kind!=="product")return 0;const t=1-(e.discountPercent??0)/100;return W(e.quantity*e.unitPriceCents*t)}function cc(e,t,n){const r=e.map(c=>({...c,netCents:Rr(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=Nr(c,t),f=d.reduce((m,b)=>m+r[b].netCents,0),p=W(f*u.percent/100),y=zn(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 lc="onboarding-source",uc=["support","billing","availability","sales","onboarding"],dc=["keep","replace"],Re=[{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"}],wr={key:"unknown",label:"kind_unknown",capacity:!1,productive:!1,absent:!1};function w(e,t=Re){return t.find(n=>n.key===e)??{...wr,key:e}}function V(e){return e==="published"||e==="approved"}function It(e,t,n=Re){if(e.workstreamId!==t)return!1;const r=w(e.kindKey,n);return r.absent?!1:r.productive||r.capacity}function fc(e,t=Re){if(!e.userId||!V(e.status))return!1;const n=w(e.kindKey,t);return n.capacity||n.productive||n.absent}const pc=864e5;function Dr(e,t){return Math.round((t-e)/pc)}function Ot(e,t){const n=e.cycleMinutes.length;return n===0?0:(Dr(e.anchor,t)%n+n)%n}function vt(e,t){return e.effectiveFrom!==void 0&&t<e.effectiveFrom?0:e.cycleMinutes[Ot(e,t)]??0}function Ct(e,t){return e.startTimes?.[Ot(e,t)]}function Mt(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 Lr(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 rt=864e5;function mc(e){const t=Math.max(1,Math.round((e.to-e.from)/rt));return Array.from({length:t},(n,r)=>e.from+r*rt)}function ot(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}const Zt={interval:0,day:1,week:2};function gc(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=>{Zt[u]>Zt[c]&&(c=u)};for(const u of a){const f=t.teamIdsOf?.(u)??[];let p=0,y=0,m=0;for(const g of mc(e)){const S=Math.max(g,e.from),D=Math.min(g+rt,e.to);m++;const N=i.filter(v=>v.userId===u).reduce((v,Ht)=>v+ot(Ht.start,Ht.end,S,D),0);if(N>0){p+=N;continue}const M=Mt(r,u,f,g),R=M?vt(M,g):0;if(M&&R>0){p+=R*60,d(Ct(M,g)?"interval":"day");continue}M||y++}if(y>0){const g=Lr(o,u,e.from);g&&(p+=g.weeklyMinutes*60*(y/7),d("week"))}const b=s.filter(g=>g.userId===u).reduce((g,S)=>g+ot(S.start,S.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 hc(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 yc(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=ot(d.start,d.end,n.from,n.to);u<=0||(It(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 Ec="demand-source",en=1e3;function _c(e,t){let n=1;for(let r=1;r<=e;r++)n=t*n/(r+t*n);return n}function xr(e,t){if(e<=0)return 1;if(t<=0)return 0;if(e<=t)return 1;const n=_c(e,t),r=t/e;return n/(1-r*(1-n))}function Pr(e,t,n,r){return r<=0?1:e<=t?0:1-xr(e,t)*Math.exp(-(e-t)*n/r)}function $r(e,t,n){return n<=0?0:e*t/n}function Kr(e,t,n,r){if(e<=0||t<=0)return 0;const o=$r(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<=en;a++)if(!(a<=o)&&!(Pr(a,o,r.targetSeconds,t)<i)&&!(s&&o/a>s))return a;return en}const Ac=36e5,Sc=864e5;function bc(e){return e==="day"?Sc:Ac}function Tc(e,t){return e.start<t.end&&t.start<e.end}function ae(e,t,n){const r=Math.min(e.end,n)-Math.max(e.start,t);return r>0?r/1e3:0}function Ur(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=Kr(e.volume,r,n,t);return{seconds:o,headcount:a*s}}return{seconds:o,headcount:o/n*s}}function Ic(e){const{entries:t,workstreamId:n,staffing:r,demand:o,range:i}=e,s=e.grain??"hour",a=bc(s),l=a/1e3,c=e.kinds,d=t.filter(m=>V(m.status)),u=d.filter(m=>It(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+=ae(v,m,b);let S=0;for(const v of f)S+=ae(v,m,b);let D=0;for(const v of p)D+=ae(v,m,b);const N=o?.[h]??{},M=Ur(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:S,absentSeconds:D})}return y}function Fr(e,t){return e.workTypeKey??t?.defaultWorkTypeKey}function Oc(e,t,n){const r=Fr(e,t);return r?n.find(o=>o.key===r)?.defaultBillable??!1:!1}function vc(e){return e.filter(t=>t.netHeadcount<0&&t.requiredHeadcount>0)}const Cc=36e5,it=6048e5,Br=8,Mc=.5,kc=2;function Nc(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 Rc(e,t,n){const r=[];for(let i=0;i<n;i++){const s=t-i*it,a=s-it;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(kc,Math.max(Mc,r[0]/o))}function wc(e,t){if(!e?.length)return;let n;for(const r of e)t>=r.from&&t<r.to&&(n=r);return n}function Dc(e,t,n){const r=Math.max(1,n?.weeks??Br),o=new Map,i=new Set;for(const l of e)o.set(Nc(l.period),l.value),i.add(l.period.slice(0,10));const s=Rc(o,j(t.from,"hour"),r),a=[];for(let l=j(t.from,"hour");l<t.to;l+=Cc){let c=0,d=0;for(let p=1;p<=r;p++){const y=l-p*it,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=wc(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 Gr="schedule_entry",Hr="workstream";function Lc(e){return`${Gr}:${e}`}function xc(e){return`${Hr}:${e}`}const st=36e5,G=864e5;function Pc(e,t){const n=t==="day"?G:st,r=[];for(let o=j(e.from,t);o<e.to;o+=n)r.push(o);return r}function tn(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 He(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}function $c(e,t,n={}){const r=n.grain??"hour",o=Pc(t,r),i=r==="day"?G:st,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=He(u.start,u.end,f,f+i);p>0&&s.set(f,(s.get(f)??0)+p)}for(const f of tn(t))He(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 tn(t)){if(c.has(`${u}:${p}`))continue;const y=Mt(n.patterns,u,f,p);if(!y)continue;const m=vt(y,p);if(m<=0)continue;const b=Ct(y,p);if(b){const[S,D]=b.split(":").map(Number),N=p+S*st+(D??0)*6e4,M=N+m*6e4;for(const R of o){const v=He(N,M,R,R+i);v>0&&s.set(R,(s.get(R)??0)+v)}continue}const h=o.filter(S=>S>=p&&S<p+G);if(!h.length)continue;const g=m*60/h.length;for(const S of h)s.set(S,(s.get(S)??0)+g)}}return o.map(u=>({period:H(u,r),weight:s.get(u)??0}))}function jr(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 Kc(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 jr(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 Wr(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Uc(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 Vr(e){return Wr(e)}function Yr(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 Fc(e){return e.agentId?{kind:"user",userId:e.agentId}:Yr(e.ownerScope)}function Bc(e){return Vr(e)}const zr="playbook-run",Gc="run";function Hc(e,t=0){return`${zr}:${e}~${t}`}function jc(e){const t=e.indexOf("~");return t<0?e:e.slice(0,t)}function Xr(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 Wc(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function Vc(e,t){if(t)return e.targets.find(n=>n.id===t)}function qr(e){return e?.kind==="assignment"}function Yc(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 at=["suggest","outward","auto"];function zc(e){return typeof e=="string"&&at.includes(e)}function Xc(e){const t=e.playbook?.autonomy??e.agent?.autonomy??"suggest";return e.demoted&&t==="auto"?"outward":t}function qc(e,t){const n=e??"suggest";return t&&at.indexOf(t)<at.indexOf(n)?t:n}function Qc(e){return e.replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}function Qr(e){const t=e.split("__");return t[t.length-1]||e}function Jc(e){const t=Qr(e).replace(/[_.]+/g," ").trim();return t?t.charAt(0).toUpperCase()+t.slice(1):e}const Zc=[{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 el(e,t){return!e.onlyFor||!t?.length?!0:t.some(n=>e.onlyFor?.includes(n))}const tl={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 Jr(e){return`${e.type}:${e.id}`}const Zr="interaction";function eo(e){return e?.type===Zr?e.id:void 0}const to=64,no=8e3;function nl(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),to),no)}const rl=["condition","for-each","parallel","lookup","action","classify","generate","agent","wait-for-reply","wait-for-task"],ol={kind:"workflow",steps:[]};function il(e){return e?.kind==="workflow"?e.steps:[]}function sl(e){return e?.kind==="procedure"?e.procedure:void 0}function al(e){return e.assignmentId?"assignment":e.decider?.kind==="procedure"?"procedure":"workflow"}function ro(e){const t=e?.approved??0,n=t+(e?.rejected??0);return{total:n,rate:n?t/n:0}}const oo=10,io=.9;function cl(e){const{total:t,rate:n}=ro(e);return t>=oo&&n>=io}const so=["done","escalated","failed","stopped"];function ll(e){return so.includes(e)}function ao(e){return e==="waiting"}function ul(e){return e==="running"||ao(e)}function kt(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function dl(e){const t=kt(e);return t?Jr(t):void 0}function fl(e){return eo(kt(e))}function pl(e){const t=[],n=new Map;for(const r of[...e].sort(ml)){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 ml=(e,t)=>(e.createdAt??0)-(t.createdAt??0);function gl(e,t){return t?e.actors.some(n=>n.type==="user"&&n.id===t):!1}class Nt extends Error{constructor(t){super(t),this.name="UnresolvedRefError"}}const hl=/^\{\{\s*([\w.]+)\s*\}\}$/,yl=/\{\{\s*([\w.]+)\s*\}\}/g,El=/\$[A-Za-z_][\w]*\.[\w.]+/;function _l(e,t,n={}){return Ae(e,t,n)}function Ae(e,t,n={}){return typeof e=="string"?Al(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 Al(e,t,n){const r=n.onMissing==="throw";if(r){const i=e.match(El);if(i)throw new Nt(`"${i[0]}" in ${n.where??"een waarde"} is de oude schrijfwijze; gebruik {{ ${i[0].slice(1)} }}.`)}const o=e.match(hl);if(o){const i=nn(t,o[1],e,n);return i===void 0&&!r?"":i}return e.replace(yl,(i,s)=>{const a=nn(t,s,i,n);return a==null?"":typeof a=="object"?JSON.stringify(a):String(a)})}function nn(e,t,n,r){const o=t.split(".")[0]??"";if(r.onMissing==="throw"&&!Object.hasOwn(e,o)){const i=Object.keys(e);throw new Nt(`onbekende verwijzing ${n} in ${r.where??"een waarde"}: "${o}" bestaat niet. Beschikbaar: ${i.length?i.join(", "):"(nog niets)"}`)}return Sl(e,t)}function Sl(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}const bl=new Set(["filled","empty"]);function Tl(){return{kind:"rule",op:"==",varPath:"",value:""}}const Il=new Set(["==","!=",">","<",">=","<="]);function je(e){return!!e&&typeof e=="object"&&"var"in e&&typeof e.var=="string"}function rn(e){const t=typeof e;return t==="string"||t==="number"||t==="boolean"}function co(e){if(e===!0||e==null)return{kind:"group",op:"and",children:[]};if(e===!1)return null;const t=ct(e);return t?t.kind==="group"?t:{kind:"group",op:"and",children:[t]}:null}function ct(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=ct(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(je(o))return{kind:"rule",op:n==="!!"?"filled":"empty",varPath:o.var,value:""};if(n==="!!")return null;const i=ct(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!je(i)||!rn(o)?null:{kind:"rule",op:"in",varPath:i.var,value:o}}if(Il.has(n)){if(!Array.isArray(r)||r.length!==2)return null;const[o,i]=r;return!je(o)||!rn(i)?null:{kind:"rule",op:n,varPath:o.var,value:i}}return null}function ce(e){return e.kind==="group"?e.children.length===0?!0:e.children.length===1?ce(e.children[0]):{[e.op]:e.children.map(ce)}:e.kind==="not"?{"!":ce(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 Ol(e){const t=co(e);return t&<(t)||null}function lt(e){if(e.kind==="group"){const t=e.children.map(lt).filter(Boolean);return t.length===0?"":t.length===1?t[0]:t.join(e.op==="and"?" && ":" || ")}return e.kind==="not"?`!(${lt(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 We=[{min:0,max:59},{min:0,max:23},{min:1,max:31},{min:1,max:12},{min:0,max:7}];function vl(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 Rt(e){const t=e.trim().split(/\s+/);if(t.length!==We.length)return null;const n=[];for(let l=0;l<We.length;l++){const c=We[l],d=t[l];if(!c||d===void 0)return null;const u=vl(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 Cl(e){return Rt(e)!==null}function lo(e,t){const n=Rt(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 uo="@schedule",ut=3;function fo(e,t,n){const r=[],o=e.depth??0;if(o>=ut)return{matched:[],skipped:t.map(a=>({ruleId:a.id,reason:`keten te diep (${o} van ${ut})`}))};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!==uo){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(!lo(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 Ml(e,t){return{causedByRule:t,depth:(e.depth??0)+1}}function kl(e,t){const{event:n,rules:r}=e.input,{matched:o,skipped:i}=fo(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 Nl(e,t){return e.wrote&&t in e.wrote?e.wrote[t]:t in e.params?e.params[t]:""}function po(e,t){return e.fields.filter(n=>t?.[n]!==void 0&&t[n]!==Nl(e,n))}function Rl(e,t,n){return n?"undone":!t||!e.length?"unknown":e.some(r=>po(r,t).length)?"corrected":"kept"}function wl(e){return e==="string[]"?["in"]:e==="boolean"?["==","!="]:e==="number"||e==="date"?["==","!=",">","<",">=","<="]:["==","!=","in","filled","empty"]}function Dl(e){return`subject.${e.path}`}function Ll(e,t){return e.events.find(n=>n.name===t)}function xl(e,t){return e.filter(n=>Xr(t,n.path)===void 0).map(n=>n.path)}const dt=6e4,Pl=36e5,Q=864e5,mo=800;function on(e,t){const n=Date.UTC(e,t+1,0);return n-new Date(n).getUTCDay()*Q+Pl}function $l(e){const t=new Date(e).getUTCFullYear();return e>=on(t,2)&&e<on(t,9)}function go(e,t){const n=t.dst==="eu"&&$l(e)?60:0;return(t.utcOffsetMinutes+n)*dt}function Kl(e){return(e+3)%7+1}function ho(e,t){const n=go(e,t),r=e+n,o=Math.floor(r/Q);if(!t.days.includes(Kl(o)))return null;const i=o*Q;return{open:i+t.fromMinutes*dt-n,close:i+t.toMinutes*dt-n}}function yo(e,t){const n=go(e,t),r=e+n;return(Math.floor(r/Q)+1)*Q-n}function Se(e,t,n){if(t<=e)return 0;if(!n)return t-e;let r=0,o=e;for(let i=0;i<mo&&o<t;i++){const s=ho(o,n);if(s){const a=Math.max(o,s.open),l=Math.min(t,s.close);l>a&&(r+=l-a)}o=yo(o,n)}return r}function we(e,t,n){if(!n)return e+t;let r=t,o=e;for(let i=0;i<mo;i++){const s=ho(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=yo(o,n)}return e+t}function Ul(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,Te=2,Ie=4;function Fl(e){return e==="snoozed"?be:Te}function De(e){const t=e.calendar;return t&&Array.isArray(t.days)?t:null}const Bl=["speed_of_answer","first_response","next_response","resolution","close"],Gl=["snoozed","waiting_for_customer"],Hl=6e4,Eo=["speed_of_answer","first_response","next_response"],jl=[...Eo,"resolution","close"];function Z(e){return e.state==="running"||e.state==="paused"}function Wl(e,t){return Z(e)?{state:(e.state==="paused"?e.remainingMs>0:t<=e.dueAt)?"hit":"missed",settledAt:Math.max(t,e.startedAt)}:null}function sn(e){return Z(e)?{state:"void"}:null}function Vl(e,t,n,r){if(!Z(e)||(e.pauseBits&t)!==0)return null;const o=e.pauseBits|t;return e.state==="paused"?{pauseBits:o}:{pauseBits:o,state:"paused",remainingMs:Se(n,e.dueAt,r)}}function Yl(e,t,n,r){if(!Z(e)||(e.pauseBits&t)===0)return null;const o=e.pauseBits&~t;return o!==0?{pauseBits:o}:{pauseBits:o,state:"running",dueAt:we(n,e.remainingMs,r)}}function zl({event:e,at:t,now:n,clocks:r,profile:o}){const i=De(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,Wl(g,s))},u=h=>{for(const g of a)h.includes(g.metric)&&c(g,sn(g))},f=h=>{for(const g of a)c(g,Vl(g,h,s,i))},p=h=>{for(const g of a)c(g,Yl(g,h,s,i))},y=h=>a.reduce((g,S)=>S.metric===h?Math.max(g,S.attempt):g,0)+1,m=h=>a.some(g=>g.metric===h&&Z(g)),b=(h,g)=>{const S=o.targets.find(N=>N.metric===h);if(!S)return;const D=S.minutes*Hl;l.push({op:"start",metric:h,attempt:y(h),startedAt:g,targetMs:D,dueAt:we(g,D,i)})};switch(e){case"apply":{for(const h of a)h.profileId!==o.id&&c(h,sn(h));for(const h of o.targets){if(h.metric==="next_response")continue;a.some(S=>S.metric===h.metric&&S.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(Te);break}case"inbound":{p(Te),!m("first_response")&&!m("next_response")&&b("next_response",s);break}case"resolved":d("resolution");break;case"closed":d("close"),d("resolution"),u(Eo);break;case"reopened":m("resolution")||b("resolution",s),m("close")||b("close",s);break;case"snoozed":o.pauseOn.includes("snoozed")&&f(be);break;case"unsnoozed":p(be);break;case"hold":f(Ie);break;case"unhold":p(Ie);break;case"discarded":u(jl);break}return l}function _o(e){return e.state==="running"||e.state==="paused"}function Xl(e){return(e.pauseBits&Ie)!==0}function Oe(e,t){const n=De(e);return e.state==="paused"?e.remainingMs:t>=e.dueAt?-Se(e.dueAt,t,n):Se(t,e.dueAt,n)}function ql(e,t){return e.state==="paused"?we(t,e.remainingMs,De(e)):e.dueAt}function Ql(e,t){const n=e.filter(_o);if(!n.length)return;const r=n.filter(i=>i.state==="running");return(r.length?r:n).reduce((i,s)=>Oe(s,t)<Oe(i,t)?s:i)}function Jl(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=Oe(e,t);return n<=0?"breached":n<=e.targetMs/5?"urgent":"running"}function Zl(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 wt(e){return`${Ao}:${e}`}function eu(e,t=25){const n=new Set([wt(e.id)]);for(const r of e.ancestorKeys??[])n.add(r);return Array.from(n).slice(0,t)}function tu(e){return e?[...e.ancestorKeys??[],wt(e.id)]:[]}const ee=[{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"}],So=999,bo=7;function To(e,t=ee){return t.find(n=>n.key===e)}function ve(e,t=ee){return To(e,t)?.order??So}function nu(e,t,n=ee){return ve(t,n)<=ve(e,n)}function ru(e,t=ee){const n=ve(e,t);return t.filter(o=>o.order>n).sort((o,i)=>o.order-i.order)[0]?.key??e}function ou(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 ft={pending:"open",on_track:"open",at_risk:"open",off_track:"open",paused:"paused",achieved:"closed",missed:"closed"};function iu(e){return ft[e]??"open"}function su(e){return Object.keys(ft).filter(t=>e.includes(ft[t]))}const au=864e5,Le=e=>e<=0?0:e>1?1:e;function cu(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)?Le((t-r)/s):i?1:0}function lu(e,t){const{startDate:n,targetDate:r}=e;if(!(typeof n!="number"||typeof r!="number")&&!(r<=n))return Le((t-n)/(r-n))}const Io=.1,Oo=.25;function uu(e,t){if(typeof e!="number"||typeof t!="number")return;if(e>=1)return"achieved";const n=t-e;return n>=Oo?"off_track":n>=Io?"at_risk":"on_track"}function du(e,t){if(t)return Le(e/t)}function fu(e){const t=e.map(n=>n.progress?.ratio).filter(n=>typeof n=="number"&&Number.isFinite(n));if(t.length)return Le(t.reduce((n,r)=>n+r,0)/t.length)}function pu(e,t){const n=e.lastCheckInAt??e.createdAt;if(typeof n!="number")return 0;const r=(e.checkInEveryDays??bo)*au,o=t-n-r;return o>0?o:0}function mu(e){return e.targetDate??Number.MAX_SAFE_INTEGER}function gu(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 hu(e,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function yu(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 Eu(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function _u(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 vo(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function Au(e,t){const n=vo(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 Su(e,t){const n=e.ownerScope;return!n||n.kind==="org"?!0:t.includes(n.teamId)}function bu(e){return e.filter(t=>!t.archived).sort(Co)}function Co(e,t){const n=(e.order??0)-(t.order??0);return n!==0?n:(e.label||"").localeCompare(t.label||"")}const Mo=20,ko=20,le=300;function $(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function No(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=le)return t;const n=t.slice(0,le),r=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return r>le*.6?n.slice(0,r+1):`${n.trimEnd()}…`}function Tu(e,t){const n=No(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},an(s)}return an([{...t,text:n},...o]).slice(0,ko)}function an(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function Iu(e,t){const n=$(t),r=(e.examples??[]).filter(i=>i.trim());return{examples:r.some(i=>$(i)===n)?r:[...r,t].slice(-Mo),exampleCandidates:Ro(e,t)}}function Ro(e,t){const n=$(t);return(e.exampleCandidates??[]).filter(r=>$(r.text)!==n)}function wo(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function Ou(e,t){return e.filter(n=>wo(n,t))}const xe=[{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"}],Dt=["quote","order","invoice","credit_note"];function vu(){const e=new Map;for(const t of xe)Dt.includes(t.key)&&(e.has(t.path)||e.set(t.path,t));return[...e.values()]}function C(e){return xe.find(t=>t.key===e)??{key:e,label:e,name:e,numbered:!1,signFlip:!1,statuses:["draft"],path:"quotes",issuedStatus:"draft",transitions:{},convertsTo:[]}}const Cu={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 Do(e,t){return C(e).transitions[t]??[]}function Mu(e,t,n){return Do(e,t).includes(n)}function Lo(e){return e.issuedAt!=null}const ku=["status","fileRef","number","externalIds","postedAt","dunning","updatedAt"],Nu=["companyId","contactId","dealItemId","title","reference","currency","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo","paymentTerm","lines"],Ru=["contactId","dealItemId","title","reference","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo"];function wu(e,t){if(!Dt.includes(t)||!C(e.kindKey).convertsTo.includes(t))return!1;const n=C(t);return!n.credits||n.credits===e.kindKey&&Lo(e)}function xo(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 Du(e){return{...xo(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 Lu(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:$u(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 xu(e,t=[],n=Po){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,"","",""]:[Pu(a.name,a.description,a.optional,n.optional),Ku(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 Po={description:"Omschrijving",optional:"optioneel",quantity:"Aantal",unitPrice:"Stuksprijs",net:"Netto",tax:"Btw",gross:"Totaal"};function Pu(e,t,n,r){const o=t?`${e} — ${t}`:e;return n?`${o} (${r})`:o}function $u(e){return e?.street?[e.street,e.houseNumber].filter(Boolean).join(" "):""}function Ku(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 $o(e){const t=C(e),n=t.key,r=t.numbered;return[{block_id:"head",type:"letterhead",fields:[...r?[{key:"number",label:Fu[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:cn[n]??cn.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:ln[n]??ln.quote}]}const Uu=e=>({note:{key:`${C(e).key}.note`,exists:!0},period:{key:`${C(e).key}.period_from`,exists:!0}}),Fu={invoice:{number:"Factuurnummer"},credit_note:{number:"Creditnotanummer"}},cn={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.`},ln={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."},Fu=$o("quote"),Ko=xe.map(e=>e.key),Uo="product";function Fo(e,t){return`${e}:${t}`}function Bu(e){return`${Uo}:${e}`}function Gu(e,t){const n=e.businessEntityId||t;if(n)return`/apps/sales/${n}/${C(e.kindKey).path}/${e.id}`}function Hu(e,t){const n=e.businessEntityId||t;return n?`/apps/sales/${n}/product/${e.id}`:void 0}function ju(e){const t=e.indexOf(":");if(t<0)return;const n=e.slice(0,t);return Ko.includes(n)?e.slice(t+1):void 0}function Wu(e){const t=new Set([Fo(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 Vu=4;function Yu(e,t){const n=String(t).padStart(Math.max(1,e.padding),"0");return`${e.prefix}${e.period?`${e.period}-`:""}${n}`}function zu(e,t=Date.now()){return e==="year"?String(new Date(t).getFullYear()):""}const Xu=["cash","credit","direct_debit","card","other"];function qu(e,t){return e+Math.max(0,Math.round(t))*24*60*60*1e3}function Qu(e){return{code:e.code,label:e.label,method:e.method,dueDays:e.dueDays}}const Ju=[{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 Zu(e){return e.type==="agent"}const Bo=["communication:interactions:created","communication:interactions:updated","communication:activities:created","communication:activities:updated"];function ed(e){return Bo.includes(e)}const td="WORK_COMMENT_ADDED",nd="WORK_ITEM_ASSIGNED",rd="WORK_ITEM_STATUS_CHANGED";function od(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))/ar)}function id(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=od(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 Pe=[{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"}],sd=Pe.map(e=>e.key);function ad(e){return e?.types?.length?e.types:Pe}function cd(e,t){return t.find(n=>n.key===e)}function ld(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 ud(...e){return e.map(t=>Pe.find(n=>n.key===t)).filter(t=>!!t)}const Go="work_item",Ho="work_project",jo="work_activity",dd="work_cycle";function Wo(e){return`${Go}:${e}`}function Lt(e){return`${Ho}:${e}`}function fd(e){return`${jo}:${e}`}function pd(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function md(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 gd(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function hd(e,t=25){const n=new Set([Wo(e.id)]);e.projectId&&n.add(Lt(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 yd(e){return[Lt(e.id)]}const $e=[{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}],xt=$e.map(e=>e.key);function Vo(e){return e?.statuses?.length?e.statuses:$e}function Yo(e,t){return t.find(n=>n.key===e)?.category??"todo"}function Ed(e,t){return t.find(n=>n.key===e)}function _d(e){const t=Vo(e),n=e?.defaultStatusKey;return n&&t.some(r=>r.key===n)?n:zo(t)[0]?.key??$e[0].key}function zo(e){return[...e].sort((t,n)=>{const r=(t.order??0)-(n.order??0);return r!==0?r:(t.label||"").localeCompare(n.label||"")})}function Ad(e,t){return Yo(e,t)==="done"}function Xo(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function Sd(e,t){const n=Xo(e)||"status",r=new Set([...t,...xt]);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 bd(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}xt.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 Td(e,t){return t.find(n=>n.key===e)?.requiresApproval===!0}function Id(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 Od(e){return e.startDate??Number.MAX_SAFE_INTEGER}function vd(e){return e.completedAt?"completed":e.startedAt?"active":"planned"}const Cd=["statusKeys","typeKeys","labels","priority","assignees"],Md=["blockedOnly","watchingOnly","reportedByMe"],kd=["priority","dueDate","updatedAt","createdAt","title","estimateSeconds"],Nd=["list","board","calendar","workload"],Rd=["day","week","month"];function wd(e){const t=e;if(!t||!Rd.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 Dd(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 Ld=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),xd=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function Qo(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?Ld.has(t)?"image":t==="application/pdf"?"pdf":xd.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const z=1024*1024,Jo={image:5*z,pdf:20*z,text:1*z,audio:20*z},Pd=25*z,$d=5;function Kd(e,t){const n=Qo(e);return n==="unsupported"?"unsupported":t>Jo[n]?"too-large":null}const Ud="ai-tool";function Fd(e){return e.access==="read"?"idempotent":e.reversible??"none"}function Pt(e){return e.access!=="read"&&e.effect!=="internal"}function Zo(e){return`${e.kind}:${e.id||e.url||e.title}`}function Bd(e,t=[]){const n=new Set(t),r=[],o=[];for(const i of e){const s=Zo(i);n.has(s)||(n.add(s),r.push(i),o.push(s))}return{sources:r,keys:o}}const Gd="assist-source",Hd=["blocking","due","open"];function jd(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const un={blocking:0,due:1,open:2};function Wd(e,t){return un[e.band??"open"]-un[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}function Vd(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function Yd(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function zd(e){return e.sessions.some(n=>n.id!==e.exceptSessionId&&(n.state==="connected"||n.state==="on_hold"))?{admit:!1,reason:"busy"}:{admit:!0}}function ei(e,t){const n=new Set(e.disabledIntents??[]),r=e.intentOverrides??{},o=t.intents.filter(s=>!n.has(s.intent)).map(s=>qd(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 ti(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 Xd(e,t){const n=ti(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function qd(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function Qd(e,t){const n=[];for(const r of e){if(!r.enabled)continue;const o=t[r.providerId];if(o)for(const i of ei(r,o))n.push({channel:r,description:o,capability:i})}return n}function Jd(e,t){return t.filter(n=>n.capability.intent===e)}function ni(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function Zd(e,t){return ni(e.scheme,t)}function ef(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 ri=(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))(ri||{});const tf={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 nf(e){return e?tf[e]??"note":"note"}const rf="message_window",of="message_templates",sf={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},af=(e,t)=>({intent:e,...t}),cf="folder_management",lf="remote_search",uf="message_reactions",df={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},ff="connector",pf="context.collect",A=e=>({type:"string",description:e}),_=e=>({type:"number",description:e}),ue=e=>({type:"boolean",description:e}),k=A("Sheet name. Omit for the sheet the user is looking at."),dn=A("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},fn={undoable:!1,visible:!0},Ce={undoable:!1,visible:!1},mf=[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:A("Text to find."),next:ue("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:A("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"],fn),E("pdf.deletePages",["pdf"],"Remove pages, keeping the rest in order.",{pages:{type:"array",items:{type:"number"},description:"1-based page numbers."}},["pages"],fn),E("pdf.addNote",["pdf"],"Place a text note on a page. Written on save; not visible before that.",{page:_("1-based page number."),text:A("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"],Ce),E("pdf.highlightText",["pdf"],"Highlight a phrase on a page. Written on save; not visible before that.",{page:_("1-based page number."),text:A("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"],Ce)],gf=[E("sheet.setValues",["sheet"],"Write a block of values. The block's shape must match the range.",{sheet:k,range:A("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:A("A1 notation."),formula:A("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:A("A1 notation."),bold:ue("Bold on or off."),italic:ue("Italic on or off."),fontSize:_("Point size."),fontColor:A("CSS colour, e.g. `#b91c1c`."),background:A("CSS colour for the cell fill."),horizontalAlignment:{type:"string",enum:["left","center","right"],description:"Horizontal alignment."},numberFormat:A("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:A("A1 notation.")},["range"],T),E("sheet.unmerge",["sheet"],"Break merged cells in a range apart.",{sheet:k,range:A("A1 notation.")},["range"],T),E("sheet.sort",["sheet"],"Sort a range on one of its columns.",{sheet:k,range:A("A1 notation covering the rows to sort, header excluded."),column:_("1-based column *within the range*, not within the sheet."),ascending:ue("Ascending. Omit for ascending.")},["range","column"],T),E("sheet.insertSheet",["sheet"],"Add a new sheet.",{name:A("Name for the new sheet.")},["name"],T),E("sheet.renameSheet",["sheet"],"Rename a sheet.",{sheet:A("Current name."),name:A("New name.")},["sheet","name"],T),E("sheet.deleteSheet",["sheet"],"Remove a sheet and everything on it.",{sheet:A("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:A("A1 notation to select. Omit to only switch sheets.")},[],X)],hf=[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:A("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:A("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:A("The text to insert.")},["index","text"],T),E("word.appendText",["word"],"Add text at the end of the document.",{text:A("The text to append.")},["text"],T),E("word.insertParagraph",["word"],"Start a new paragraph, optionally with text in it.",{text:A("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)],yf=[E("slides.setText",["slides"],"Replace the text of one shape. Written on save; not visible before that, and not undoable.",{slide:dn,element:A("Element id, as `inspect` reports it."),text:A("The new text.")},["slide","element","text"],Ce),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:dn,element:A("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"],Ce)],$t=[...mf,...gf,...hf,...yf];function Ef(e){return $t.filter(t=>t.kinds.includes(e))}function _f(e){return $t.find(t=>t.op===e)}const pn=/(?: {2,}|\\)$/,Af=/^\*\*([^*]+)\*\*\s+(.*)$/;function mn(e){const t=Af.exec(e);return t?{lead:t[1],text:t[2]}:{text:e}}function Sf(e){const t=(e??"").replace(/\r\n/g,`
|
|
17
|
+
Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`},ln={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."},Bu=$o("quote"),Ko=xe.map(e=>e.key),Uo="product";function Fo(e,t){return`${e}:${t}`}function Gu(e){return`${Uo}:${e}`}function Hu(e,t){const n=e.businessEntityId||t;if(n)return`/apps/sales/${n}/${C(e.kindKey).path}/${e.id}`}function ju(e,t){const n=e.businessEntityId||t;return n?`/apps/sales/${n}/product/${e.id}`:void 0}function Wu(e){const t=e.indexOf(":");if(t<0)return;const n=e.slice(0,t);return Ko.includes(n)?e.slice(t+1):void 0}function Vu(e){const t=new Set([Fo(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 Yu=4;function zu(e,t){const n=String(t).padStart(Math.max(1,e.padding),"0");return`${e.prefix}${e.period?`${e.period}-`:""}${n}`}function Xu(e,t=Date.now()){return e==="year"?String(new Date(t).getFullYear()):""}const qu=["cash","credit","direct_debit","card","other"];function Qu(e,t){return e+Math.max(0,Math.round(t))*24*60*60*1e3}function Ju(e){return{code:e.code,label:e.label,method:e.method,dueDays:e.dueDays}}const Zu=[{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 ed(e){return e.type==="agent"}const Bo=["communication:interactions:created","communication:interactions:updated","communication:activities:created","communication:activities:updated"];function td(e){return Bo.includes(e)}const nd="WORK_COMMENT_ADDED",rd="WORK_ITEM_ASSIGNED",od="WORK_ITEM_STATUS_CHANGED";function id(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))/ar)}function sd(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=id(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 Pe=[{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"}],ad=Pe.map(e=>e.key);function cd(e){return e?.types?.length?e.types:Pe}function ld(e,t){return t.find(n=>n.key===e)}function ud(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 dd(...e){return e.map(t=>Pe.find(n=>n.key===t)).filter(t=>!!t)}const Go="work_item",Ho="work_project",jo="work_activity",fd="work_cycle";function Wo(e){return`${Go}:${e}`}function Lt(e){return`${Ho}:${e}`}function pd(e){return`${jo}:${e}`}function md(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function gd(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 hd(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function yd(e,t=25){const n=new Set([Wo(e.id)]);e.projectId&&n.add(Lt(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 Ed(e){return[Lt(e.id)]}const $e=[{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}],xt=$e.map(e=>e.key);function Vo(e){return e?.statuses?.length?e.statuses:$e}function Yo(e,t){return t.find(n=>n.key===e)?.category??"todo"}function _d(e,t){return t.find(n=>n.key===e)}function Ad(e){const t=Vo(e),n=e?.defaultStatusKey;return n&&t.some(r=>r.key===n)?n:zo(t)[0]?.key??$e[0].key}function zo(e){return[...e].sort((t,n)=>{const r=(t.order??0)-(n.order??0);return r!==0?r:(t.label||"").localeCompare(n.label||"")})}function Sd(e,t){return Yo(e,t)==="done"}function Xo(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function bd(e,t){const n=Xo(e)||"status",r=new Set([...t,...xt]);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 Td(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}xt.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 Id(e,t){return t.find(n=>n.key===e)?.requiresApproval===!0}function Od(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 vd(e){return e.startDate??Number.MAX_SAFE_INTEGER}function Cd(e){return e.completedAt?"completed":e.startedAt?"active":"planned"}const Md=["statusKeys","typeKeys","labels","priority","assignees"],kd=["blockedOnly","watchingOnly","reportedByMe"],Nd=["priority","dueDate","updatedAt","createdAt","title","estimateSeconds"],Rd=["list","board","calendar","workload"],wd=["day","week","month"];function Dd(e){const t=e;if(!t||!wd.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 Ld(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 xd=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),Pd=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function Qo(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?xd.has(t)?"image":t==="application/pdf"?"pdf":Pd.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const z=1024*1024,Jo={image:5*z,pdf:20*z,text:1*z,audio:20*z},$d=25*z,Kd=5;function Ud(e,t){const n=Qo(e);return n==="unsupported"?"unsupported":t>Jo[n]?"too-large":null}const Fd="ai-tool";function Bd(e){return e.access==="read"?"idempotent":e.reversible??"none"}function Pt(e){return e.access!=="read"&&e.effect!=="internal"}function Zo(e){return`${e.kind}:${e.id||e.url||e.title}`}function Gd(e,t=[]){const n=new Set(t),r=[],o=[];for(const i of e){const s=Zo(i);n.has(s)||(n.add(s),r.push(i),o.push(s))}return{sources:r,keys:o}}const Hd="assist-source",jd=["blocking","due","open"];function Wd(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const un={blocking:0,due:1,open:2};function Vd(e,t){return un[e.band??"open"]-un[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}function Yd(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function zd(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function Xd(e){return e.sessions.some(n=>n.id!==e.exceptSessionId&&(n.state==="connected"||n.state==="on_hold"))?{admit:!1,reason:"busy"}:{admit:!0}}function ei(e,t){const n=new Set(e.disabledIntents??[]),r=e.intentOverrides??{},o=t.intents.filter(s=>!n.has(s.intent)).map(s=>Qd(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 ti(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 qd(e,t){const n=ti(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function Qd(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function Jd(e,t){const n=[];for(const r of e){if(!r.enabled)continue;const o=t[r.providerId];if(o)for(const i of ei(r,o))n.push({channel:r,description:o,capability:i})}return n}function Zd(e,t){return t.filter(n=>n.capability.intent===e)}function ni(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function ef(e,t){return ni(e.scheme,t)}function tf(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 ri=(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))(ri||{});const nf={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 rf(e){return e?nf[e]??"note":"note"}const of="message_window",sf="message_templates",af={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},cf=(e,t)=>({intent:e,...t}),lf="folder_management",uf="remote_search",df="message_reactions",ff={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},pf="connector",mf="context.collect",A=e=>({type:"string",description:e}),_=e=>({type:"number",description:e}),ue=e=>({type:"boolean",description:e}),k=A("Sheet name. Omit for the sheet the user is looking at."),dn=A("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},fn={undoable:!1,visible:!0},Ce={undoable:!1,visible:!1},gf=[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:A("Text to find."),next:ue("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:A("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"],fn),E("pdf.deletePages",["pdf"],"Remove pages, keeping the rest in order.",{pages:{type:"array",items:{type:"number"},description:"1-based page numbers."}},["pages"],fn),E("pdf.addNote",["pdf"],"Place a text note on a page. Written on save; not visible before that.",{page:_("1-based page number."),text:A("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"],Ce),E("pdf.highlightText",["pdf"],"Highlight a phrase on a page. Written on save; not visible before that.",{page:_("1-based page number."),text:A("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"],Ce)],hf=[E("sheet.setValues",["sheet"],"Write a block of values. The block's shape must match the range.",{sheet:k,range:A("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:A("A1 notation."),formula:A("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:A("A1 notation."),bold:ue("Bold on or off."),italic:ue("Italic on or off."),fontSize:_("Point size."),fontColor:A("CSS colour, e.g. `#b91c1c`."),background:A("CSS colour for the cell fill."),horizontalAlignment:{type:"string",enum:["left","center","right"],description:"Horizontal alignment."},numberFormat:A("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:A("A1 notation.")},["range"],T),E("sheet.unmerge",["sheet"],"Break merged cells in a range apart.",{sheet:k,range:A("A1 notation.")},["range"],T),E("sheet.sort",["sheet"],"Sort a range on one of its columns.",{sheet:k,range:A("A1 notation covering the rows to sort, header excluded."),column:_("1-based column *within the range*, not within the sheet."),ascending:ue("Ascending. Omit for ascending.")},["range","column"],T),E("sheet.insertSheet",["sheet"],"Add a new sheet.",{name:A("Name for the new sheet.")},["name"],T),E("sheet.renameSheet",["sheet"],"Rename a sheet.",{sheet:A("Current name."),name:A("New name.")},["sheet","name"],T),E("sheet.deleteSheet",["sheet"],"Remove a sheet and everything on it.",{sheet:A("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:A("A1 notation to select. Omit to only switch sheets.")},[],X)],yf=[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:A("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:A("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:A("The text to insert.")},["index","text"],T),E("word.appendText",["word"],"Add text at the end of the document.",{text:A("The text to append.")},["text"],T),E("word.insertParagraph",["word"],"Start a new paragraph, optionally with text in it.",{text:A("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)],Ef=[E("slides.setText",["slides"],"Replace the text of one shape. Written on save; not visible before that, and not undoable.",{slide:dn,element:A("Element id, as `inspect` reports it."),text:A("The new text.")},["slide","element","text"],Ce),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:dn,element:A("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"],Ce)],$t=[...gf,...hf,...yf,...Ef];function _f(e){return $t.filter(t=>t.kinds.includes(e))}function Af(e){return $t.find(t=>t.op===e)}const pn=/(?: {2,}|\\)$/,Sf=/^\*\*([^*]+)\*\*\s+(.*)$/;function mn(e){const t=Sf.exec(e);return t?{lead:t[1],text:t[2]}:{text:e}}function bf(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(mn(p)):r={style:f,items:[mn(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
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=pn.test(f);s.push(f.replace(pn,"").trim()+(b?`
|
|
22
|
-
`:" ")),u++}return d(),n}function
|
|
22
|
+
`:" ")),u++}return d(),n}function Tf(e,t){return Et(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 Tf="documents.describe",If="documents.inspect",Of="documents.apply";function vf(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 Cf="installation-id";function Mf(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 kf="notification-source",Nf=(e,t)=>`${e}.pref.${t}`,Rf={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","folder.read","folder.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,oi=["out_of_office"],ii=e=>oi.includes(e);function wf(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&&!ii(i)?{online:!1,status:"offline"}:{online:r,status:i,message:o.message}}function Df(e,t){const n=t-e.lastSeenAt<Kt,r=n||ii(e.status)?e.status:"offline";return n===e.online&&r===e.status?e:{...e,online:n,status:r}}function Lf(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 xf(e){return e.providerAvailable&&e.allowed}const Pf="resources.describe",$f="resources.search",Kf="resources.resolve",Uf="resources.attached";function Ff(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const Bf="/provider/scope/related",Gf="/provider/scope/read",Hf="/provider/scope/acts",Ut="auth";function Ft(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function jf(e){const t=Ft(e);return t?t!==Ut:typeof e=="string"&&e.startsWith("/wake")}function Wf(e){return typeof e!="string"||e===""||e==="/"?!0:Ft(e)===Ut}function Vf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function si(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${Vf(r)}`).join("");return new RegExp(`^${n}\\/?$`)}function ai(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 ci(e){return e.publicBasePath??`/apps/${e.name}`}function Yf(e){const t=[];for(const n of e){if(!n?.name)continue;const r=ci(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 li(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 ui(e,t){if(typeof e!="string")return null;let n=null;for(const r of t)si(r.pattern).test(e)&&(!n||li(r.pattern,n.pattern))&&(n=r);return n?{...n,params:{...n.props,...ai(n.pattern,e)}}:null}function zf(e,t){return ui(e,t)!==null}const Xf=10*1024*1024,qf=25*1024*1024,Qf="sync-target",Jf=20;function Bt(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 di(e,t,n){return Bt(e,n)?t.guarded==="all"||t.guarded?.has(e.name)?!0:t.autonomy==="auto"?!1:t.autonomy==="outward"?Pt(e):!0:!1}function Zf(e){return e.produces==="draft"}function ep(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"&&Bt(e)||t.mode==="draft"&&(Pt(e)||e.access!=="read"&&!Zf(e))?"hidden":t.gate&&di(e,t.gate,t.policy)?"held":"free"}const tp={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]"]},fi=e=>{let t=e;return Object.values(tp).forEach(n=>{n.forEach(r=>{t=t.replaceAll(r,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},pi=6e4,mi=8e3,gi=2,hi=.4,np=3,rp=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 yi(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<np||rp.has(n)||t.add(n);return[...t]}function Ei(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 _i(e,t=pi){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=>fi(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const Ai=60;function op(e,t,n=Ai){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 ip(e){const{segments:t,now:n,state:r}=e;if(r.lastTriggerAt&&n-r.lastTriggerAt<mi)return{trigger:!1,reason:"too_soon"};const o=_i(t,e.windowMs);if(!o.text)return{trigger:!1,reason:"no_speech"};const i=o.segmentCount-(r.lastSegmentCount??0);if(r.lastQueryTerms&&i<gi)return{trigger:!1,reason:"too_few_new"};const s=yi(o.text);return s.length?r.lastQueryTerms?.length&&Ei(s,r.lastQueryTerms)<hi?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:o.text,terms:s,segmentCount:o.segmentCount}:{trigger:!1,reason:"no_speech"}}const sp=["personal","organization","connections","flows","work","administration","ai"],ap="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}},Si="NL",cp=15,lp=8,up=Array.from(new Set(Object.values(Ke).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function gn(e){if(e)return Ke[e.trim().toUpperCase()]}function de(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function hn(e){if(e.length>cp)return null;for(const t of up){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(de(i,r))return`+${t}${i}`}return null}return e.length<lp?null:`+${e}`}function dp(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 fp(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 pt(e,t){if(!e)return null;const n=dp(e);if(!n)return null;const r=n.startsWith("+"),o=n.replace(/\D/g,"");if(!o)return null;if(r)return hn(o);if(o.startsWith("00"))return hn(o.slice(2));const i=gn(t)??gn(Si);if(!i)return null;const s=i.trunkPrefix;if(s&&o.startsWith(s)){const a=o.slice(s.length);return de(a,i)?`+${i.callingCode}${a}`:null}if(o.startsWith(i.callingCode)){const a=o.slice(i.callingCode.length);if(de(a,i))return`+${i.callingCode}${a}`}return!s&&de(o,i)?`+${i.callingCode}${o}`:null}function pp(e,t=9){const n=(e??"").replace(/\D/g,"");return n.length<t?null:n.slice(-t)}function Gt(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 mp(e){const t=Gt(e);return t?t.slice(t.lastIndexOf("@")+1):null}const gp=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function bi(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 gp.has(n)&&t.length>=3?t.slice(-3).join("."):n}const Ti=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 hp(e){const t=bi(e);return t?Ti.has(t):!1}function yp(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function Ep(e,t,n){if(!e||!t)return null;const r=e.trim().toLowerCase();if(r==="tel"||r==="sms"||r==="whatsapp"){const i=pt(t,n);return i?`tel:${i}`:null}if(r==="fax"){const i=pt(t,n);return i?`fax:${i}`:null}if(r==="mailto"||r==="email"){const i=Gt(t);return i?`mailto:${i}`:null}const o=t.trim().toLowerCase();return o?`${r}:${o}`:null}const _p=[/<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],yn=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,Ap=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function Sp(e){const t=e.split(`
|
|
25
|
-
`);for(let n=0;n<t.length;n++)if(
|
|
26
|
-
`).trim();return e}const
|
|
24
|
+
`).trim()}const If="documents.describe",Of="documents.inspect",vf="documents.apply";function Cf(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 Mf="installation-id";function kf(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 Nf="notification-source",Rf=(e,t)=>`${e}.pref.${t}`,wf={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","folder.read","folder.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,oi=["out_of_office"],ii=e=>oi.includes(e);function Df(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&&!ii(i)?{online:!1,status:"offline"}:{online:r,status:i,message:o.message}}function Lf(e,t){const n=t-e.lastSeenAt<Kt,r=n||ii(e.status)?e.status:"offline";return n===e.online&&r===e.status?e:{...e,online:n,status:r}}function xf(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 Pf(e){return e.providerAvailable&&e.allowed}const $f="resources.describe",Kf="resources.search",Uf="resources.resolve",Ff="resources.attached";function Bf(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const Gf="/provider/scope/related",Hf="/provider/scope/read",jf="/provider/scope/acts",Ut="auth";function Ft(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function Wf(e){const t=Ft(e);return t?t!==Ut:typeof e=="string"&&e.startsWith("/wake")}function Vf(e){return typeof e!="string"||e===""||e==="/"?!0:Ft(e)===Ut}function Yf(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function si(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${Yf(r)}`).join("");return new RegExp(`^${n}\\/?$`)}function ai(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 ci(e){return e.publicBasePath??`/apps/${e.name}`}function zf(e){const t=[];for(const n of e){if(!n?.name)continue;const r=ci(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 li(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 ui(e,t){if(typeof e!="string")return null;let n=null;for(const r of t)si(r.pattern).test(e)&&(!n||li(r.pattern,n.pattern))&&(n=r);return n?{...n,params:{...n.props,...ai(n.pattern,e)}}:null}function Xf(e,t){return ui(e,t)!==null}const qf=10*1024*1024,Qf=25*1024*1024,Jf="sync-target",Zf=20;function Bt(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 di(e,t,n){return Bt(e,n)?t.guarded==="all"||t.guarded?.has(e.name)?!0:t.autonomy==="auto"?!1:t.autonomy==="outward"?Pt(e):!0:!1}function ep(e){return e.produces==="draft"}function tp(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"&&Bt(e)||t.mode==="draft"&&(Pt(e)||e.access!=="read"&&!ep(e))?"hidden":t.gate&&di(e,t.gate,t.policy)?"held":"free"}const np={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]"]},fi=e=>{let t=e;return Object.values(np).forEach(n=>{n.forEach(r=>{t=t.replaceAll(r,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},pi=6e4,mi=8e3,gi=2,hi=.4,rp=3,op=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 yi(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<rp||op.has(n)||t.add(n);return[...t]}function Ei(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 _i(e,t=pi){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=>fi(s.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const Ai=60;function ip(e,t,n=Ai){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 sp(e){const{segments:t,now:n,state:r}=e;if(r.lastTriggerAt&&n-r.lastTriggerAt<mi)return{trigger:!1,reason:"too_soon"};const o=_i(t,e.windowMs);if(!o.text)return{trigger:!1,reason:"no_speech"};const i=o.segmentCount-(r.lastSegmentCount??0);if(r.lastQueryTerms&&i<gi)return{trigger:!1,reason:"too_few_new"};const s=yi(o.text);return s.length?r.lastQueryTerms?.length&&Ei(s,r.lastQueryTerms)<hi?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:o.text,terms:s,segmentCount:o.segmentCount}:{trigger:!1,reason:"no_speech"}}const ap=["personal","organization","connections","flows","work","administration","ai"],cp="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}},Si="NL",lp=15,up=8,dp=Array.from(new Set(Object.values(Ke).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function gn(e){if(e)return Ke[e.trim().toUpperCase()]}function de(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function hn(e){if(e.length>lp)return null;for(const t of dp){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(de(i,r))return`+${t}${i}`}return null}return e.length<up?null:`+${e}`}function fp(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 pp(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 pt(e,t){if(!e)return null;const n=fp(e);if(!n)return null;const r=n.startsWith("+"),o=n.replace(/\D/g,"");if(!o)return null;if(r)return hn(o);if(o.startsWith("00"))return hn(o.slice(2));const i=gn(t)??gn(Si);if(!i)return null;const s=i.trunkPrefix;if(s&&o.startsWith(s)){const a=o.slice(s.length);return de(a,i)?`+${i.callingCode}${a}`:null}if(o.startsWith(i.callingCode)){const a=o.slice(i.callingCode.length);if(de(a,i))return`+${i.callingCode}${a}`}return!s&&de(o,i)?`+${i.callingCode}${o}`:null}function mp(e,t=9){const n=(e??"").replace(/\D/g,"");return n.length<t?null:n.slice(-t)}function Gt(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 gp(e){const t=Gt(e);return t?t.slice(t.lastIndexOf("@")+1):null}const hp=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function bi(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 hp.has(n)&&t.length>=3?t.slice(-3).join("."):n}const Ti=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 yp(e){const t=bi(e);return t?Ti.has(t):!1}function Ep(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function _p(e,t,n){if(!e||!t)return null;const r=e.trim().toLowerCase();if(r==="tel"||r==="sms"||r==="whatsapp"){const i=pt(t,n);return i?`tel:${i}`:null}if(r==="fax"){const i=pt(t,n);return i?`fax:${i}`:null}if(r==="mailto"||r==="email"){const i=Gt(t);return i?`mailto:${i}`:null}const o=t.trim().toLowerCase();return o?`${r}:${o}`:null}const Ap=[/<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],yn=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,Sp=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function bp(e){const t=e.split(`
|
|
25
|
+
`);for(let n=0;n<t.length;n++)if(Sp.test(t[n])||yn.test(t[n])&&t.slice(n+1,n+4).some(r=>yn.test(r)))return t.slice(0,n).join(`
|
|
26
|
+
`).trim();return e}const Tp=/^(?:https?:|mailto:|tel:)/i,Ip=/^(?:https?:|cid:|data:image\/)/i;function Ve(e,t){const n=e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`,"i"));return(n?.[1]??n?.[2]??n?.[3]??"").trim()}const Op=/(!\[[^\]]*\]\([^)]*\))/;function En(e){return e.replace(/\s+/g," ").trim().split(Op).map((t,n)=>n%2===1?t:t.replace(/[[\]]/g,"\\$&")).join("")}function Ye(e){return e.replace(/[()\s<>"]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`)}function vp(e){return e.replace(/<img\b([^>]*?)\/?>/gi,(n,r)=>{const o=Ve(r,"src");return Ip.test(o)?`})`:""}).replace(/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,(n,r,o)=>{const i=En(o.replace(/<[^>]*>/g,"")),s=Ve(r,"href");return Tp.test(s)?`[${i||Ye(s)}](${Ye(s)})`:i})}const Cp=/<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i,Mp=/<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi,kp=/<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;function Np(e,t){return/<table\b/i.test(e)||e.includes(`
|
|
27
27
|
|
|
28
|
-
|`)||t.includes("![")||t.length>200}const
|
|
28
|
+
|`)||t.includes("![")||t.length>200}const Rp=40,wp={left:"---",center:":---:",right:"---:"};function Dp(e){const t=e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);return t?t[1].toLowerCase():"left"}function Lp(e){return e.replace(/<[^>]*>/g,"").replace(/\s+/g," ").trim().replace(/\|/g,"\\|")}function xp(e){const t=[];for(const s of e.matchAll(Mp)){const a=[];for(const l of s[1].matchAll(kp)){const c=Lp(l[3]);if(Np(l[3],c))return null;a.push({text:c,align:Dp(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=>wp[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
|
|
36
|
-
`).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi,"").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi,"")}function
|
|
35
|
+
`}function Pp(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 $p(e){let t=e;for(let n=0;n<Rp;n++){const r=Cp.exec(t);if(!r||r.index===void 0)break;const i=xp(r[1])??`
|
|
37
37
|
|
|
38
|
-
${
|
|
38
|
+
${Pp(r[1])}
|
|
39
39
|
|
|
40
40
|
`;t=t.slice(0,r.index)+i+t.slice(r.index+r[0].length)}return t}function _n(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
|
|
41
|
+
`),t&&(n=$p(vp(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
|
|
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 Kp={euro:"€",pound:"£",yen:"¥",cent:"¢",copy:"©",reg:"®",trade:"™",deg:"°",plusmn:"±",times:"×",middot:"·",bull:"•",hellip:"…",mdash:"—",ndash:"–",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",apos:"'"};function Sn(e){return e.replace(/ /gi," ").replace(/&([a-z]+);/gi,(t,n)=>Kp[n.toLowerCase()]??t).replace(/</gi,"<").replace(/>/gi,">").replace(/"/gi,'"').replace(/&#(\d+);/g,(t,n)=>An(Number(n))??t).replace(/&#x([0-9a-f]+);/gi,(t,n)=>An(parseInt(n,16))??t).replace(/&/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 Ii=/<\s*(html|body|div|p|table|br|span)\b/i;function Kp(e){return Ii.test(e)}function Up(e){return Oi(e,!1)}function Fp(e){return Oi(e,!0)}function Oi(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const s of _p){const a=e.search(s);a>=0&&a<n&&(n=a)}const r=e.slice(0,n);let o=bn(Sn(_n(r,t)));return o||(o=bn(Sn(_n(e,t)))),Sp(o)||o}exports.ACTIVE_ASSIGNMENT_STATUSES=Ps;exports.ACTIVITY_CATALOG=L;exports.AI_ATTACHMENT_LIMITS=Jo;exports.AI_ATTACHMENT_MAX_PER_TURN=$d;exports.AI_ATTACHMENT_TURN_BUDGET=Pd;exports.AI_CAPABILITIES=Me;exports.AI_TOOL_PROVIDER_GROUP=Ud;exports.AI_VENDORS=ht;exports.ALLOWED_LINK_SCHEMES=Kn;exports.APP_PERMISSIONS=Rf;exports.ARTICLE_SCOPE_KIND=ja;exports.ARTIFACT_MAX_BLOCKS=me;exports.ARTIFACT_MAX_BODY_BYTES=$n;exports.ARTIFACT_MAX_CELL_LEN=F;exports.ARTIFACT_MAX_KPI_ITEMS=Ee;exports.ARTIFACT_MAX_LIST_ITEMS=ge;exports.ARTIFACT_MAX_TABLE_COLUMNS=ye;exports.ARTIFACT_MAX_TABLE_ROWS=he;exports.ARTIFACT_MAX_TEXT_LEN=ke;exports.ASSIGNMENT_SCOPE_KIND=jn;exports.ASSIST_BANDS=Hd;exports.ASSIST_SOURCE_PROVIDER_GROUP=Gd;exports.ATTENTION_STATUSES=mr;exports.AT_RISK_GAP=Io;exports.AUTH_APP_NAME=Ut;exports.AUTO_READY_MIN_PROPOSALS=oo;exports.AUTO_READY_RATE=io;exports.ActivityTypeRegistry=Mn;exports.BUILT_IN_ONLY=ji;exports.BULK_PENALTY=gr;exports.BUSINESS_ENTITY_LIST_SERVICE=js;exports.CADENCE_FLOOR_MS=mi;exports.CADENCE_MIN_NEW_SEGMENTS=gi;exports.CADENCE_MIN_NOVELTY=hi;exports.CADENCE_WINDOW_MS=pi;exports.CLASSIFY_VARS=el;exports.CLEARABLE_FIELDS=Nu;exports.CONNECTOR_PROVIDER_GROUP=ff;exports.CONTEXT_COLLECT_SERVICE=pf;exports.CORE_DIMENSIONS=fs;exports.CRM_ACTIVITY_SCOPE_KIND=pa;exports.CRM_CALL_CHANNELS=ga;exports.CRM_CALL_LOGGED=tr;exports.CRM_CALL_OUTCOMES=ha;exports.CRM_NOTE_ADDED=er;exports.CRM_STAGE_CHANGED=ma;exports.CommunicationScheme=ri;exports.DAY_MS=ar;exports.DEFAULT_CHECK_IN_DAYS=bo;exports.DEFAULT_FORECAST_WEEKS=Br;exports.DEFAULT_MEMORY_BUDGET=oc;exports.DEFAULT_NUMBER_PADDING=Vu;exports.DEFAULT_PHONE_REGION=Si;exports.DEFAULT_QUOTE_TEMPLATE_BLOCKS=Fu;exports.DEFAULT_TEMPLATE_CONDITIONS=Ku;exports.DEMAND_SOURCE_PROVIDER_GROUP=yc;exports.DOCUMENT_APPLY_SERVICE=Of;exports.DOCUMENT_DESCRIBE_SERVICE=Tf;exports.DOCUMENT_INSPECT_SERVICE=If;exports.DOCUMENT_MAX_BLOCKS=me;exports.DOCUMENT_MAX_BODY_BYTES=$n;exports.DOCUMENT_MAX_CELL_LEN=F;exports.DOCUMENT_MAX_KPI_ITEMS=Ee;exports.DOCUMENT_MAX_LETTERHEAD_FIELDS=et;exports.DOCUMENT_MAX_LIST_ITEMS=ge;exports.DOCUMENT_MAX_RECIPIENT_LINES=Pn;exports.DOCUMENT_MAX_TABLE_COLUMNS=ye;exports.DOCUMENT_MAX_TABLE_ROWS=he;exports.DOCUMENT_MAX_TEXT_LEN=ke;exports.DOCUMENT_MAX_TOTALS_ROWS=tt;exports.DOCUMENT_OPERATIONS=$t;exports.DRAFT_FIELDS=ku;exports.DUTCH_SLOT_LABELS=Po;exports.EMPTY_WORKFLOW=rl;exports.ENABLED_TRANSACTION_KINDS=Dt;exports.FEATURE_FOLDER_MANAGEMENT=cf;exports.FEATURE_MESSAGE_REACTIONS=uf;exports.FEATURE_REMOTE_SEARCH=lf;exports.FIXED_KINDS=Re;exports.FIXED_LEVELS=ee;exports.FIXED_TYPES=Pe;exports.FIXED_UNITS=na;exports.FOLLOW_UP_HOURS=hr;exports.FROZEN_WRITABLE_FIELDS=Mu;exports.HOUR_MS=sr;exports.HTML_BODY_RE=Ii;exports.INELIGIBLE=P;exports.INSTALLATION_HEADER=Cf;exports.INTERACTION_KIND=Zr;exports.InteractionParticipantRole=sf;exports.KB_FALLBACK_LOCALE=Cr;exports.KB_LOCALES=_e;exports.LEAD_STATUSES=aa;exports.LIFECYCLE_STAGES=sa;exports.LOCALES=_e;exports.LOOSE_STATUSES=$e;exports.MAIL_HINT_HEADERS=fr;exports.MANUAL_PRICE_SOURCE=qn;exports.MAX_ACTIONS=ie;exports.MAX_ASSIGNMENT_TURNS=Wn;exports.MAX_BLOCKS=ze;exports.MAX_CHOICE_OPTIONS=qe;exports.MAX_COLLECTION_DEPTH=bt;exports.MAX_DELEGATION_DEPTH=Vn;exports.MAX_EDITABLE_FILE_BYTES=Xf;exports.MAX_FIELDS=re;exports.MAX_LIST_ITEMS=oe;exports.MAX_MEMORY_BROWSE=ec;exports.MAX_MEMORY_BUDGET=rc;exports.MAX_MEMORY_CHARS=tc;exports.MAX_RULE_DEPTH=ut;exports.MAX_SCORE_LEVELS=Je;exports.MAX_SHOWN_KEYS=Ai;exports.MAX_TOPIC_CANDIDATES=ko;exports.MAX_TOPIC_EXAMPLES=Mo;exports.MAX_TOPIC_EXAMPLE_CHARS=le;exports.MAX_VIEWABLE_FILE_BYTES=qf;exports.MIN_MEMORY_BUDGET=nc;exports.MIN_SCORE_LEVELS=Qe;exports.MODEL_TIERS=B;exports.NAV_NOTICE_SLOT=ap;exports.NL_PAYMENT_TERMS=Ju;exports.NL_TAX_RATES=sc;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=kf;exports.OFF_TRACK_GAP=Oo;exports.ONBOARDING_SOURCE_PROVIDER_GROUP=cc;exports.PAUSE_HOLD=Ie;exports.PAUSE_SNOOZED=be;exports.PAUSE_WAITING_FOR_CUSTOMER=Te;exports.PAYMENT_TERM_METHODS=Xu;exports.PHONE_REGIONS=Ke;exports.PLAYBOOK_RUN_APPROVAL_ACT=Bc;exports.PLAYBOOK_RUN_SCOPE_KIND=zr;exports.PRESENCE_ONLINE_WINDOW_MS=Kt;exports.PRESENCE_SURVIVES_OFFLINE=oi;exports.PRODUCT_SCOPE_KIND=Uo;exports.PROFILE_TOOL_DISPOSITIONS=uc;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=of;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=rf;exports.PUBLIC_EMAIL_DOMAINS=Ti;exports.READ_STEP_TYPES=nt;exports.RELATED_SUBJECT_KINDS=kr;exports.RESERVED_STATUS_KEYS=xt;exports.RESERVED_TYPE_KEYS=sd;exports.RESOURCE_ATTACHED_SERVICE=Uf;exports.RESOURCE_DESCRIBE_SERVICE=Pf;exports.RESOURCE_RESOLVE_SERVICE=Kf;exports.RESOURCE_SEARCH_SERVICE=$f;exports.SCHEDULE_ENTRY_SCOPE_KIND=Gr;exports.SCHEDULE_EVENT=uo;exports.SCOPE_ACTS_ROUTE=Hf;exports.SCOPE_READ_ROUTE=Gf;exports.SCOPE_RELATED_ROUTE=Bf;exports.SEGMENT_FILTER_KEYS=la;exports.SEGMENT_LAYOUTS=da;exports.SEGMENT_LIST_FILTERS=Jn;exports.SEGMENT_PRESENCE_FILTERS=Zn;exports.SEGMENT_SORT_FIELDS=ua;exports.SETTINGS_CATEGORIES=sp;exports.SIGNATURE_INTENTS=ra;exports.SLA_METRICS=Fl;exports.SLA_PAUSE_REASONS=Bl;exports.STATUS_NAMES=vu;exports.STEP_MAX_TOKENS_MAX=no;exports.STEP_MAX_TOKENS_MIN=to;exports.STEP_TYPES=nl;exports.STRATEGY_ITEM_SCOPE_KIND=Ao;exports.SUMMARY_MIN_LAST_CHARS=dr;exports.SUMMARY_MIN_MESSAGES=ur;exports.SYNC_RUN_MAX_ERRORS=Jf;exports.SYNC_TARGET_PROVIDER_GROUP=Qf;exports.SYSTEM_ONE_NON_GOALS=ns;exports.TERMINAL_ASSIGNMENT_STATUSES=Hn;exports.TERMINAL_RUN_STATUSES=so;exports.TRANSACTION_KINDS=xe;exports.TRANSACTION_SCOPE_KINDS=Ko;exports.TRIGGER_VARS=Jc;exports.UNARY_OPS=Sl;exports.UNKNOWN_KIND=wr;exports.UNKNOWN_LEVEL_ORDER=So;exports.UNSUPPORTED=df;exports.USAGE_DIMENSIONS=wn;exports.USAGE_DIMENSION_IDS=Dn;exports.UnresolvedRefError=Nt;exports.WEBHOOK_EVENTS=Bo;exports.WORKSTREAM_SCOPE_KIND=Hr;exports.WORK_ACTIVITY_SCOPE_KIND=jo;exports.WORK_AREAS=lc;exports.WORK_COMMENT_ADDED=td;exports.WORK_CYCLE_SYNC_KIND=dd;exports.WORK_ITEM_ASSIGNED=nd;exports.WORK_ITEM_SCOPE_KIND=Go;exports.WORK_ITEM_STATUS_CHANGED=rd;exports.WORK_PROJECT_SCOPE_KIND=Ho;exports.WORK_SORT_FIELDS=kd;exports.WORK_VIEW_FLAGS=Md;exports.WORK_VIEW_LAYOUTS=Nd;exports.WORK_VIEW_LIST_FILTERS=Cd;exports.W_PRIORITY=q;exports.acceptExampleCandidate=Tu;exports.actingIdentityKey=Vr;exports.activeWorkTypes=Su;exports.activityIconOf=Ni;exports.activityJoinUrl=Fi;exports.activitySnippet=vn;exports.activityTextParams=Cn;exports.activityTimelineText=Ui;exports.activityTimestamp=kn;exports.activityTypeInfo=O;exports.actorKey=Fc;exports.addExampleCandidate=bu;exports.addWorkingMs=we;exports.agePresenceEntry=Df;exports.aiAttachmentKind=Qo;exports.aiAttachmentRejection=Kd;exports.aiBudgetLimit=Ze;exports.aiBudgetPeriodKey=ls;exports.aiBudgetPeriodStart=Rn;exports.aiBudgetState=cs;exports.aiVendorAcceptsAttachment=as;exports.aiVendorDefaultModel=os;exports.aiVendorLabel=rs;exports.aiVendorNeedsBaseUrl=ss;exports.aiVendorsWith=is;exports.allocate=zn;exports.appNameFromPath=Ft;exports.applyApprovalDecision=Os;exports.applyRounding=hu;exports.applySignature=oa;exports.approvalRate=ro;exports.artifactBodyBytes=Bn;exports.artifactOutline=Gn;exports.artifactToMarkdown=Et;exports.assignmentMismatch=Vc;exports.assignmentScopeKey=Ks;exports.assignmentSubject=Bs;exports.availabilityByPerson=hc;exports.belongsOnCalendar=dc;exports.belongsToEntity=Ws;exports.billableTimeGroups=mu;exports.bindParams=El;exports.bindValue=Ae;exports.buildActivityPreview=Gi;exports.buildChannelIntents=Qd;exports.buildShareKeys=Ds;exports.buildWindow=_i;exports.businessEntitySender=or;exports.calendarDaysBetween=Dr;exports.calendarOf=De;exports.canConvert=Ru;exports.canNestUnder=Ya;exports.canParent=tu;exports.canTransition=Cu;exports.capabilityDefaultFlag=zi;exports.capacityTotal=mc;exports.capacityWeights=Pc;exports.carriesText=xi;exports.categoryLabel=Xa;exports.categoryOf=Yo;exports.causedBy=Cl;exports.channelKindForScheme=nf;exports.channelKindOf=Ri;exports.checkInOverdueMs=fu;exports.clampStepMaxTokens=tl;exports.classifyMail=La;exports.cleanMessageMarkdown=Fp;exports.cleanMessageText=Up;exports.codeQuery=Xs;exports.compareAssistRank=Wd;exports.compareWorkTypes=Co;exports.conditionHolds=rr;exports.contactName=ca;exports.copyFrom=xo;exports.countsAsPlanned=V;exports.coverageByPerson=gc;exports.coverageFor=Tc;exports.coversWorkstream=It;exports.crmActivityAt=Ea;exports.cronMatches=lo;exports.currentPeriod=zu;exports.cycleDayIndex=Ot;exports.cycleOrder=Od;exports.cycleState=vd;exports.decideAssignmentState=Gs;exports.decideCadence=ip;exports.decideEach=Ss;exports.decideIncomingCall=zd;exports.decisionBand=ts;exports.defaultLocaleOf=Mr;exports.defaultStatusKey=_d;exports.defaultTemplateBlocks=$o;exports.defineIntent=af;exports.delegationRefusal=Hs;exports.depthOf=Or;exports.derivePresence=wf;exports.describeClause=Es;exports.describeExpression=Il;exports.disabledIntentsFromCapabilities=Xd;exports.documentBodyBytes=Bn;exports.documentKindOf=vf;exports.documentOutline=Gn;exports.documentToMarkdown=Et;exports.documentToText=bf;exports.driftedFields=po;exports.dueAtOf=Xl;exports.dueDateFrom=qu;exports.elapsedSeconds=gu;exports.emailDomain=mp;exports.emptyConditionLeaf=bl;exports.endpointKey=Ep;exports.entityOwnerIds=Vs;exports.erlangC=xr;exports.extractParams=ai;exports.extractTerms=yi;exports.failureLines=Oa;exports.fieldVarPath=wl;exports.fillDocument=Ta;exports.fillText=nr;exports.filterByEndpoint=Zd;exports.filterByIntent=Jd;exports.filterByTargetScheme=ni;exports.filterableDimensions=ys;exports.findAiVendor=J;exports.findEvent=Dl;exports.fixedLevelForName=ru;exports.fixedTypeForName=ld;exports.fixedTypes=ud;exports.flattenLocales=Mf;exports.floorToPeriod=j;exports.forecastIntervals=wc;exports.formatActingIdentity=Wr;exports.formatCents=x;exports.formatClock=Eu;exports.formatHm=yu;exports.formatItemKey=pd;exports.formatPeriod=H;exports.formatSeriesNumber=Yu;exports.formatSlaDuration=Jl;exports.freshSources=Bd;exports.getActivitySeenUserIds=Wi;exports.getContactEndpoints=ia;exports.getShortTitle=Ba;exports.getUrgencyScore=Fa;exports.hasReacted=ml;exports.healthCategory=ou;exports.healthsInCategory=iu;exports.heightOf=Tt;exports.helpCenterText=Ha;exports.humanizeAction=qc;exports.interactionIdOf=eo;exports.isAgentUser=Zu;exports.isAssigned=Ka;exports.isAssignmentTerminal=$s;exports.isAssignmentTrigger=qr;exports.isAssistantMode=us;exports.isAuthoredCrmActivity=ya;exports.isAutoReady=al;exports.isAutonomy=Yc;exports.isAwaitingThem=Tr;exports.isChatMessageActivity=Yi;exports.isClosed=Ua;exports.isConnectedType=$i;exports.isDeepLink=jf;exports.isDescendant=vr;exports.isEligible=Ca;exports.isEmailActivity=Vi;exports.isFrozen=Lo;exports.isHeldClock=zl;exports.isHtmlBody=Kp;exports.isInFlight=ll;exports.isInteractionUnseen=pr;exports.isLandingPath=Wf;exports.isLikelyBulk=lr;exports.isMessageShape=mt;exports.isMessageType=wi;exports.isMoreSpecificPattern=li;exports.isNoteShape=gt;exports.isOpenClock=_o;exports.isOutwardTool=Pt;exports.isParked=Er;exports.isPaused=ao;exports.isPlaybookAuthoredType=Pi;exports.isPublicEmailDomain=hp;exports.isPublicPath=zf;exports.isReminderActive=_r;exports.isReplyableType=Li;exports.isSlaAtRisk=Pa;exports.isSupportedCron=vl;exports.isTerminal=cl;exports.isThreadLongEnough=Na;exports.isTranscriptType=Ki;exports.isWebhookEvent=ed;exports.isWorkClosed=Ad;exports.isWorkTypeVisible=Au;exports.isWriteTool=Bt;exports.itemDossierKeys=hd;exports.judgeRuleCase=Ml;exports.kindFor=w;exports.ladderFor=Vo;exports.levelIn=To;exports.levelOrder=ve;exports.lineNet=Rr;exports.linkLabel=Ga;exports.listedTransactionKinds=Ou;exports.listeningAllowed=ds;exports.localeInstruction=Va;exports.localeName=Wa;exports.localesOf=za;exports.looksLikeEmail=fp;exports.lookup=St;exports.marginCents=Js;exports.markdownToDocument=Sf;exports.matchApprovalPolicy=Ts;exports.matchContactToIntents=ef;exports.matchPublicRoute=ui;exports.matchRules=fo;exports.mcpCredentialScope=Ja;exports.mcpToolPrefix=Za;exports.measureRatio=au;exports.mergeDefaultFlags=qi;exports.mergeShownKeys=op;exports.messageCountsAs=On;exports.metricOption=_s;exports.minutesOn=vt;exports.missingFieldPaths=Ll;exports.modelAcceptsAttachment=Ji;exports.mustAsk=di;exports.narrowAutonomy=Xc;exports.needsPhoneRegion=yp;exports.nestsUnderParent=Di;exports.nextLevelBelow=nu;exports.nextOccurrenceDates=Dd;exports.nextSlaClock=ql;exports.nextStatuses=Do;exports.nextVersion=wu;exports.normalizeArtifactBlocks=Fn;exports.normalizeBlocks=Ci;exports.normalizeDocumentBlocks=Fn;exports.normalizeEmail=Gt;exports.normalizeExample=$;exports.normalizeGtin=Yn;exports.notificationPrefKey=Nf;exports.novelty=Ei;exports.operationDescriptor=_f;exports.operationsForKind=Ef;exports.opsForFieldType=Rl;exports.organizationSender=Ia;exports.outcomeOf=Id;exports.overlapSeconds=ae;exports.overlaps=bc;exports.paceRatio=cu;exports.parkMarksById=Ma;exports.parse=co;exports.parseActingIdentity=Kc;exports.parseAmount=qs;exports.parseClockMinutes=Kl;exports.parseCron=Rt;exports.parseItemKey=md;exports.parseRecurrence=wd;exports.pathToRegex=si;exports.patternFor=Mt;exports.patternStartTime=Ct;exports.pauseBitFor=Ul;exports.pendingApprovers=Is;exports.periodsInRange=gs;exports.phoneSuffix=pp;exports.pickMailHeaders=Ra;exports.pickTemplate=Aa;exports.placeLumps=$c;exports.plainTextFromMarkdown=Tn;exports.planSlaEvent=Yl;exports.plannedBillable=Ic;exports.plannedWorkTypeKey=Fr;exports.procedureOf=il;exports.productHref=Hu;exports.productScopeKey=Bu;exports.projectDossierKeys=yd;exports.proposalRequestIds=bs;exports.publicBasePathFor=ci;exports.publicRoutePatterns=Yf;exports.reactionWakesAssignment=Fs;exports.readDefaultFlags=Xi;exports.readPath=fe;exports.readStepError=se;exports.recencyOf=yr;exports.recipientLocale=_a;exports.refKey=Jr;exports.registrableDomain=bi;exports.rejectExampleCandidate=Ro;exports.relatedByDefault=ic;exports.remainingMsOf=Oe;exports.repriceLines=ta;exports.requiredAgents=Kr;exports.requirementFor=Ur;exports.resolveAccountCapabilities=ti;exports.resolveActivityText=pe;exports.resolveAutonomy=zc;exports.resolveChannelIntents=ei;exports.resolvePrice=Xn;exports.resolveRoute=Zi;exports.resolveSignature=Qn;exports.resolveTier=Nn;exports.resolveWorkMode=Lf;exports.resourceKindOf=Ff;exports.rollupChildren=du;exports.roundHalfUp=W;exports.runActor=Uc;exports.runApprovalKey=Gc;exports.runEvalSuite=va;exports.runIdOfApprovalRef=Hc;exports.runInteractionId=dl;exports.runKind=sl;exports.runOutcome=Nl;exports.sanitizeInline=Un;exports.sanitizeTranscript=fi;exports.scheduleEntryScopeKey=Dc;exports.scoreInteraction=$a;exports.scoreWorkItem=id;exports.segmentIsEmpty=fa;exports.selectLenses=Qa;exports.serialize=ce;exports.serviceLevel=Pr;exports.sessionsHoldCannotReach=Yd;exports.sessionsToHold=Vd;exports.shadowByKey=Ys;exports.shareKeyForTeam=At;exports.shareKeyForUser=_t;exports.shareKeysForViewer=Ls;exports.shortfalls=Oc;exports.shouldRunAudioPipeline=xf;exports.slaBadgeTone=Ql;exports.slaHoursByInbox=xa;exports.slaHoursFor=br;exports.sortStatuses=zo;exports.sourceKey=Zo;exports.spreadOverWeights=jr;exports.statusIn=Ed;exports.statusRequiresApproval=Td;exports.stepDate=qo;exports.stepsOf=ol;exports.strategyAncestorKeysFor=eu;exports.strategyDossierKeys=Zl;exports.strategyItemScopeKey=wt;exports.stripHtml=In;exports.subjectKeyOf=ul;exports.subjectOf=kt;exports.subjectRef=jd;exports.suggestProjectKey=gd;exports.suggestedHealth=lu;exports.summariseEval=ir;exports.summarizeReactions=fl;exports.targetById=Wc;exports.targetForActivityType=jc;exports.targetOrder=pu;exports.taxRateFor=Nr;exports.termsFor=Lr;exports.toActingIdentity=Yr;exports.toE164=pt;exports.toTransactionTerm=Qu;exports.toolBareName=Qr;exports.toolDisplayName=Qc;exports.toolReversible=Fd;exports.toolSourceKinds=xs;exports.toolVerdict=ep;exports.topicOfferedForTeam=wo;exports.topicsForTeam=Iu;exports.trafficIntensity=$r;exports.transactionContext=Du;exports.transactionDossierKeys=Wu;exports.transactionHref=Gu;exports.transactionIdFromScope=ju;exports.transactionKind=C;exports.transactionScopeKey=Fo;exports.transactionSlots=Lu;exports.transactionTotals=ac;exports.triggerFillsVar=Zc;exports.truncateExample=No;exports.typeIn=cd;exports.typesFor=ad;exports.uniqueWorkStatusKey=Sd;exports.uniqueWorkTypeKey=_u;exports.usageMetricId=Ln;exports.usageMetrics=As;exports.validateQuestions=es;exports.validateStatuses=bd;exports.valueAtPath=Xr;exports.waitHoursOf=Ne;exports.wakesAssignment=Us;exports.workActivityScopeKey=fd;exports.workItemScopeKey=Wo;exports.workProjectScopeKey=Lt;exports.workRatio=uu;exports.workStatusKey=Xo;exports.workTypeKey=vo;exports.workingMsBetween=Se;exports.workstreamScopeKey=Lc;
|
|
47
|
+
`).trim()}const Ii=/<\s*(html|body|div|p|table|br|span)\b/i;function Up(e){return Ii.test(e)}function Fp(e){return Oi(e,!1)}function Bp(e){return Oi(e,!0)}function Oi(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const s of Ap){const a=e.search(s);a>=0&&a<n&&(n=a)}const r=e.slice(0,n);let o=bn(Sn(_n(r,t)));return o||(o=bn(Sn(_n(e,t)))),bp(o)||o}exports.ACTIVE_ASSIGNMENT_STATUSES=$s;exports.ACTIVITY_CATALOG=L;exports.AI_ATTACHMENT_LIMITS=Jo;exports.AI_ATTACHMENT_MAX_PER_TURN=Kd;exports.AI_ATTACHMENT_TURN_BUDGET=$d;exports.AI_CAPABILITIES=Me;exports.AI_TOOL_PROVIDER_GROUP=Fd;exports.AI_VENDORS=ht;exports.ALLOWED_LINK_SCHEMES=Kn;exports.APP_PERMISSIONS=wf;exports.ARTICLE_SCOPE_KIND=Wa;exports.ARTIFACT_MAX_BLOCKS=me;exports.ARTIFACT_MAX_BODY_BYTES=$n;exports.ARTIFACT_MAX_CELL_LEN=F;exports.ARTIFACT_MAX_KPI_ITEMS=Ee;exports.ARTIFACT_MAX_LIST_ITEMS=ge;exports.ARTIFACT_MAX_TABLE_COLUMNS=ye;exports.ARTIFACT_MAX_TABLE_ROWS=he;exports.ARTIFACT_MAX_TEXT_LEN=ke;exports.ASSIGNMENT_SCOPE_KIND=jn;exports.ASSIST_BANDS=jd;exports.ASSIST_SOURCE_PROVIDER_GROUP=Hd;exports.ATTENTION_STATUSES=mr;exports.AT_RISK_GAP=Io;exports.AUTH_APP_NAME=Ut;exports.AUTO_READY_MIN_PROPOSALS=oo;exports.AUTO_READY_RATE=io;exports.ActivityTypeRegistry=Mn;exports.BUILT_IN_ONLY=ji;exports.BULK_PENALTY=gr;exports.BUSINESS_ENTITY_LIST_SERVICE=Ws;exports.CADENCE_FLOOR_MS=mi;exports.CADENCE_MIN_NEW_SEGMENTS=gi;exports.CADENCE_MIN_NOVELTY=hi;exports.CADENCE_WINDOW_MS=pi;exports.CLASSIFY_VARS=tl;exports.CLEARABLE_FIELDS=Ru;exports.CONNECTOR_PROVIDER_GROUP=pf;exports.CONTEXT_COLLECT_SERVICE=mf;exports.CORE_DIMENSIONS=ps;exports.CRM_ACTIVITY_SCOPE_KIND=ma;exports.CRM_CALL_CHANNELS=ha;exports.CRM_CALL_LOGGED=tr;exports.CRM_CALL_OUTCOMES=ya;exports.CRM_NOTE_ADDED=er;exports.CRM_STAGE_CHANGED=ga;exports.CommunicationScheme=ri;exports.DAY_MS=ar;exports.DEFAULT_CHECK_IN_DAYS=bo;exports.DEFAULT_FORECAST_WEEKS=Br;exports.DEFAULT_MEMORY_BUDGET=ic;exports.DEFAULT_NUMBER_PADDING=Yu;exports.DEFAULT_PHONE_REGION=Si;exports.DEFAULT_QUOTE_TEMPLATE_BLOCKS=Bu;exports.DEFAULT_TEMPLATE_CONDITIONS=Uu;exports.DEMAND_SOURCE_PROVIDER_GROUP=Ec;exports.DOCUMENT_APPLY_SERVICE=vf;exports.DOCUMENT_DESCRIBE_SERVICE=If;exports.DOCUMENT_INSPECT_SERVICE=Of;exports.DOCUMENT_MAX_BLOCKS=me;exports.DOCUMENT_MAX_BODY_BYTES=$n;exports.DOCUMENT_MAX_CELL_LEN=F;exports.DOCUMENT_MAX_KPI_ITEMS=Ee;exports.DOCUMENT_MAX_LETTERHEAD_FIELDS=et;exports.DOCUMENT_MAX_LIST_ITEMS=ge;exports.DOCUMENT_MAX_RECIPIENT_LINES=Pn;exports.DOCUMENT_MAX_TABLE_COLUMNS=ye;exports.DOCUMENT_MAX_TABLE_ROWS=he;exports.DOCUMENT_MAX_TEXT_LEN=ke;exports.DOCUMENT_MAX_TOTALS_ROWS=tt;exports.DOCUMENT_OPERATIONS=$t;exports.DRAFT_FIELDS=Nu;exports.DUTCH_SLOT_LABELS=Po;exports.EMPTY_WORKFLOW=ol;exports.ENABLED_TRANSACTION_KINDS=Dt;exports.FEATURE_FOLDER_MANAGEMENT=lf;exports.FEATURE_MESSAGE_REACTIONS=df;exports.FEATURE_REMOTE_SEARCH=uf;exports.FIXED_KINDS=Re;exports.FIXED_LEVELS=ee;exports.FIXED_TYPES=Pe;exports.FIXED_UNITS=ra;exports.FOLLOW_UP_HOURS=hr;exports.FROZEN_WRITABLE_FIELDS=ku;exports.HOUR_MS=sr;exports.HTML_BODY_RE=Ii;exports.INELIGIBLE=P;exports.INSTALLATION_HEADER=Mf;exports.INTERACTION_KIND=Zr;exports.InteractionParticipantRole=af;exports.KB_FALLBACK_LOCALE=Cr;exports.KB_LOCALES=_e;exports.LEAD_STATUSES=ca;exports.LIFECYCLE_STAGES=aa;exports.LOCALES=_e;exports.LOOSE_STATUSES=$e;exports.MAIL_HINT_HEADERS=fr;exports.MANUAL_PRICE_SOURCE=qn;exports.MAX_ACTIONS=ie;exports.MAX_ASSIGNMENT_TURNS=Wn;exports.MAX_BLOCKS=ze;exports.MAX_CHOICE_OPTIONS=qe;exports.MAX_COLLECTION_DEPTH=bt;exports.MAX_DELEGATION_DEPTH=Vn;exports.MAX_EDITABLE_FILE_BYTES=qf;exports.MAX_FIELDS=re;exports.MAX_LIST_ITEMS=oe;exports.MAX_MEMORY_BROWSE=tc;exports.MAX_MEMORY_BUDGET=oc;exports.MAX_MEMORY_CHARS=nc;exports.MAX_RULE_DEPTH=ut;exports.MAX_SCORE_LEVELS=Je;exports.MAX_SHOWN_KEYS=Ai;exports.MAX_TOPIC_CANDIDATES=ko;exports.MAX_TOPIC_EXAMPLES=Mo;exports.MAX_TOPIC_EXAMPLE_CHARS=le;exports.MAX_VIEWABLE_FILE_BYTES=Qf;exports.MIN_MEMORY_BUDGET=rc;exports.MIN_SCORE_LEVELS=Qe;exports.MODEL_TIERS=B;exports.NAV_NOTICE_SLOT=cp;exports.NL_PAYMENT_TERMS=Zu;exports.NL_TAX_RATES=ac;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=Nf;exports.OFF_TRACK_GAP=Oo;exports.ONBOARDING_SOURCE_PROVIDER_GROUP=lc;exports.PAUSE_HOLD=Ie;exports.PAUSE_SNOOZED=be;exports.PAUSE_WAITING_FOR_CUSTOMER=Te;exports.PAYMENT_TERM_METHODS=qu;exports.PHONE_REGIONS=Ke;exports.PLAYBOOK_RUN_APPROVAL_ACT=Gc;exports.PLAYBOOK_RUN_SCOPE_KIND=zr;exports.PRESENCE_ONLINE_WINDOW_MS=Kt;exports.PRESENCE_SURVIVES_OFFLINE=oi;exports.PRODUCT_SCOPE_KIND=Uo;exports.PROFILE_TOOL_DISPOSITIONS=dc;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=sf;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=of;exports.PUBLIC_EMAIL_DOMAINS=Ti;exports.READ_STEP_TYPES=nt;exports.RELATED_SUBJECT_KINDS=kr;exports.REPORT_VIEW_LAYOUTS=fs;exports.RESERVED_STATUS_KEYS=xt;exports.RESERVED_TYPE_KEYS=ad;exports.RESOURCE_ATTACHED_SERVICE=Ff;exports.RESOURCE_DESCRIBE_SERVICE=$f;exports.RESOURCE_RESOLVE_SERVICE=Uf;exports.RESOURCE_SEARCH_SERVICE=Kf;exports.SCHEDULE_ENTRY_SCOPE_KIND=Gr;exports.SCHEDULE_EVENT=uo;exports.SCOPE_ACTS_ROUTE=jf;exports.SCOPE_READ_ROUTE=Hf;exports.SCOPE_RELATED_ROUTE=Gf;exports.SEGMENT_FILTER_KEYS=ua;exports.SEGMENT_LAYOUTS=fa;exports.SEGMENT_LIST_FILTERS=Jn;exports.SEGMENT_PRESENCE_FILTERS=Zn;exports.SEGMENT_SORT_FIELDS=da;exports.SETTINGS_CATEGORIES=ap;exports.SIGNATURE_INTENTS=oa;exports.SLA_METRICS=Bl;exports.SLA_PAUSE_REASONS=Gl;exports.STATUS_NAMES=Cu;exports.STEP_MAX_TOKENS_MAX=no;exports.STEP_MAX_TOKENS_MIN=to;exports.STEP_TYPES=rl;exports.STRATEGY_ITEM_SCOPE_KIND=Ao;exports.SUMMARY_MIN_LAST_CHARS=dr;exports.SUMMARY_MIN_MESSAGES=ur;exports.SYNC_RUN_MAX_ERRORS=Zf;exports.SYNC_TARGET_PROVIDER_GROUP=Jf;exports.SYSTEM_ONE_NON_GOALS=ns;exports.TERMINAL_ASSIGNMENT_STATUSES=Hn;exports.TERMINAL_RUN_STATUSES=so;exports.TRANSACTION_KINDS=xe;exports.TRANSACTION_SCOPE_KINDS=Ko;exports.TRIGGER_VARS=Zc;exports.UNARY_OPS=bl;exports.UNKNOWN_KIND=wr;exports.UNKNOWN_LEVEL_ORDER=So;exports.UNSUPPORTED=ff;exports.USAGE_DIMENSIONS=wn;exports.USAGE_DIMENSION_IDS=Dn;exports.UnresolvedRefError=Nt;exports.WEBHOOK_EVENTS=Bo;exports.WORKSTREAM_SCOPE_KIND=Hr;exports.WORK_ACTIVITY_SCOPE_KIND=jo;exports.WORK_AREAS=uc;exports.WORK_COMMENT_ADDED=nd;exports.WORK_CYCLE_SYNC_KIND=fd;exports.WORK_ITEM_ASSIGNED=rd;exports.WORK_ITEM_SCOPE_KIND=Go;exports.WORK_ITEM_STATUS_CHANGED=od;exports.WORK_PROJECT_SCOPE_KIND=Ho;exports.WORK_SORT_FIELDS=Nd;exports.WORK_VIEW_FLAGS=kd;exports.WORK_VIEW_LAYOUTS=Rd;exports.WORK_VIEW_LIST_FILTERS=Md;exports.W_PRIORITY=q;exports.acceptExampleCandidate=Iu;exports.actingIdentityKey=Vr;exports.activeWorkTypes=bu;exports.activityIconOf=Ni;exports.activityJoinUrl=Fi;exports.activitySnippet=vn;exports.activityTextParams=Cn;exports.activityTimelineText=Ui;exports.activityTimestamp=kn;exports.activityTypeInfo=O;exports.actorKey=Bc;exports.addExampleCandidate=Tu;exports.addWorkingMs=we;exports.agePresenceEntry=Lf;exports.aiAttachmentKind=Qo;exports.aiAttachmentRejection=Ud;exports.aiBudgetLimit=Ze;exports.aiBudgetPeriodKey=ls;exports.aiBudgetPeriodStart=Rn;exports.aiBudgetState=cs;exports.aiVendorAcceptsAttachment=as;exports.aiVendorDefaultModel=os;exports.aiVendorLabel=rs;exports.aiVendorNeedsBaseUrl=ss;exports.aiVendorsWith=is;exports.allocate=zn;exports.appNameFromPath=Ft;exports.applyApprovalDecision=vs;exports.applyRounding=yu;exports.applySignature=ia;exports.approvalRate=ro;exports.artifactBodyBytes=Bn;exports.artifactOutline=Gn;exports.artifactToMarkdown=Et;exports.assignmentMismatch=Yc;exports.assignmentScopeKey=Us;exports.assignmentSubject=Gs;exports.availabilityByPerson=yc;exports.belongsOnCalendar=fc;exports.belongsToEntity=Vs;exports.billableTimeGroups=gu;exports.bindParams=_l;exports.bindValue=Ae;exports.buildActivityPreview=Gi;exports.buildChannelIntents=Jd;exports.buildShareKeys=Ls;exports.buildWindow=_i;exports.businessEntitySender=or;exports.calendarDaysBetween=Dr;exports.calendarOf=De;exports.canConvert=wu;exports.canNestUnder=za;exports.canParent=nu;exports.canTransition=Mu;exports.capabilityDefaultFlag=zi;exports.capacityTotal=gc;exports.capacityWeights=$c;exports.carriesText=xi;exports.categoryLabel=qa;exports.categoryOf=Yo;exports.causedBy=Ml;exports.channelKindForScheme=rf;exports.channelKindOf=Ri;exports.checkInOverdueMs=pu;exports.clampStepMaxTokens=nl;exports.classifyMail=xa;exports.cleanMessageMarkdown=Bp;exports.cleanMessageText=Fp;exports.codeQuery=qs;exports.compareAssistRank=Vd;exports.compareWorkTypes=Co;exports.conditionHolds=rr;exports.contactName=la;exports.copyFrom=xo;exports.countsAsPlanned=V;exports.coverageByPerson=hc;exports.coverageFor=Ic;exports.coversWorkstream=It;exports.crmActivityAt=_a;exports.cronMatches=lo;exports.currentPeriod=Xu;exports.cycleDayIndex=Ot;exports.cycleOrder=vd;exports.cycleState=Cd;exports.decideAssignmentState=Hs;exports.decideCadence=sp;exports.decideEach=bs;exports.decideIncomingCall=Xd;exports.decisionBand=ts;exports.defaultLocaleOf=Mr;exports.defaultStatusKey=Ad;exports.defaultTemplateBlocks=$o;exports.defineIntent=cf;exports.delegationRefusal=js;exports.depthOf=Or;exports.derivePresence=Df;exports.describeClause=_s;exports.describeExpression=Ol;exports.disabledIntentsFromCapabilities=qd;exports.documentBodyBytes=Bn;exports.documentKindOf=Cf;exports.documentOutline=Gn;exports.documentToMarkdown=Et;exports.documentToText=Tf;exports.driftedFields=po;exports.dueAtOf=ql;exports.dueDateFrom=Qu;exports.elapsedSeconds=hu;exports.emailDomain=gp;exports.emptyConditionLeaf=Tl;exports.endpointKey=_p;exports.entityOwnerIds=Ys;exports.erlangC=xr;exports.extractParams=ai;exports.extractTerms=yi;exports.failureLines=va;exports.fieldVarPath=Dl;exports.fillDocument=Ia;exports.fillText=nr;exports.filterByEndpoint=ef;exports.filterByIntent=Zd;exports.filterByTargetScheme=ni;exports.filterableDimensions=Es;exports.findAiVendor=J;exports.findEvent=Ll;exports.fixedLevelForName=ou;exports.fixedTypeForName=ud;exports.fixedTypes=dd;exports.flattenLocales=kf;exports.floorToPeriod=j;exports.forecastIntervals=Dc;exports.formatActingIdentity=Wr;exports.formatCents=x;exports.formatClock=_u;exports.formatHm=Eu;exports.formatItemKey=md;exports.formatPeriod=H;exports.formatSeriesNumber=zu;exports.formatSlaDuration=Zl;exports.freshSources=Gd;exports.getActivitySeenUserIds=Wi;exports.getContactEndpoints=sa;exports.getShortTitle=Ga;exports.getUrgencyScore=Ba;exports.hasReacted=gl;exports.healthCategory=iu;exports.healthsInCategory=su;exports.heightOf=Tt;exports.helpCenterText=ja;exports.humanizeAction=Qc;exports.interactionIdOf=eo;exports.isAgentUser=ed;exports.isAssigned=Ua;exports.isAssignmentTerminal=Ks;exports.isAssignmentTrigger=qr;exports.isAssistantMode=us;exports.isAuthoredCrmActivity=Ea;exports.isAutoReady=cl;exports.isAutonomy=zc;exports.isAwaitingThem=Tr;exports.isChatMessageActivity=Yi;exports.isClosed=Fa;exports.isConnectedType=$i;exports.isDeepLink=Wf;exports.isDescendant=vr;exports.isEligible=Ma;exports.isEmailActivity=Vi;exports.isFrozen=Lo;exports.isHeldClock=Xl;exports.isHtmlBody=Up;exports.isInFlight=ul;exports.isInteractionUnseen=pr;exports.isLandingPath=Vf;exports.isLikelyBulk=lr;exports.isMessageShape=mt;exports.isMessageType=wi;exports.isMoreSpecificPattern=li;exports.isNoteShape=gt;exports.isOpenClock=_o;exports.isOutwardTool=Pt;exports.isParked=Er;exports.isPaused=ao;exports.isPlaybookAuthoredType=Pi;exports.isPublicEmailDomain=yp;exports.isPublicPath=Xf;exports.isReminderActive=_r;exports.isReplyableType=Li;exports.isSlaAtRisk=$a;exports.isSupportedCron=Cl;exports.isTerminal=ll;exports.isThreadLongEnough=Ra;exports.isTranscriptType=Ki;exports.isWebhookEvent=td;exports.isWorkClosed=Sd;exports.isWorkTypeVisible=Su;exports.isWriteTool=Bt;exports.itemDossierKeys=yd;exports.judgeRuleCase=kl;exports.kindFor=w;exports.ladderFor=Vo;exports.levelIn=To;exports.levelOrder=ve;exports.lineNet=Rr;exports.linkLabel=Ha;exports.listedTransactionKinds=vu;exports.listeningAllowed=ds;exports.localeInstruction=Ya;exports.localeName=Va;exports.localesOf=Xa;exports.looksLikeEmail=pp;exports.lookup=St;exports.marginCents=Zs;exports.markdownToDocument=bf;exports.matchApprovalPolicy=Is;exports.matchContactToIntents=tf;exports.matchPublicRoute=ui;exports.matchRules=fo;exports.mcpCredentialScope=Za;exports.mcpToolPrefix=ec;exports.measureRatio=cu;exports.mergeDefaultFlags=qi;exports.mergeShownKeys=ip;exports.messageCountsAs=On;exports.metricOption=As;exports.minutesOn=vt;exports.missingFieldPaths=xl;exports.modelAcceptsAttachment=Ji;exports.mustAsk=di;exports.narrowAutonomy=qc;exports.needsPhoneRegion=Ep;exports.nestsUnderParent=Di;exports.nextLevelBelow=ru;exports.nextOccurrenceDates=Ld;exports.nextSlaClock=Ql;exports.nextStatuses=Do;exports.nextVersion=Du;exports.normalizeArtifactBlocks=Fn;exports.normalizeBlocks=Ci;exports.normalizeDocumentBlocks=Fn;exports.normalizeEmail=Gt;exports.normalizeExample=$;exports.normalizeGtin=Yn;exports.notificationPrefKey=Rf;exports.novelty=Ei;exports.operationDescriptor=Af;exports.operationsForKind=_f;exports.opsForFieldType=wl;exports.organizationSender=Oa;exports.outcomeOf=Od;exports.overlapSeconds=ae;exports.overlaps=Tc;exports.paceRatio=lu;exports.parkMarksById=ka;exports.parse=co;exports.parseActingIdentity=Uc;exports.parseAmount=Qs;exports.parseClockMinutes=Ul;exports.parseCron=Rt;exports.parseItemKey=gd;exports.parseRecurrence=Dd;exports.pathToRegex=si;exports.patternFor=Mt;exports.patternStartTime=Ct;exports.pauseBitFor=Fl;exports.pendingApprovers=Os;exports.periodsInRange=hs;exports.phoneSuffix=mp;exports.pickMailHeaders=wa;exports.pickTemplate=Sa;exports.placeLumps=Kc;exports.plainTextFromMarkdown=Tn;exports.planSlaEvent=zl;exports.plannedBillable=Oc;exports.plannedWorkTypeKey=Fr;exports.procedureOf=sl;exports.productHref=ju;exports.productScopeKey=Gu;exports.projectDossierKeys=Ed;exports.proposalRequestIds=Ts;exports.publicBasePathFor=ci;exports.publicRoutePatterns=zf;exports.reactionWakesAssignment=Bs;exports.readDefaultFlags=Xi;exports.readPath=fe;exports.readStepError=se;exports.recencyOf=yr;exports.recipientLocale=Aa;exports.refKey=Jr;exports.registrableDomain=bi;exports.rejectExampleCandidate=Ro;exports.relatedByDefault=sc;exports.remainingMsOf=Oe;exports.repriceLines=na;exports.requiredAgents=Kr;exports.requirementFor=Ur;exports.resolveAccountCapabilities=ti;exports.resolveActivityText=pe;exports.resolveAutonomy=Xc;exports.resolveChannelIntents=ei;exports.resolvePrice=Xn;exports.resolveRoute=Zi;exports.resolveSignature=Qn;exports.resolveTier=Nn;exports.resolveWorkMode=xf;exports.resourceKindOf=Bf;exports.rollupChildren=fu;exports.roundHalfUp=W;exports.runActor=Fc;exports.runApprovalKey=Hc;exports.runEvalSuite=Ca;exports.runIdOfApprovalRef=jc;exports.runInteractionId=fl;exports.runKind=al;exports.runOutcome=Rl;exports.sanitizeInline=Un;exports.sanitizeTranscript=fi;exports.scheduleEntryScopeKey=Lc;exports.scoreInteraction=Ka;exports.scoreWorkItem=sd;exports.segmentIsEmpty=pa;exports.selectLenses=Ja;exports.serialize=ce;exports.serviceLevel=Pr;exports.sessionsHoldCannotReach=zd;exports.sessionsToHold=Yd;exports.shadowByKey=zs;exports.shareKeyForTeam=At;exports.shareKeyForUser=_t;exports.shareKeysForViewer=xs;exports.shortfalls=vc;exports.shouldRunAudioPipeline=Pf;exports.slaBadgeTone=Jl;exports.slaHoursByInbox=Pa;exports.slaHoursFor=br;exports.sortStatuses=zo;exports.sourceKey=Zo;exports.spreadOverWeights=jr;exports.statusIn=_d;exports.statusRequiresApproval=Id;exports.stepDate=qo;exports.stepsOf=il;exports.strategyAncestorKeysFor=tu;exports.strategyDossierKeys=eu;exports.strategyItemScopeKey=wt;exports.stripHtml=In;exports.subjectKeyOf=dl;exports.subjectOf=kt;exports.subjectRef=Wd;exports.suggestProjectKey=hd;exports.suggestedHealth=uu;exports.summariseEval=ir;exports.summarizeReactions=pl;exports.targetById=Vc;exports.targetForActivityType=Wc;exports.targetOrder=mu;exports.taxRateFor=Nr;exports.termsFor=Lr;exports.toActingIdentity=Yr;exports.toE164=pt;exports.toTransactionTerm=Ju;exports.toolBareName=Qr;exports.toolDisplayName=Jc;exports.toolReversible=Bd;exports.toolSourceKinds=Ps;exports.toolVerdict=tp;exports.topicOfferedForTeam=wo;exports.topicsForTeam=Ou;exports.trafficIntensity=$r;exports.transactionContext=Lu;exports.transactionDossierKeys=Vu;exports.transactionHref=Hu;exports.transactionIdFromScope=Wu;exports.transactionKind=C;exports.transactionScopeKey=Fo;exports.transactionSlots=xu;exports.transactionTotals=cc;exports.triggerFillsVar=el;exports.truncateExample=No;exports.typeIn=ld;exports.typesFor=cd;exports.uniqueWorkStatusKey=bd;exports.uniqueWorkTypeKey=Au;exports.usageMetricId=Ln;exports.usageMetrics=Ss;exports.validateQuestions=es;exports.validateStatuses=Td;exports.valueAtPath=Xr;exports.waitHoursOf=Ne;exports.wakesAssignment=Fs;exports.workActivityScopeKey=pd;exports.workItemScopeKey=Wo;exports.workProjectScopeKey=Lt;exports.workRatio=du;exports.workStatusKey=Xo;exports.workTypeKey=vo;exports.workingMsBetween=Se;exports.workstreamScopeKey=xc;
|