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