@opencxh/domain 1.288.0 → 1.290.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/bank/bank.test.d.ts +1 -0
- package/dist/entities/bank/index.d.ts +3 -0
- package/dist/entities/bank/match.d.ts +52 -0
- package/dist/entities/bank/parse.d.ts +13 -0
- package/dist/entities/bank/types.d.ts +197 -0
- package/dist/entities/bookkeeping/index.d.ts +2 -0
- package/dist/entities/bookkeeping/receipt.d.ts +104 -0
- package/dist/entities/bookkeeping/receipt.test.d.ts +1 -0
- package/dist/entities/bookkeeping/types.d.ts +114 -0
- package/dist/entities/bookkeeping/types.test.d.ts +1 -0
- package/dist/entities/business-entity/types.d.ts +21 -1
- package/dist/entities/company/identifiers.d.ts +9 -0
- package/dist/entities/company/identifiers.test.d.ts +1 -0
- package/dist/entities/company/index.d.ts +1 -0
- package/dist/entities/company/types.d.ts +9 -0
- package/dist/entities/financing/closing-schedules.test.d.ts +1 -0
- package/dist/entities/financing/index.d.ts +2 -0
- package/dist/entities/financing/schedule.d.ts +71 -0
- package/dist/entities/financing/schedule.test.d.ts +1 -0
- package/dist/entities/financing/types.d.ts +135 -0
- package/dist/entities/ledger/closing.d.ts +18 -0
- package/dist/entities/ledger/closing.test.d.ts +1 -0
- package/dist/entities/ledger/entry.d.ts +83 -0
- package/dist/entities/ledger/index.d.ts +6 -0
- package/dist/entities/ledger/ledger.test.d.ts +1 -0
- package/dist/entities/ledger/periods.d.ts +9 -0
- package/dist/entities/ledger/template.d.ts +35 -0
- package/dist/entities/ledger/types.d.ts +178 -0
- package/dist/entities/ledger/xaf.d.ts +82 -0
- package/dist/entities/money/tax.d.ts +62 -0
- package/dist/entities/money/tax.test.d.ts +1 -0
- package/dist/entities/reports/index.d.ts +2 -0
- package/dist/entities/reports/reports.d.ts +90 -0
- package/dist/entities/reports/reports.test.d.ts +1 -0
- package/dist/entities/reports/vat.d.ts +59 -0
- package/dist/entities/transaction/booking.d.ts +14 -0
- package/dist/entities/transaction/booking.test.d.ts +1 -0
- package/dist/entities/transaction/convert.d.ts +5 -0
- package/dist/entities/transaction/dunning.d.ts +37 -0
- package/dist/entities/transaction/dunning.test.d.ts +1 -0
- package/dist/entities/transaction/index.d.ts +4 -0
- package/dist/entities/transaction/receivable.d.ts +47 -0
- package/dist/entities/transaction/receivable.test.d.ts +1 -0
- package/dist/entities/transaction/settlement.d.ts +20 -0
- package/dist/entities/transaction/settlement.test.d.ts +1 -0
- package/dist/entities/transaction/types.d.ts +20 -2
- package/dist/index.cjs +24 -21
- package/dist/index.d.ts +7 -1
- package/dist/index.js +4098 -2589
- package/dist/platform/bookkeeping.d.ts +276 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -1,12 +1,15 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const lt=10,me=10,ge=10,he=5,Hi=new Set(["header","section","context","divider","image","list","actions","attachments"]);function Qe(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 zi(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=lt){t(`more than ${lt} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!Hi.has(o.type)){t(`unknown block type ${String(o.type)}`);continue}switch(o.type){case"header":if(!Qe(o.text)){t("a header without text");continue}break;case"context":if(!Qe(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>me&&(t(`more than ${me} fields in a section`),o.fields=o.fields.slice(0,me));break;case"list":if(!Array.isArray(o.items)||o.items.length===0){t("a list without items");continue}o.items.length>ge&&(t(`more than ${ge} list items`),o.items=o.items.slice(0,ge));break;case"actions":{const s=Array.isArray(o.elements)?o.elements:[],i=s.filter(a=>a?.action_id&&a.invoke&&Qe(a.text));if(i.length!==s.length&&t("an action without action_id, invoke or text"),i.length===0)continue;i.length>he&&t(`more than ${he} actions`),o.elements=i.slice(0,he);break}}n.push(o)}return n}const Yi=/(\*\*|__)(?=\S)([\s\S]*?\S)\1/g,Xi=/(\*|_)(?=\S)([^*_\n]*?\S)\1/g;function ar(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(ts,"$2"),t=t.replace(ns,"$2"),t=t.replace(/~~(?=\S)([\s\S]*?\S)~~/g,"$1"),t=t.replace(/`([^`\n]+)`/g,"$1"),t.replace(/\s+/g," ").trim()}function Ln(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 re(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 Zt(e){return e?` — ${Math.floor(e/60)}m ${e%60}s`:""}function je(e){return e?.split("@")?.[0]||e||""}function oe(e){return e.map(t=>t.name).join(", ")}function en(e){return e==="meeting"?"Meeting":e==="video"?"Video call":"Audio call"}const x={VOICE_CALL_STARTED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gesprek gestart",timeline:e=>e.direction==="inbound"?`Inbound call started — ${je(e.payload.from)}`:`Outbound call started — ${je(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?` (${re(e.payload.duration)})`:""}`,timeline:e=>`Call ended${Zt(e.payload.duration)}`},VOICE_CALL_MISSED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gemiste oproep",timeline:e=>`Missed call — ${je(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?` (${re(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:tn},EMAIL_SENT:{shape:"message",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:tn},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=>`${oe(e.payload.members)} toegevoegd`,timeline:e=>{const t=oe(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=>`${oe(e.payload.members)} verlaten`,timeline:e=>{const t=oe(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=>`${en(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?` (${re(e.payload.duration)})`:""}`,timeline:e=>`${en(e.payload.callType)} ended${Zt(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?` (${re(e.payload.duration)})`:""}`,timeline:()=>"Meeting ended"},MEETING_PARTICIPANT_JOINED:{shape:"event",icon:"calendar",snippet:e=>`${e.payload.name} deelgenomen`,timeline:(e,t)=>`${t} joined the meeting`},MEETING_PARTICIPANT_LEFT:{shape:"event",icon:"calendar",snippet:e=>`${e.payload.name} verlaten`,timeline:(e,t)=>`${t} left the meeting`},INTERACTION_CREATED:{shape:"event",icon:"circle",snippet:()=>"Interactie aangemaakt",timeline:(e,t)=>`Interaction started by ${t}`},INTERACTION_STATUS_CHANGED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.INTERACTION_STATUS_CHANGED",icon:"circle-dot",snippet:e=>`Status: ${e.payload.fromStatus} → ${e.payload.toStatus}`,timeline:(e,t)=>`Status changed to ${e.payload.toStatus} by ${t}`},INTERACTION_ASSIGNED:{shape:"event",icon:"user",snippet:()=>"Interactie toegewezen",timeline:(e,t)=>`Assigned by ${t}`},SLA_BREACHED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.SLA_BREACHED",icon:"alarm-clock",snippet:e=>`SLA verlopen: ${e.payload.metric}`,timeline:e=>`SLA target ${e.payload.metric} passed its deadline`},WORK_COMMENT_ADDED:{shape:"note",icon:"sticky-note",carriesText:!0,snippet:()=>"Reactie"},WORK_ITEM_ASSIGNED:{shape:"event",icon:"user",snippet:()=>"Taak toegewezen",timeline:(e,t)=>`Assigned by ${t}`},WORK_ITEM_STATUS_CHANGED:{shape:"event",triggerable:!0,icon:"circle-dot",snippet:()=>"Status gewijzigd",timeline:(e,t)=>`Status changed by ${t}`},CRM_NOTE_ADDED:{shape:"note",icon:"sticky-note",carriesText:!0,snippet:()=>"Notitie"},CRM_CALL_LOGGED:{shape:"note",icon:"phone",carriesText:!0,snippet:()=>"Gesprek vastgelegd"},CRM_STAGE_CHANGED:{shape:"event",icon:"circle-dot",snippet:()=>"Fase gewijzigd",timeline:(e,t)=>`Stage changed by ${t}`}};function tn(e){const t=e.payload,n=Dn(t.bodyText).trim()||t.bodySnippet?.trim()||Ln(t.body??"");return t.subject?`${t.subject} — ${n}`:n}function R(e){return x[e]}function rs(e){return R(e)?.icon??"circle"}function os(e){return R(e)?.channelKind}function At(e){return e==="message"||e==="note"}function is(e){return At(R(e)?.shape)}function bt(e){return e==="note"}function ss(e){return bt(R(e)?.shape)}function as(e){return R(e)?.replyable===!0}function cs(e){return R(e)?.carriesText===!0}function xn(e){return R(e)?.countsAs}function ls(e){return R(e)?.playbookAuthored===!0}function us(e){return R(e)?.connected===!0}function ds(e){const t=R(e);return t?.shape==="artifact"&&t?.carriesText===!0}function Pn(e){const t=R(e.type)?.snippet;return t?t(e):""}function fs(e,t){const n=R(e.type)?.timeline;return n?n(e,t):e.type.replace(/_/g," ").toLowerCase()}function ps(e){const t=R(e.type)?.joinUrl;return t?t(e):void 0}function ge(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 he(e,t,n){if(e===void 0)return null;if(typeof e=="string")return e||null;if("value"in e)return ge(t,e.value)||null;const r={};for(const[i,s]of Object.entries(e.params??{}))r[i]=ge(t,s);const o=n(e.key,r);return o===e.key?null:o}function $n(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]=ge(t,o);return{key:e.key,params:n}}const nn=140;function ms(e){const t=e.trim();return t.length<=nn?t:`${t.slice(0,nn-1).trimEnd()}…`}function gs(e,t){const n=$n(t?.text,e),r=t?he(t.text,e,o=>o):null;return{activityId:e.id,type:e.type,snippet:ms(r??Pn(e)),authorName:e.author?.name??"",direction:e.direction,createdAt:e.createdAt??Date.now(),...n?{snippetKey:n.key,snippetParams:n.params}:{}}}const hs=e=>e;function rn(e){const t=x[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 on(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 Un{constructor(t=[],n=hs){this.translate=n;for(const r of t)r?.type&&(r.type in x||this.declared.has(r.type)||this.declared.set(r.type,r))}declared=new Map;get(t){if(t in x)return rn(t);const n=this.declared.get(t);return n?on(n):void 0}triggerable(){const t=Object.keys(x).filter(r=>x[r].triggerable).map(rn),n=[...this.declared.values()].map(on).filter(r=>r.triggerable);return[...t,...n]}timelineText(t,n){const r=x[t.type];if(r?.timeline)return r.timeline(t,n);const o=this.declared.get(t.type);return he(o?.text,t,this.translate)??t.type.replace(/_/g," ").toLowerCase()}snippet(t){const n=x[t.type];if(n?.snippet)return n.snippet(t);const r=this.declared.get(t.type);return he(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 At(this.get(t)?.shape)}nestsUnderParent(t){return bt(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 ys=new Un;function Es(e,t,n=[]){const r=e.createdAt;if(!r)return[];const o=new Set(n);return e.author.type==="user"&&e.author.id&&o.add(e.author.id),Object.entries(t).filter(([i,s])=>s>=r&&!o.has(i)).map(([i])=>i)}function Kn(e){return e.createdAt??0}function _s(e){return e.type==="EMAIL_RECEIVED"||e.type==="EMAIL_SENT"}function Ss(e){return e.type==="CHAT_MESSAGE_SENT"||e.type==="CHAT_MESSAGE_RECEIVED"}const Ne=[{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 As(e){return Ne.find(t=>t.id===e)?.defaultFlag}function bs(e){const t={};for(const n of Ne)t[n.defaultFlag]=e?.[n.defaultFlag]===!0;return t}function Ts(e,t){const n={};for(const r of Ne){const o=r.defaultFlag;n[o]=(e?.[o]??t?.[o])===!0}return n}const Is={image:"image",pdf:"file",text:"text",audio:"audio",video:"video"};function Os(e,t){if(t==="text")return!0;if(!e?.in?.length)return;const n=Is[t];return n?e.in.includes(n):!1}const j=["fast","standard","deep"],sn=(e,t)=>{const n=j.indexOf(e),r=Math.min(j.length-1,Math.max(0,n+t));return j[r]},Je=e=>j.indexOf(e);function Fn(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=sn(n,1),t.push("herstelbeurt: een tier omhoog")),e.budgetPressure==="soft"&&n!=="fast"&&(n=sn(n,-1),t.push("budget bijna op: een tier omlaag in plaats van weigeren")),e.maxTier&&Je(n)>Je(e.maxTier)&&(n=e.maxTier,t.push(`plafond van de rol: ${e.maxTier}`)),{tier:n,reasons:t}}function Ms(e,t,n){const r=Fn(t);if(!e)return{...r,...n,routed:!1};for(let o=Je(r.tier);o>=0;o--){const i=j[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 Ze=255,et=2,tt=10;function vs(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>Ze)return`vraag "${n}" heeft meer dan ${Ze} opties`}if(r.type==="score"){const o=r.criteria?.length??0;if(o<et||o>tt)return`vraag "${n}" heeft ${o} niveaus; het moeten er ${et} tot ${tt} zijn`}}return null}function Cs(e,t=.9,n=.6){return Number.isFinite(e)?e>=t?"act":e>=n?"check":"refuse":"refuse"}const ks=["counting or arithmetic","comparing dates or durations","judging whether two numbers are close","generating text"],Tt=[{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 ee(e){return Tt.find(t=>t.id===e)}function Rs(e){return ee(e)?.label??e}function Ns(e,t="gpt-5-mini"){return ee(e)?.defaultModel??t}function ws(e){return Tt.filter(t=>t.capabilities.includes(e))}function Ds(e){const t=ee(e);return!!t&&!t.baseUrl}function Ls(e,t){return t==="text"?!0:ee(e)?.attachmentKinds?.includes(t)===!0}function xs(e,t){if(!e.enabled)return"ok";const n=nt(e.hardLimitNanos),r=nt(e.softLimitNanos);return n!==void 0&&t>=n?"hard":r!==void 0&&t>=r?"soft":"ok"}function nt(e){return typeof e=="number"?e:void 0}function Bn(e,t="month"){const n=new Date(e);return Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)}function Ps(e,t="month"){const n=new Date(Bn(e,t));return`${n.getUTCFullYear()}-${String(n.getUTCMonth()+1).padStart(2,"0")}`}function $s(e){return e==="ask"||e==="draft"||e==="agent"}function Us(e){return e?.listeningEnabled!==!1}const Ks=["report"],Fs=[{id:"agent",label:"Agent",labelSource:"user"},{id:"team",label:"Team",labelSource:"team"},{id:"inbox",label:"Inbox",labelSource:"inbox"},{id:"channel",label:"Kanaal",labelSource:"channel"},{id:"provider",label:"Provider",labelSource:"raw"},{id:"status",label:"Status",labelSource:"raw"},{id:"handledBy",label:"Afhandelaar",labelSource:"raw"},{id:"time",label:"Tijd",labelSource:"raw"}];function He(e){return e<10?`0${e}`:`${e}`}function W(e,t){const n=new Date(e),r=`${n.getUTCFullYear()}-${He(n.getUTCMonth()+1)}-${He(n.getUTCDate())}`;return t==="day"?r:`${r}T${He(n.getUTCHours())}`}function V(e,t){const n=new Date(e);return n.setUTCMinutes(0,0,0),t==="day"&&n.setUTCHours(0),n.getTime()}const Bs=36e5,Gs=864e5;function js(e,t,n){const r=n==="hour"?Bs:Gs,o=[];for(let i=V(e,n);i<=t;i+=r)o.push(W(i,n));return o}const Hs=new Set(["time"]);function Ws(e,t,n){if(!e)return[];const r=new Set(e.supportedDimensions??[]);return t.filter(o=>r.has(o.id)&&!Hs.has(o.id)).map(o=>({id:o.id,label:o.label,options:o.options?.length?o.options:n[o.id]??[]})).filter(o=>o.options.length>0)}function Vs(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 Gn=[{id:"resource",label:"Resource",labelSource:"raw"},{id:"origin",label:"Herkomst",labelSource:"raw"}],jn=Gn.map(e=>e.id);function Hn(e,t){return`${e}.usage.${t}`}function zs(e,t){return t.map(n=>({id:Hn(e,n.unit),label:n.label,category:"Verbruik",valueType:n.valueType??"count",aggregation:"sum",supportedDimensions:["provider",...jn,...n.extraDimensions??[],"time"]}))}async function Xs(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 qs(e){return e.approvalRequestIds?.length?[...e.approvalRequestIds]:e.approvalRequestId?[e.approvalRequestId]:[]}function Qs(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 Js(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 Zs(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 Wn=new Set(["info","success","warning","destructive"]),ye=200,Ee=100,_e=200,Se=12,Ae=4,rt=10,Vn=8,ot=12,we=4e3,G=500,Yn=1024*1024,ea=new Set(["heading","paragraph","list","quote","code","divider","table","kpi","callout","image","letterhead","totals","pagebreak"]),zn=["http:","https:","mailto:","tel:"],ta=/^[a-z][a-z0-9+.-]*:/i;function It(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=ta.exec(t)?.[0];return n?zn.includes(n.toLowerCase()):!t.startsWith("//")}const na=/^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;function ra(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=an(e,o,"[","]");if(i<0||e[i+1]!=="("){t+=e[n],n+=1;continue}const s=an(e,i+2,"(",")");if(s<0){t+=e[n],n+=1;continue}const a=e.slice(o,i),c=e.slice(i+2,s).trim().split(/\s+/)[0]??"";t+=r||!It(c)?a:e.slice(n,s+1),n=s+1}return t}function an(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 Xn(e){return ra(e).replace(na,(t,n,r)=>It(r)?t:"")}function v(e,t=we){return typeof e=="string"?Xn(e).slice(0,t):""}function oa(e,t=we){return typeof e=="string"?e.slice(0,t):""}function z(e,t=200){return v(e,t)}function ia(e,t="info"){return typeof e=="string"&&Wn.has(e)?e:t}function qn(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=ye){t(`more than ${ye} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!ea.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=v(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=v(o.text);if(!s){t("a paragraph without text");continue}n.push({...i,type:"paragraph",text:s});break}case"quote":{const s=v(o.text);if(!s){t("a quote without text");continue}n.push({...i,type:"quote",text:s});break}case"code":{const s=oa(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 l of s){if(a.length>=Ee){t(`more than ${Ee} list items`);break}const d=v(l?.text);if(!d)continue;const u=v(l?.lead,200);a.push(u?{lead:u,text:d}:{text:d})}if(a.length===0){t("a list without usable items");continue}const c=o.style==="numbered"?"numbered":"bulleted";n.push({...i,type:"list",style:c,items:a});break}case"table":{const s=Array.isArray(o.columns)?o.columns:[],a=[];for(const u of s){if(a.length>=Se){t(`more than ${Se} table columns`);break}const f=v(u?.label,G),m=u?.align==="right"?"right":void 0;a.push(m?{label:f,align:m}:{label:f})}if(a.length===0){t("a table without columns");continue}const c=Array.isArray(o.rows)?o.rows:[],l=[];for(const u of c){if(l.length>=_e){t(`more than ${_e} table rows`);break}const f=Array.isArray(u)?u:[];l.push(a.map((m,y)=>v(f[y],G)))}const d=v(o.caption,G);n.push({...i,type:"table",columns:a,rows:l,...d?{caption:d}:{}});break}case"kpi":{const s=Array.isArray(o.items)?o.items:[],a=[];for(const c of s){if(a.length>=Ae){t(`more than ${Ae} kpi items`);break}const l=v(c?.value,40),d=v(c?.label,80);if(!l||!d)continue;const u=c?.tone;a.push(typeof u=="string"&&Wn.has(u)?{value:l,label:d,tone:u}:{value:l,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||!It(s)){t("an image without a usable url");continue}const a=v(o.alt,200),c=v(o.caption,G);n.push({...i,type:"image",url:s,...a?{alt:a}:{},...c?{caption:c}:{}});break}case"letterhead":{const s=Array.isArray(o.fields)?o.fields:[],a=[];for(const d of s){if(a.length>=rt){t(`more than ${rt} letterhead fields`);break}const u=d,f=typeof u?.key=="string"?u.key.slice(0,48):"",m=z(u?.value);if(!f||!m)continue;const y=z(u?.label,80);a.push(y?{key:f,label:y,value:m}:{key:f,value:m})}const l=(Array.isArray(o.recipient)?o.recipient:[]).slice(0,Vn).map(d=>z(d)).filter(Boolean);if(a.length===0&&l.length===0){t("a letterhead without fields or recipient");continue}n.push({...i,type:"letterhead",fields:a,...l.length>0?{recipient:l}:{}});break}case"totals":{const s=l=>{const d=Array.isArray(l)?l:[],u=[];for(const f of d){if(u.length>=ot){t(`more than ${ot} totals rows`);break}const m=f,y=z(m?.label),p=z(m?.amount,40);!y||!p||u.push(m?.emphasis===!0?{label:y,amount:p,emphasis:!0}:{label:y,amount:p})}return u},a=s(o.rows);if(a.length===0&&!o.block_id){t("a totals block without usable rows");continue}const c=s(o.taxRows);n.push({...i,type:"totals",rows:a,...c.length>0?{taxRows:c}:{}});break}case"pagebreak":n.push({...i,type:"pagebreak"});break;case"callout":{const s=v(o.text);if(!s){t("a callout without text");continue}const a=v(o.title,200);n.push({...i,type:"callout",tone:ia(o.tone),...a?{title:a}:{},text:s});break}}}return n}function Qn(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 cn(e){return e.replace(/\|/g,"\\|").replace(/\r?\n/g," ").trim()}function We(e,t,n){const r=e.map((o,i)=>n?.[i]==="right"?"---:":"---");return[`| ${e.map(cn).join(" | ")} |`,`| ${r.join(" | ")} |`,...t.map(o=>`| ${o.map(cn).join(" | ")} |`)]}function sa(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=We(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 We(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 We(["",""],[...e.rows,...e.taxRows??[]].map(t=>[t.emphasis?`**${t.label}**`:t.label,t.emphasis?`**${t.amount}**`:t.amount]),["left","right"]);case"pagebreak":return["---"]}}function Ot(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=sa(o);i.length>0&&n.push(i.join(`
|
|
3
|
+
`),t=t.replace(Yi,"$2"),t=t.replace(Xi,"$2"),t=t.replace(/~~(?=\S)([\s\S]*?\S)~~/g,"$1"),t=t.replace(/`([^`\n]+)`/g,"$1"),t.replace(/\s+/g," ").trim()}function cr(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 de(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 Sn(e){return e?` — ${Math.floor(e/60)}m ${e%60}s`:""}function et(e){return e?.split("@")?.[0]||e||""}function fe(e){return e.map(t=>t.name).join(", ")}function In(e){return e==="meeting"?"Meeting":e==="video"?"Video call":"Audio call"}const U={VOICE_CALL_STARTED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gesprek gestart",timeline:e=>e.direction==="inbound"?`Inbound call started — ${et(e.payload.from)}`:`Outbound call started — ${et(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?` (${de(e.payload.duration)})`:""}`,timeline:e=>`Call ended${Sn(e.payload.duration)}`},VOICE_CALL_MISSED:{shape:"event",channelKind:"voice",icon:"phone",snippet:()=>"Gemiste oproep",timeline:e=>`Missed call — ${et(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?` (${de(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:Tn},EMAIL_SENT:{shape:"message",component:"communication:EmailActivity",channelKind:"mail",icon:"mail",replyable:!0,carriesText:!0,countsAs:"outbound_message",snippet:Tn},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=>`${fe(e.payload.members)} toegevoegd`,timeline:e=>{const t=fe(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=>`${fe(e.payload.members)} verlaten`,timeline:e=>{const t=fe(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=>`${In(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?` (${de(e.payload.duration)})`:""}`,timeline:e=>`${In(e.payload.callType)} ended${Sn(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?` (${de(e.payload.duration)})`:""}`,timeline:()=>"Meeting ended"},MEETING_PARTICIPANT_JOINED:{shape:"event",icon:"calendar",snippet:e=>`${e.payload.name} deelgenomen`,timeline:(e,t)=>`${t} joined the meeting`},MEETING_PARTICIPANT_LEFT:{shape:"event",icon:"calendar",snippet:e=>`${e.payload.name} verlaten`,timeline:(e,t)=>`${t} left the meeting`},INTERACTION_CREATED:{shape:"event",icon:"circle",snippet:()=>"Interactie aangemaakt",timeline:(e,t)=>`Interaction started by ${t}`},INTERACTION_STATUS_CHANGED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.INTERACTION_STATUS_CHANGED",icon:"circle-dot",snippet:e=>`Status: ${e.payload.fromStatus} → ${e.payload.toStatus}`,timeline:(e,t)=>`Status changed to ${e.payload.toStatus} by ${t}`},INTERACTION_ASSIGNED:{shape:"event",icon:"user",snippet:()=>"Interactie toegewezen",timeline:(e,t)=>`Assigned by ${t}`},SLA_BREACHED:{shape:"event",triggerable:!0,displayNameKey:"communication:activity.SLA_BREACHED",icon:"alarm-clock",snippet:e=>`SLA verlopen: ${e.payload.metric}`,timeline:e=>`SLA target ${e.payload.metric} passed its deadline`},WORK_COMMENT_ADDED:{shape:"note",icon:"sticky-note",carriesText:!0,snippet:()=>"Reactie"},WORK_ITEM_ASSIGNED:{shape:"event",icon:"user",snippet:()=>"Taak toegewezen",timeline:(e,t)=>`Assigned by ${t}`},WORK_ITEM_STATUS_CHANGED:{shape:"event",triggerable:!0,icon:"circle-dot",snippet:()=>"Status gewijzigd",timeline:(e,t)=>`Status changed by ${t}`},CRM_NOTE_ADDED:{shape:"note",icon:"sticky-note",carriesText:!0,snippet:()=>"Notitie"},CRM_CALL_LOGGED:{shape:"note",icon:"phone",carriesText:!0,snippet:()=>"Gesprek vastgelegd"},CRM_STAGE_CHANGED:{shape:"event",icon:"circle-dot",snippet:()=>"Fase gewijzigd",timeline:(e,t)=>`Stage changed by ${t}`}};function Tn(e){const t=e.payload,n=ar(t.bodyText).trim()||t.bodySnippet?.trim()||cr(t.body??"");return t.subject?`${t.subject} — ${n}`:n}function w(e){return U[e]}function qi(e){return w(e)?.icon??"circle"}function Zi(e){return w(e)?.channelKind}function Lt(e){return e==="message"||e==="note"}function Ji(e){return Lt(w(e)?.shape)}function Pt(e){return e==="note"}function Qi(e){return Pt(w(e)?.shape)}function ea(e){return w(e)?.replyable===!0}function ta(e){return w(e)?.carriesText===!0}function ur(e){return w(e)?.countsAs}function na(e){return w(e)?.playbookAuthored===!0}function ra(e){return w(e)?.connected===!0}function oa(e){const t=w(e);return t?.shape==="artifact"&&t?.carriesText===!0}function lr(e){const t=w(e.type)?.snippet;return t?t(e):""}function sa(e,t){const n=w(e.type)?.timeline;return n?n(e,t):e.type.replace(/_/g," ").toLowerCase()}function ia(e){const t=w(e.type)?.joinUrl;return t?t(e):void 0}function Ie(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 Te(e,t,n){if(e===void 0)return null;if(typeof e=="string")return e||null;if("value"in e)return Ie(t,e.value)||null;const r={};for(const[s,i]of Object.entries(e.params??{}))r[s]=Ie(t,i);const o=n(e.key,r);return o===e.key?null:o}function dr(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]=Ie(t,o);return{key:e.key,params:n}}const Cn=140;function aa(e){const t=e.trim();return t.length<=Cn?t:`${t.slice(0,Cn-1).trimEnd()}…`}function ca(e,t){const n=dr(t?.text,e),r=t?Te(t.text,e,o=>o):null;return{activityId:e.id,type:e.type,snippet:aa(r??lr(e)),authorName:e.author?.name??"",direction:e.direction,createdAt:e.createdAt??Date.now(),...n?{snippetKey:n.key,snippetParams:n.params}:{}}}const ua=e=>e;function vn(e){const t=U[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 On(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 fr{constructor(t=[],n=ua){this.translate=n;for(const r of t)r?.type&&(r.type in U||this.declared.has(r.type)||this.declared.set(r.type,r))}declared=new Map;get(t){if(t in U)return vn(t);const n=this.declared.get(t);return n?On(n):void 0}triggerable(){const t=Object.keys(U).filter(r=>U[r].triggerable).map(vn),n=[...this.declared.values()].map(On).filter(r=>r.triggerable);return[...t,...n]}timelineText(t,n){const r=U[t.type];if(r?.timeline)return r.timeline(t,n);const o=this.declared.get(t.type);return Te(o?.text,t,this.translate)??t.type.replace(/_/g," ").toLowerCase()}snippet(t){const n=U[t.type];if(n?.snippet)return n.snippet(t);const r=this.declared.get(t.type);return Te(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 Lt(this.get(t)?.shape)}nestsUnderParent(t){return Pt(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 la=new fr;function da(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(([s,i])=>i>=r&&!o.has(s)).map(([s])=>s)}function pr(e){return e.createdAt??0}function fa(e){return e.type==="EMAIL_RECEIVED"||e.type==="EMAIL_SENT"}function pa(e){return e.type==="CHAT_MESSAGE_SENT"||e.type==="CHAT_MESSAGE_RECEIVED"}const dt={month:1,quarter:3,year:12},ma=864e5;function ga(e,t){return dt[e]<dt[t]}function ft(e,t){const n=new Date(e),r=dt[t],o=Math.floor(n.getUTCMonth()/r)*r;return{from:Date.UTC(n.getUTCFullYear(),o,1),to:Date.UTC(n.getUTCFullYear(),o+r,1)}}function $t(e,t){const n=Math.max(e.startsAt,t.startsAt??e.startsAt),r=[e.endsAt,t.endsAt].filter(o=>o!=null);return r.length?{from:n,to:Math.min(...r)}:{from:n}}function Kt(e,t){const n=Math.max(e.from,t.from),r=Math.min(e.to??t.to,t.to);return r>n?{from:n,to:r}:null}function mr(e,t,n){const r=Kt(e,t);if(!r)return 0;if(r.from===t.from&&r.to===t.to)return 1;if(!n)return 0;const o=(s,i)=>Math.round((i-s)/ma);return o(r.from,r.to)/o(t.from,t.to)}function gr(e,t,n){const r=$t(e,t);return r.to!=null&&r.to<=n?"ended":r.from>n?"planned":"active"}function ha(e,t,n){return t.filter(r=>gr(e,r,n)!=="ended")}function L(e){return e<0?-Math.round(-e):Math.round(e)}function hr(e,t){if(t.length===0)return[];const n=t.reduce((u,c)=>u+c,0);if(n===0)return t.map((u,c)=>c===0?e:0);const r=t.map(u=>e*u/n),o=r.map(u=>Math.trunc(u));let s=e-o.reduce((u,c)=>u+c,0);const i=r.map((u,c)=>({index:c,fraction:Math.abs(u-o[c])})).sort((u,c)=>c.fraction-u.fraction),a=s<0?-1:1;for(let u=0;s!==0&&u<i.length;u++)o[i[u].index]+=a,s-=a;return o}function B(e,t={}){const n=t.decimal??",",r=t.group??".",o=e<0,s=Math.abs(Math.trunc(e)).toString().padStart(3,"0"),i=s.slice(0,-2),a=s.slice(-2);let u="";for(let c=0;c<i.length;c++)c>0&&(i.length-c)%3===0&&(u+=r),u+=i[c];return`${o?"-":""}${u}${n}${a}`}function ya(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 s=o.lastIndexOf(","),i=o.lastIndexOf("."),a=Math.max(s,i),u=a===-1?"":o.slice(a+1),c=a!==-1&&u.length>=1&&u.length<=2,d=c?o.slice(0,a):o;if(!ba(d))return;const l=d.replace(/[.,]/g,""),f=c?u.padEnd(2,"0"):"00";if(l==="")return;const m=Number(l)*100+Number(f);return r?-m:m}function ba(e){return/^\d+$/.test(e)?!0:e.includes(".")&&e.includes(",")?!1:/^\d{1,3}([.,]\d{3})*$/.test(e)}function Ea(e){return e.costPriceCents==null?e.netCents:e.netCents-L(e.costPriceCents*e.quantity)}const pt=864e5;function yr(e,t){return t.quantity.from==="fixed"?t.every??e.interval:e.interval}function br(e){return e.quantity.from==="fixed"?e.billing??"advance":"arrears"}const pe=e=>Math.round((e.to-e.from)/pt);function _a(e,t,n,r){const o=[],s=[],i=e.graceDays*pt,a=e.proration===!0;for(const u of t){const c=$t(e,u),d=yr(e,u),l=br(u),f=n.filter(g=>g.agreementLineId===u.id);if(d==="once"){const g={from:c.from,to:c.from+pt};c.from+i<=r&&!f.some(h=>!h.correction)&&o.push({lineId:u.id,window:g,part:g,share:1,timing:"advance"});continue}const m=[];for(let g=ft(c.from,d);g.from<(c.to??Number.POSITIVE_INFINITY)&&g.from+i<=r;g=ft(g.to,d))m.push(g);const b=u.quantity.from==="fixed";for(const g of m.slice(-24)){const h=Kt(c,g),p=g.to+i<=r,y=f.filter(v=>v.servicePeriod.from>=g.from&&v.servicePeriod.from<g.to),A=y.find(v=>!v.correction);if(!A){if(!h)continue;const v=h.from===g.from&&h.to===g.to;if(!(l==="advance"&&v)&&!p)continue;const O=b?mr(c,g,a):1;O>0&&o.push({lineId:u.id,window:g,part:h,share:O,timing:l});continue}b&&a&&p&&s.push(...Aa(u.id,g,h,A,y))}}return{charges:o,corrections:s}}function Aa(e,t,n,r,o){const s={...r.servicePeriod};for(const u of o){if(!u.correction)continue;Math.sign(u.quantity)!==Math.sign(r.quantity)?u.servicePeriod.from<=s.from?s.from=u.servicePeriod.to:s.to=u.servicePeriod.from:u.servicePeriod.to<=s.from?s.from=u.servicePeriod.from:s.to=u.servicePeriod.to}const i=[];s.to>s.from&&(n?(n.from>s.from&&i.push({part:{from:s.from,to:Math.min(n.from,s.to)},sign:-1}),n.to<s.to&&i.push({part:{from:Math.max(n.to,s.from),to:s.to},sign:-1}),n.from<s.from&&i.push({part:{from:n.from,to:s.from},sign:1}),n.to>s.to&&i.push({part:{from:s.to,to:n.to},sign:1})):i.push({part:s,sign:-1}));const a=r.unitPriceCents*pe(t)/Math.max(1,pe(r.servicePeriod));return i.map(({part:u,sign:c})=>({lineId:e,window:t,part:u,quantity:c*r.quantity,unitPriceCents:L(a*pe(u)/pe(t))})).filter(u=>u.unitPriceCents!==0&&u.quantity!==0)}function Sa(e){const t=new Map;let n=0;for(const o of e){if(o.correction){n+=1;continue}const s=t.get(o.timing),{from:i,to:a}=o.servicePeriod;t.set(o.timing,s?{timing:o.timing,from:Math.min(s.from,i),to:Math.max(s.to,a)}:{timing:o.timing,from:i,to:a})}return{spans:["advance","arrears"].flatMap(o=>{const s=t.get(o);return s?[s]:[]}),corrections:n}}function Er(e,t){const n=t.quantity;if(n?.from!=="meter")return null;if(n.accountRef)return{app:n.app,accountRef:n.accountRef};const r=e.sourceAccount;return r&&r.app===n.app?r:null}function Ia(e){const t=new Map;for(const n of e.lines??[]){const r=Er(e,n);r&&t.set([r.app,r.accountRef].join("|"),r)}return[...t.values()]}function Ta(e,t){return[e,t].join("@")}const Fe=[{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 Ca(e){return Fe.find(t=>t.id===e)?.defaultFlag}function va(e){const t={};for(const n of Fe)t[n.defaultFlag]=e?.[n.defaultFlag]===!0;return t}function Oa(e,t){const n={};for(const r of Fe){const o=r.defaultFlag;n[o]=(e?.[o]??t?.[o])===!0}return n}const ka={image:"image",pdf:"file",text:"text",audio:"audio",video:"video"};function Ma(e,t){if(t==="text")return!0;if(!e?.in?.length)return;const n=ka[t];return n?e.in.includes(n):!1}const Y=["fast","standard","deep"],kn=(e,t)=>{const n=Y.indexOf(e),r=Math.min(Y.length-1,Math.max(0,n+t));return Y[r]},mt=e=>Y.indexOf(e);function _r(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=kn(n,1),t.push("herstelbeurt: een tier omhoog")),e.budgetPressure==="soft"&&n!=="fast"&&(n=kn(n,-1),t.push("budget bijna op: een tier omlaag in plaats van weigeren")),e.maxTier&&mt(n)>mt(e.maxTier)&&(n=e.maxTier,t.push(`plafond van de rol: ${e.maxTier}`)),{tier:n,reasons:t}}function Ra(e,t,n){const r=_r(t);if(!e)return{...r,...n,routed:!1};for(let o=mt(r.tier);o>=0;o--){const s=Y[o],i=e[s];if(!i?.accountId||!i.model)continue;const a=s===r.tier?r.reasons:[...r.reasons,`${r.tier} niet ingericht, ${s} gebruikt`];return{tier:s,reasons:a,accountId:i.accountId,model:i.model,routed:!0}}return{...r,...n,routed:!1,reasons:[...r.reasons,"geen tier ingericht: het profiel beslist"]}}const gt=255,ht=2,yt=10;function Na(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>gt)return`vraag "${n}" heeft meer dan ${gt} opties`}if(r.type==="score"){const o=r.criteria?.length??0;if(o<ht||o>yt)return`vraag "${n}" heeft ${o} niveaus; het moeten er ${ht} tot ${yt} zijn`}}return null}function Da(e,t=.9,n=.6){return Number.isFinite(e)?e>=t?"act":e>=n?"check":"refuse":"refuse"}const wa=["counting or arithmetic","comparing dates or durations","judging whether two numbers are close","generating text"],Ut=[{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 ae(e){return Ut.find(t=>t.id===e)}function xa(e){return ae(e)?.label??e}function La(e,t="gpt-5-mini"){return ae(e)?.defaultModel??t}function Pa(e){return Ut.filter(t=>t.capabilities.includes(e))}function $a(e){const t=ae(e);return!!t&&!t.baseUrl}function Ka(e,t){return t==="text"?!0:ae(e)?.attachmentKinds?.includes(t)===!0}function Ua(e,t){if(!e.enabled)return"ok";const n=bt(e.hardLimitNanos),r=bt(e.softLimitNanos);return n!==void 0&&t>=n?"hard":r!==void 0&&t>=r?"soft":"ok"}function bt(e){return typeof e=="number"?e:void 0}function Ar(e,t="month"){const n=new Date(e);return Date.UTC(n.getUTCFullYear(),n.getUTCMonth(),1)}function Ba(e,t="month"){const n=new Date(Ar(e,t));return`${n.getUTCFullYear()}-${String(n.getUTCMonth()+1).padStart(2,"0")}`}function Fa(e){return e==="ask"||e==="draft"||e==="agent"}function ja(e){return e?.listeningEnabled!==!1}const Ga=["report"],Va=[{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 tt(e){return e<10?`0${e}`:`${e}`}function Z(e,t){const n=new Date(e),r=`${n.getUTCFullYear()}-${tt(n.getUTCMonth()+1)}-${tt(n.getUTCDate())}`;return t==="day"?r:`${r}T${tt(n.getUTCHours())}`}function J(e,t){const n=new Date(e);return n.setUTCMinutes(0,0,0),t==="day"&&n.setUTCHours(0),n.getTime()}const Wa=36e5,Ha=864e5;function za(e,t,n){const r=n==="hour"?Wa:Ha,o=[];for(let s=J(e,n);s<=t;s+=r)o.push(Z(s,n));return o}const Ya=new Set(["time"]);function Xa(e,t,n){if(!e)return[];const r=new Set(e.supportedDimensions??[]);return t.filter(o=>r.has(o.id)&&!Ya.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 qa(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 Za(e){return{value:e.id,label:`${e.category} · ${e.label}`}}const Sr=[{id:"resource",label:"Resource",labelSource:"raw"},{id:"origin",label:"Herkomst",labelSource:"raw"}],Ir=Sr.map(e=>e.id);function Tr(e,t){return`${e}.usage.${t}`}function Ja(e,t){return t.map(n=>({id:Tr(e,n.unit),label:n.label,category:"Verbruik",valueType:n.valueType??"count",aggregation:"sum",supportedDimensions:["provider",...Ir,...n.extraDimensions??[],"time"]}))}async function Qa(e,t){let n=0,r=0;for(const o of e)try{await t(o),n++}catch(s){const i=s?.status;if(i===403||i===400)r++;else throw s}return{decided:n,waiting:r}}function ec(e){return e.approvalRequestIds?.length?[...e.approvalRequestIds]:e.approvalRequestId?[e.approvalRequestId]:[]}function tc(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 s=r.minAmountCents??-1;return(o.minAmountCents??-1)-s||r.id.localeCompare(o.id)})[0]}function nc(e,t,n,r){const o=new Set(e.userIds);for(const s of e.teamIds)for(const i of t[s]??[])o.add(i);return r||o.delete(n),[...o]}function rc(e,t){if(e.status!=="pending"||e.decisions.some(s=>s.userId===t.userId))return e;const n=[...e.decisions,t],r=e.pendingUserIds.filter(s=>s!==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 Cr=new Set(["info","success","warning","destructive"]),Ce=200,ve=100,Oe=200,ke=12,Me=4,Et=10,vr=8,_t=12,je=4e3,z=500,Or=1024*1024,oc=new Set(["heading","paragraph","list","quote","code","divider","table","kpi","callout","image","letterhead","totals","pagebreak"]),kr=["http:","https:","mailto:","tel:"],sc=/^[a-z][a-z0-9+.-]*:/i;function Bt(e){const t=e.trim().replace(/^<|>$/g,"");if(!t)return!1;const n=sc.exec(t)?.[0];return n?kr.includes(n.toLowerCase()):!t.startsWith("//")}const ic=/^[ \t]{0,3}\[([^\]]+)\]:[ \t]*(\S+).*$/gm;function ac(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),s=Mn(e,o,"[","]");if(s<0||e[s+1]!=="("){t+=e[n],n+=1;continue}const i=Mn(e,s+2,"(",")");if(i<0){t+=e[n],n+=1;continue}const a=e.slice(o,s),u=e.slice(s+2,i).trim().split(/\s+/)[0]??"";t+=r||!Bt(u)?a:e.slice(n,i+1),n=i+1}return t}function Mn(e,t,n,r){let o=1;for(let s=t;s<e.length;s+=1){if(e[s]==="\\"){s+=1;continue}if(e[s]===n)o+=1;else if(e[s]===r&&(o-=1,o===0))return s}return-1}function Mr(e){return ac(e).replace(ic,(t,n,r)=>Bt(r)?t:"")}function N(e,t=je){return typeof e=="string"?Mr(e).slice(0,t):""}function cc(e,t=je){return typeof e=="string"?e.slice(0,t):""}function te(e,t=200){return N(e,t)}function uc(e,t="info"){return typeof e=="string"&&Cr.has(e)?e:t}function Rr(e,t=()=>{}){if(!Array.isArray(e))return[];const n=[];for(const r of e){if(n.length>=Ce){t(`more than ${Ce} blocks; the rest was dropped`);break}if(!r||typeof r!="object")continue;const o=r;if(!oc.has(o.type)){t(`unknown block type ${String(o.type)}`);continue}const s=typeof o.block_id=="string"?{block_id:o.block_id}:{};switch(o.type){case"heading":{const i=N(o.text);if(!i){t("a heading without text");continue}const a=o.level===2||o.level===3?o.level:1;n.push({...s,type:"heading",level:a,text:i});break}case"paragraph":{const i=N(o.text);if(!i){t("a paragraph without text");continue}n.push({...s,type:"paragraph",text:i});break}case"quote":{const i=N(o.text);if(!i){t("a quote without text");continue}n.push({...s,type:"quote",text:i});break}case"code":{const i=cc(o.text);if(!i){t("a code block without text");continue}const a=typeof o.lang=="string"?{lang:o.lang.slice(0,32)}:{};n.push({...s,type:"code",...a,text:i});break}case"divider":n.push({...s,type:"divider"});break;case"list":{const i=Array.isArray(o.items)?o.items:[],a=[];for(const c of i){if(a.length>=ve){t(`more than ${ve} list items`);break}const d=N(c?.text);if(!d)continue;const l=N(c?.lead,200);a.push(l?{lead:l,text:d}:{text:d})}if(a.length===0){t("a list without usable items");continue}const u=o.style==="numbered"?"numbered":"bulleted";n.push({...s,type:"list",style:u,items:a});break}case"table":{const i=Array.isArray(o.columns)?o.columns:[],a=[];for(const l of i){if(a.length>=ke){t(`more than ${ke} table columns`);break}const f=N(l?.label,z),m=l?.align==="right"?"right":void 0;a.push(m?{label:f,align:m}:{label:f})}if(a.length===0){t("a table without columns");continue}const u=Array.isArray(o.rows)?o.rows:[],c=[];for(const l of u){if(c.length>=Oe){t(`more than ${Oe} table rows`);break}const f=Array.isArray(l)?l:[];c.push(a.map((m,b)=>N(f[b],z)))}const d=N(o.caption,z);n.push({...s,type:"table",columns:a,rows:c,...d?{caption:d}:{}});break}case"kpi":{const i=Array.isArray(o.items)?o.items:[],a=[];for(const u of i){if(a.length>=Me){t(`more than ${Me} kpi items`);break}const c=N(u?.value,40),d=N(u?.label,80);if(!c||!d)continue;const l=u?.tone;a.push(typeof l=="string"&&Cr.has(l)?{value:c,label:d,tone:l}:{value:c,label:d})}if(a.length===0){t("a kpi block without usable items");continue}n.push({...s,type:"kpi",items:a});break}case"image":{const i=typeof o.url=="string"?o.url.trim():"";if(!i||!Bt(i)){t("an image without a usable url");continue}const a=N(o.alt,200),u=N(o.caption,z);n.push({...s,type:"image",url:i,...a?{alt:a}:{},...u?{caption:u}:{}});break}case"letterhead":{const i=Array.isArray(o.fields)?o.fields:[],a=[];for(const d of i){if(a.length>=Et){t(`more than ${Et} letterhead fields`);break}const l=d,f=typeof l?.key=="string"?l.key.slice(0,48):"",m=te(l?.value);if(!f||!m)continue;const b=te(l?.label,80);a.push(b?{key:f,label:b,value:m}:{key:f,value:m})}const c=(Array.isArray(o.recipient)?o.recipient:[]).slice(0,vr).map(d=>te(d)).filter(Boolean);if(a.length===0&&c.length===0){t("a letterhead without fields or recipient");continue}n.push({...s,type:"letterhead",fields:a,...c.length>0?{recipient:c}:{}});break}case"totals":{const i=c=>{const d=Array.isArray(c)?c:[],l=[];for(const f of d){if(l.length>=_t){t(`more than ${_t} totals rows`);break}const m=f,b=te(m?.label),g=te(m?.amount,40);!b||!g||l.push(m?.emphasis===!0?{label:b,amount:g,emphasis:!0}:{label:b,amount:g})}return l},a=i(o.rows);if(a.length===0&&!o.block_id){t("a totals block without usable rows");continue}const u=i(o.taxRows);n.push({...s,type:"totals",rows:a,...u.length>0?{taxRows:u}:{}});break}case"pagebreak":n.push({...s,type:"pagebreak"});break;case"callout":{const i=N(o.text);if(!i){t("a callout without text");continue}const a=N(o.title,200);n.push({...s,type:"callout",tone:uc(o.tone),...a?{title:a}:{},text:i});break}}}return n}function Nr(e){return JSON.stringify(e).length}function Dr(e){return{blocks:e.length,types:e.map(t=>t.type),headings:e.flatMap(t=>t.type==="heading"?[t.text]:[])}}function Rn(e){return e.replace(/\|/g,"\\|").replace(/\r?\n/g," ").trim()}function nt(e,t,n){const r=e.map((o,s)=>n?.[s]==="right"?"---:":"---");return[`| ${e.map(Rn).join(" | ")} |`,`| ${r.join(" | ")} |`,...t.map(o=>`| ${o.map(Rn).join(" | ")} |`)]}function lc(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=nt(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 nt(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 nt(["",""],[...e.rows,...e.taxRows??[]].map(t=>[t.emphasis?`**${t.label}**`:t.label,t.emphasis?`**${t.amount}**`:t.amount]),["left","right"]);case"pagebreak":return["---"]}}function Ft(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 s=lc(o);s.length>0&&n.push(s.join(`
|
|
4
4
|
`))}return`${n.join(`
|
|
5
5
|
|
|
6
6
|
`)}
|
|
7
|
-
`}const Mt=e=>`user:${e}`,vt=e=>`team:${e}`;function aa(e){const t=new Set;for(const n of e??[])n?.id&&(n.kind==="user"&&t.add(Mt(n.id)),n.kind==="team"&&t.add(vt(n.id)));return[...t].sort()}function ca(e,t){return[Mt(e),...t.map(vt)]}function la(e){const t=new Set;for(const n of e??[])n?.kind&&t.add(n.kind);return[...t]}const Zn=["done","escalated"],ua=["open","waiting"];function da(e){return Zn.includes(e)}const er="assignment";function fa(e){return`${er}:${e}`}function pa(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 ma(e){const{targetAuthorId:t,reactorId:n,agentId:r,on:o}=e;return!o||!t||t!==r?!1:n!==r}function ga(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}const tr=12;function ha(e,t,n=tr){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 nr=2;function ya(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>=nr?`er zijn al ${i} agents ingeschakeld voor deze vraag; dieper delegeren mag niet`:null}const Ea="organization.business-entities.list";function _a(e,t,n){return e?e===t:n}function Sa(e){return e.isDefault===!0?[e.id,""]:[e.id]}function Aa(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()]}const it={month:1,quarter:3,year:12},ba=864e5;function Ta(e,t){return it[e]<it[t]}function st(e,t){const n=new Date(e),r=it[t],o=Math.floor(n.getUTCMonth()/r)*r;return{from:Date.UTC(n.getUTCFullYear(),o,1),to:Date.UTC(n.getUTCFullYear(),o+r,1)}}function Ct(e,t){const n=Math.max(e.startsAt,t.startsAt??e.startsAt),r=[e.endsAt,t.endsAt].filter(o=>o!=null);return r.length?{from:n,to:Math.min(...r)}:{from:n}}function kt(e,t){const n=Math.max(e.from,t.from),r=Math.min(e.to??t.to,t.to);return r>n?{from:n,to:r}:null}function rr(e,t,n){const r=kt(e,t);if(!r)return 0;if(r.from===t.from&&r.to===t.to)return 1;if(!n)return 0;const o=(i,s)=>Math.round((s-i)/ba);return o(r.from,r.to)/o(t.from,t.to)}function or(e,t,n){const r=Ct(e,t);return r.to!=null&&r.to<=n?"ended":r.from>n?"planned":"active"}function Ia(e,t,n){return t.filter(r=>or(e,r,n)!=="ended")}function N(e){return e<0?-Math.round(-e):Math.round(e)}function ir(e,t){if(t.length===0)return[];const n=t.reduce((c,l)=>c+l,0);if(n===0)return t.map((c,l)=>l===0?e:0);const r=t.map(c=>e*c/n),o=r.map(c=>Math.trunc(c));let i=e-o.reduce((c,l)=>c+l,0);const s=r.map((c,l)=>({index:l,fraction:Math.abs(c-o[l])})).sort((c,l)=>l.fraction-c.fraction),a=i<0?-1:1;for(let c=0;i!==0&&c<s.length;c++)o[s[c].index]+=a,i-=a;return o}function P(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 c="";for(let l=0;l<s.length;l++)l>0&&(s.length-l)%3===0&&(c+=r),c+=s[l];return`${o?"-":""}${c}${n}${a}`}function Oa(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),c=a===-1?"":o.slice(a+1),l=a!==-1&&c.length>=1&&c.length<=2,d=l?o.slice(0,a):o;if(!Ma(d))return;const u=d.replace(/[.,]/g,""),f=l?c.padEnd(2,"0"):"00";if(u==="")return;const m=Number(u)*100+Number(f);return r?-m:m}function Ma(e){return/^\d+$/.test(e)?!0:e.includes(".")&&e.includes(",")?!1:/^\d{1,3}([.,]\d{3})*$/.test(e)}function va(e){return e.costPriceCents==null?e.netCents:e.netCents-N(e.costPriceCents*e.quantity)}const at=864e5;function sr(e,t){return t.quantity.from==="fixed"?t.every??e.interval:e.interval}function ar(e){return e.quantity.from==="fixed"?e.billing??"advance":"arrears"}const ie=e=>Math.round((e.to-e.from)/at);function Ca(e,t,n,r){const o=[],i=[],s=e.graceDays*at,a=e.proration===!0;for(const c of t){const l=Ct(e,c),d=sr(e,c),u=ar(c),f=n.filter(p=>p.agreementLineId===c.id);if(d==="once"){const p={from:l.from,to:l.from+at};l.from+s<=r&&!f.some(E=>!E.correction)&&o.push({lineId:c.id,window:p,part:p,share:1,timing:"advance"});continue}const m=[];for(let p=st(l.from,d);p.from<(l.to??Number.POSITIVE_INFINITY)&&p.from+s<=r;p=st(p.to,d))m.push(p);const y=c.quantity.from==="fixed";for(const p of m.slice(-24)){const E=kt(l,p),h=p.to+s<=r,g=f.filter(T=>T.servicePeriod.from>=p.from&&T.servicePeriod.from<p.to),_=g.find(T=>!T.correction);if(!_){if(!E)continue;const T=E.from===p.from&&E.to===p.to;if(!(u==="advance"&&T)&&!h)continue;const O=y?rr(l,p,a):1;O>0&&o.push({lineId:c.id,window:p,part:E,share:O,timing:u});continue}y&&a&&h&&i.push(...ka(c.id,p,E,_,g))}}return{charges:o,corrections:i}}function ka(e,t,n,r,o){const i={...r.servicePeriod};for(const c of o){if(!c.correction)continue;Math.sign(c.quantity)!==Math.sign(r.quantity)?c.servicePeriod.from<=i.from?i.from=c.servicePeriod.to:i.to=c.servicePeriod.from:c.servicePeriod.to<=i.from?i.from=c.servicePeriod.from:i.to=c.servicePeriod.to}const s=[];i.to>i.from&&(n?(n.from>i.from&&s.push({part:{from:i.from,to:Math.min(n.from,i.to)},sign:-1}),n.to<i.to&&s.push({part:{from:Math.max(n.to,i.from),to:i.to},sign:-1}),n.from<i.from&&s.push({part:{from:n.from,to:i.from},sign:1}),n.to>i.to&&s.push({part:{from:i.to,to:n.to},sign:1})):s.push({part:i,sign:-1}));const a=r.unitPriceCents*ie(t)/Math.max(1,ie(r.servicePeriod));return s.map(({part:c,sign:l})=>({lineId:e,window:t,part:c,quantity:l*r.quantity,unitPriceCents:N(a*ie(c)/ie(t))})).filter(c=>c.unitPriceCents!==0&&c.quantity!==0)}function Ra(e){const t=new Map;let n=0;for(const o of e){if(o.correction){n+=1;continue}const i=t.get(o.timing),{from:s,to:a}=o.servicePeriod;t.set(o.timing,i?{timing:o.timing,from:Math.min(i.from,s),to:Math.max(i.to,a)}:{timing:o.timing,from:s,to:a})}return{spans:["advance","arrears"].flatMap(o=>{const i=t.get(o);return i?[i]:[]}),corrections:n}}function cr(e,t){const n=t.quantity;if(n?.from!=="meter")return null;if(n.accountRef)return{app:n.app,accountRef:n.accountRef};const r=e.sourceAccount;return r&&r.app===n.app?r:null}function Na(e){const t=new Map;for(const n of e.lines??[]){const r=cr(e,n);r&&t.set([r.app,r.accountRef].join("|"),r)}return[...t.values()]}function wa(e,t){return[e,t].join("@")}function lr(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 Da(n.slice(0,13))===Number(n[13])?n:void 0}function Da(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 La(e,t){const n=t.trim(),r=lr(n),o=[{sku:n},{barcodes:{$in:[n]}}];return r&&o.push({gtin:r}),{organizationId:e,$or:o}}const xa=[{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 ur(e,t,n,r){const o=n.filter(i=>r(i)&&i.currency===e.currency&&(i.validFrom==null||i.validFrom<=t.at)&&(i.validTo==null||i.validTo>=t.at)&&(i.minQuantity==null||t.quantity>=i.minQuantity)&&(i.productId==null||i.productId===e.id)&&(i.categoryKey==null||i.categoryKey===e.categoryKey)&&(i.productId!=null||i.categoryKey!=null));for(const i of xa){const s=o.filter(c=>i.matches(c,t));if(s.length===0)continue;const a=s.reduce((c,l)=>{const d=(l.minQuantity??0)-(c.minQuantity??0);return d!==0?d>0?l:c:(l.validFrom??0)>=(c.validFrom??0)?l:c});return{rule:a,sourceKey:(a.minQuantity??0)>1?"tier":i.key}}return null}function dr(e,t,n){const r=ur(e,t,n,o=>!o.rateCardId);return r?{unitPriceCents:$a(r.rule,e.listPriceCents),sourceKey:r.sourceKey,ruleId:r.rule.id}:{unitPriceCents:e.listPriceCents,sourceKey:"list"}}function Pa(e,t,n){const r=ur(e,t,n,o=>!!o.rateCardId);return r?.rule.rateCardId?{rateCardId:r.rule.rateCardId,sourceKey:r.sourceKey,ruleId:r.rule.id}:e.rateCardId?{rateCardId:e.rateCardId,sourceKey:"list"}:null}function $a(e,t){return e.unitPriceCents!=null?e.unitPriceCents:e.discountPercent!=null?N(t*(1-e.discountPercent/100)):t}const fr="manual";function Ua(e,t,n,r){return e.map(o=>{if(o.kind!=="product"||o.priceSourceKey===fr)return o;const i=t.find(a=>a.id===o.productId);if(!i)return o;const s=dr(i,{...r,quantity:o.quantity},n);return s.unitPriceCents===o.unitPriceCents&&s.sourceKey===o.priceSourceKey?o:{...o,unitPriceCents:s.unitPriceCents,priceSourceKey:s.sourceKey}})}function Rt(e){const t=/^\s*(-?)(\d*)[.,]?(\d*)\s*$/.exec(e);if(!t||t[2]===""&&t[3]==="")return;const n=`${t[3]}000000`.slice(0,6),r=Number(t[2]||"0")*1e6+Number(n);return t[1]?-r:r}function Ka(e){const t=e<0?"-":"",n=Math.abs(Math.round(e)),r=String(n%1e6).padStart(6,"0").replace(/0{1,2}$/,"");return`${t}${Math.floor(n/1e6)},${r.length<4?r.padEnd(4,"0"):r}`}function ct(e){const t=/^\s*\+\s*(\d+(?:[.,]\d+)?)\s*%\s*$/.exec(e);if(t)return{kind:"markup",percent:Number(t[1].replace(",","."))};const n=Rt(e);return n===void 0?void 0:{kind:"flat",micros:n}}function Fa(e,t){const n=[],r=[],o=e.split(/\r?\n/),i=(o[0]??"").includes(";")?";":",",s=t.dimensions,a=t.display.per>1,c=1+s.length+1;return o.forEach((l,d)=>{const u=d+1;if(!l.trim())return;const f=l.split(i).map(M=>M.trim());if(d===0&&!ct(f[c]??""))return;const m=f[0]??"",y={};s.forEach((M,k)=>{const $=f[1+k]??"";if(!$)return;const Ji=/^[+\d\s-]+$/.test($)?$.replace(/\D/g,"").replace(/^00/,""):$;y[M.key]=M.match==="prefix"?{prefix:Ji}:{equals:$}});const p=f[1+s.length]??"",E=p===""?0:Rt(p),h=ct(f[c]??""),[g,_]=a?(f[c+1]||`${t.display.per}/1`).split("/").map(Number):[1,1],T=a?f[c+2]??"":"",C=T===""?0:Number(T),O=m?E===void 0||!h?"price":!(g>0)||!((_??g)>0)||!Number.isFinite(C)?"increment":null:"label";if(O){r.push({line:u,message:O});return}n.push({label:m,match:y,setupMicros:E,price:h,unitSize:t.display.per,firstIncrement:g,nextIncrement:_??g,minimum:C})}),{rates:n,errors:r}}const pr=1e4;function mr(e,t){if(e.length===0)return 0;switch(t){case"max":return Math.max(...e.map(n=>n.quantity));case"last":return e.reduce((n,r)=>(r.occurredAt??0)>=(n.occurredAt??0)?r:n).quantity;case"average":return e.reduce((n,r)=>n+r.quantity,0)/e.length;default:return e.reduce((n,r)=>n+r.quantity,0)}}function gr(e){return e.replace(/\D/g,"").replace(/^00/,"")}function Ba(e,t){return t===void 0?!1:"equals"in e?t===e.equals:/^\d+$/.test(e.prefix)?gr(t).startsWith(e.prefix):t.startsWith(e.prefix)}function ln(e){return Object.values(e.match).reduce((t,n)=>t+("prefix"in n?n.prefix.length*100:1),0)}function hr(e,t){let n;for(const r of t)Object.entries(r.match).every(([i,s])=>Ba(s,e.dimensions[i]))&&(!n||ln(r)>ln(n))&&(n=r);return n}function yr(e,t){const n=Math.max(t.firstIncrement,1),r=Math.max(t.nextIncrement,1),o=e<=n?n:n+Math.ceil((e-n)/r)*r;return Math.max(o,t.minimum)}function Er(e,t,n){const r=t.tiers;if(t.mode==="volume"){const a=r.find(c=>c.upTo===void 0||e<=c.upTo)??r.at(-1);return a?{micros:N(e*a.micros/n),bands:[{quantity:e,micros:a.micros}]}:{micros:0,bands:[]}}const o=[];let i=0,s=0;for(const a of r){if(e<=i)break;const c=a.upTo===void 0?e:Math.min(e,a.upTo),l=c-i;l>0&&(o.push({quantity:l,micros:a.micros}),s+=l*a.micros/n),i=c}return{micros:N(s),bands:o}}function Ga(e,t,n="sum"){const r=[],o=new Map;for(const s of e){if(s.quantity<=0)continue;const a=hr(s,t);if(!a||a.price.kind==="markup"&&s.costMicros==null){r.push(s);continue}const c=o.get(a.id)??{rate:a,billed:[],ids:[],costMicros:0};c.ids.push(s.id),c.billed.push({quantity:yr(s.quantity,a),occurredAt:s.occurredAt}),c.costMicros+=s.costMicros??0,o.set(a.id,c)}return{groups:[...o.values()].map(({rate:s,billed:a,ids:c,costMicros:l})=>{const d=mr(a,n),u=Math.min(s.included??0,d),f=d-u,m=s.setupMicros*a.length;let y,p;s.price.kind==="flat"?y=N(f*s.price.micros/s.unitSize):s.price.kind==="tiered"?{micros:y,bands:p}=Er(f,s.price,s.unitSize):y=N(l*(1+s.price.percent/100));const E=y+m;return{rateId:s.id,label:s.label,records:a.length,recordIds:c,measured:d,included:u,billed:f,micros:E,cents:N(E/pr),...p?{bands:p}:{}}}),unrated:r}}const ja=["piece","hour","day","month","km","license","minute"],Ha="usage-source",Wa="/usage/records";function _r(e){const t=e.unit||"unit",n=Number(e.display?.per);return{key:e.key,label:e.label??e.key,unit:t,display:{unit:e.display?.unit||t,per:n>0?n:1},aggregation:e.aggregation??"sum",account:e.account==="customer"?"customer":"source",dimensions:(e.dimensions??[]).map(r=>({...r,match:r.match==="prefix"?"prefix":"exact"}))}}function Va(e){return{...e,meters:(e.meters??[]).map(t=>_r(t)),accounts:e.accounts??[]}}const Ya=new Set(["mail","message"]);function Sr(e,t){const n=e.settings?.signatures?.[t];return!n?.enabled||!n.body||n.body.trim()===""?null:n}function za(e,t,n,r="html"){if(!e)return n;const o=Sr(e,t);return o?`${n}${r==="text"?`
|
|
7
|
+
`}const jt=e=>`user:${e}`,Gt=e=>`team:${e}`;function dc(e){const t=new Set;for(const n of e??[])n?.id&&(n.kind==="user"&&t.add(jt(n.id)),n.kind==="team"&&t.add(Gt(n.id)));return[...t].sort()}function fc(e,t){return[jt(e),...t.map(Gt)]}function pc(e){const t=new Set;for(const n of e??[])n?.kind&&t.add(n.kind);return[...t]}const wr=["done","escalated"],mc=["open","waiting"];function gc(e){return wr.includes(e)}const xr="assignment";function hc(e){return`${xr}:${e}`}function yc(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 bc(e){const{targetAuthorId:t,reactorId:n,agentId:r,on:o}=e;return!o||!t||t!==r?!1:n!==r}function Ec(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}const Lr=12;function _c(e,t,n=Lr){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 Pr=2;function Ac(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 s=Math.max(0,o.length-1);return s>=Pr?`er zijn al ${s} agents ingeschakeld voor deze vraag; dieper delegeren mag niet`:null}const Nn=e=>e.replace(/[\s.\-/]+/g,"").toUpperCase(),Dn=(e,t)=>Math.abs(Date.parse(`${e}T00:00:00Z`)-Date.parse(`${t}T00:00:00Z`))/864e5;function Sc(e,t){const n=e.amountCents>0,r=Math.abs(e.amountCents),o=n?"sales_invoice":"receipt",s=t.documents.filter(p=>p.kind===o&&p.openCents>0),i=Nn(`${e.description} ${e.endToEndId??""}`),a=p=>p.kind==="sales_invoice"?{kind:"sales_invoice",transactionId:p.id,sourceApp:p.sourceApp??"sales"}:{kind:"receipt",receiptId:p.id},u=s.filter(p=>p.number&&i.includes(Nn(p.number))),c=u.find(p=>p.openCents===r);if(c)return{target:a(c),via:"exact",confidence:"high",reasons:["invoice_number","amount"],label:c.label};if(u.length===1&&u[0]){const p=u[0];return{target:a(p),via:"exact",confidence:"medium",reasons:["invoice_number"],label:p.label}}const d=e.counterpartyIban;if(d){const p=s.filter(y=>y.ibans.includes(d)&&y.openCents===r);if(p.length===1&&p[0]){const y=p[0];return{target:a(y),via:"exact",confidence:"high",reasons:["iban","amount"],label:y.label}}}const l=(t.scheduled??[]).filter(p=>p.expectedBankCents===e.amountCents),f=d?l.filter(p=>p.ibans.includes(d)):[],m=l.filter(p=>Dn(p.dueOn,e.date)<=7),b=f.length===1?f[0]:m.length===1?m[0]:void 0;if(b)return{target:{kind:"scheduled_posting",scheduledPostingId:b.id},via:"exact",confidence:f.length===1?"high":"medium",reasons:f.length===1?["iban","amount"]:["amount","date_window"],label:b.label};if(d&&t.ownIbans.some(p=>p.iban===d&&p.bankAccountId!==e.bankAccountId)){const p=t.otherLines.find(y=>y.state==="unmatched"&&y.bankAccountId!==e.bankAccountId&&y.amountCents===-e.amountCents&&Dn(y.date,e.date)<=3);if(p)return{target:{kind:"transfer",bankLineId:p.id},via:"exact",confidence:"high",reasons:["own_account","amount"]}}const g=e.description.toLowerCase(),h=[...t.rules].sort((p,y)=>p.order-y.order).find(p=>{const y=p.when;return y.bankAccountId&&y.bankAccountId!==e.bankAccountId||y.counterpartyIban&&y.counterpartyIban!==d||y.direction&&y.direction!==(n?"in":"out")||y.descriptionContains&&!g.includes(y.descriptionContains.toLowerCase())?!1:!!(y.counterpartyIban||y.descriptionContains)});if(h)return{target:{kind:"account",accountId:h.action.accountId,...h.action.taxCode?{taxCode:h.action.taxCode}:{},...h.action.description?{description:h.action.description}:{}},via:"rule",confidence:h.confidence,ruleId:h.id,reasons:["rule"],label:h.name}}function Ic(e,t,n){const[r,o]=[e.slice(0,3),e.slice(3)],s=r==="jl:"?"journal_line":"bank_line",i=n.filter(a=>a.status==="active").flatMap(a=>a.allocations).filter(a=>a.item.kind===s&&a.item.id===o).reduce((a,u)=>a+u.amountCents,0);return t-i}function Tc(e){return e.allocations.reduce((t,n)=>t+n.amountCents,0)===0}function Cc(e,t){const n=Math.sign(t)===Math.sign(e);return{state:t===0?"paid":n?Math.abs(t)>=Math.abs(e)?"unpaid":"partially_paid":"overpaid",paidCents:Math.abs(e-t),openCents:n?Math.abs(t):0}}const $r=e=>e.replace(/</g,"<").replace(/>/g,">").replace(/"/g,'"').replace(/'/g,"'").replace(/&/g,"&").trim();function $(e,t){const n=[],r=new RegExp(`<${t}(?:\\s[^>]*)?>([\\s\\S]*?)</${t}>`,"g");for(let o=r.exec(e);o;o=r.exec(e))n.push(o[1]??"");return n}function S(e,...t){let n=e;for(const r of t)n=n===void 0?void 0:$(n,r)[0];return n===void 0?void 0:$r(n)}const Re=e=>{if(!e)return;const t=Number(e.replace(",","."));return Number.isFinite(t)?Math.round(t*100):void 0},wn=e=>e?.slice(0,10),vc=e=>e?/(\d{4}-\d{2}-\d{2})/.exec(e)?.[1]:void 0;function Kr(e){const t=e.replace(/<(\/?)[\w-]+:/g,"<$1"),n=$(t,"Stmt")[0]??t,r=S(n,"Id")??"stmt",o=d=>{const l=$(n,"Bal").find(m=>S(m,"Cd")===d);if(!l)return;const f=Re(S(l,"Amt"));if(f!==void 0)return{cents:S(l,"CdtDbtInd")==="DBIT"?-f:f,date:vc(l)}},s=o("OPBD")??o("PRCD"),i=o("CLBD"),a=$(n,"Ntry").flatMap((d,l)=>{if((S(d,"Sts","Cd")??S(d,"Sts"))==="PDNG")return[];const f=Re(S(d,"Amt"));if(f===void 0)return[];const m=S(d,"CdtDbtInd")==="DBIT",b=$(d,"TxDtls")[0]??d,g=m?"Cdtr":"Dbtr",h=S(b,"RltdPties",g,"Nm")??S(b,"RltdPties",g,"Pty","Nm"),p=S(b,"RltdPties",`${g}Acct`,"Id","IBAN"),y=[...$(b,"Ustrd").map($r),S(d,"AddtlNtryInf")].filter(Boolean),A=S(b,"Refs","EndToEndId"),v=wn(S(d,"BookgDt","Dt")??S(d,"BookgDt","DtTm"))??"",M=wn(S(d,"ValDt","Dt")??S(d,"ValDt","DtTm")),O=S(d,"AcctSvcrRef")??S(d,"NtryRef");return[{date:v,...M?{valueDate:M}:{},amountCents:m?-f:f,currency:/Ccy="([A-Z]{3})"/.exec(d)?.[1]??"EUR",...h?{counterpartyName:h}:{},...p?{counterpartyIban:p.replace(/\s+/g,"").toUpperCase()}:{},description:y.join(" ").replace(/\s+/g," ").trim(),...A&&A!=="NOTPROVIDED"?{endToEndId:A}:{},dedupeKey:O?`ref:${O}`:`seq:${r}:${l+1}`}]}),u=a.map(d=>d.date).filter(Boolean).sort(),c=S(n,"Acct","Id","IBAN");return{format:"camt053",...c?{iban:c.replace(/\s+/g,"").toUpperCase()}:{},...S(n,"Acct","Ccy")?{currency:S(n,"Acct","Ccy")}:{},from:S(n,"FrToDt","FrDtTm")?.slice(0,10)??s?.date??u[0]??"",to:S(n,"FrToDt","ToDtTm")?.slice(0,10)??i?.date??u.at(-1)??"",...s?{openingCents:s.cents}:{},...i?{closingCents:i.cents}:{},lines:a}}const Ur=e=>`20${e.slice(0,2)}-${e.slice(2,4)}-${e.slice(4,6)}`;function xn(e){const t=e&&/^([CD])(\d{6})([A-Z]{3})([\d,]+)/.exec(e.trim());if(!t)return;const n=Re(t[4])??0;return{cents:t[1]==="D"?-n:n,date:Ur(t[2]??""),currency:t[3]}}const Oc=["TRTP","IBAN","BIC","NAME","REMI","EREF","ORDP","BENM","MARF","CSID","PREF","RTRN"];function kc(e){const t=e.replace(/\r?\n/g,""),n=new RegExp("/("+Oc.join("|")+")/","g"),r=[...t.matchAll(n)];if(!r.length)return{description:t.trim()};const o={};r.forEach((i,a)=>{const u=(i.index??0)+i[0].length,c=r[a+1]?.index??t.length;o[i[1]??""]=t.slice(u,c).replace(/\/$/,"").trim()});const s=(o.REMI??"").replace(/^(?:USTD|STRD)\/+(?:[A-Z]+\/+)*/,"").trim();return{...o.NAME?{counterpartyName:o.NAME}:{},...o.IBAN?{counterpartyIban:o.IBAN.replace(/\s+/g,"").toUpperCase()}:{},...o.EREF&&o.EREF!=="NOTPROVIDED"?{endToEndId:o.EREF}:{},description:s||t.trim()}}function Br(e){const t=e.replace(/\r\n/g,`
|
|
8
|
+
`),n=[];for(const d of t.split(/\n(?=:\d{2}[A-Z]?:)/)){const l=/^:(\d{2}[A-Z]?):([\s\S]*)$/.exec(d.trim());l&&n.push({tag:l[1]??"",value:(l[2]??"").replace(/\n-}?$/,"").trim()})}let r,o="0",s,i;const a=[];let u=0;for(const{tag:d,value:l}of n)if(d==="25")r=l.split("/")[0]?.replace(/\s+/g,"").toUpperCase();else if(d==="28C")o=l,u=0;else if(d==="60F"||d==="60M")s??=xn(l);else if(d==="62F"||d==="62M")i=xn(l);else if(d==="61"){const f=l.split(`
|
|
9
|
+
`)[0]??"",m=/^(\d{6})(\d{4})?(R?[CD])[A-Z]?([\d,]+)(?:N[A-Z0-9]{3})?([^/]*)(?:\/\/(\S+))?/.exec(f);if(!m)continue;u++;const b=Re(m[4])??0,g=m[3]==="C"||m[3]==="RD",h=Ur(m[1]??""),p=m[2]?`${h.slice(0,4)}-${m[2].slice(0,2)}-${m[2].slice(2,4)}`:h,y=m[6]??m[5]?.trim();a.push({date:p,valueDate:h,amountCents:g?b:-b,currency:s?.currency??"EUR",description:"",dedupeKey:y&&y!=="NONREF"?`ref:${y}`:`seq:${o}:${u}`})}else if(d==="86"){const f=a.at(-1);f&&!f.description&&Object.assign(f,kc(l))}const c=a.map(d=>d.date).sort();return{format:"mt940",...r&&/^[A-Z]{2}\d{2}/.test(r)?{iban:r}:{},...s?.currency?{currency:s.currency}:{},from:s?.date??c[0]??"",to:i?.date??c.at(-1)??"",...s?{openingCents:s.cents}:{},...i?{closingCents:i.cents}:{},lines:a}}function Mc(e){return/<\s*(?:[\w-]+:)?Document[\s>]/.test(e)||e.includes("camt.053")?Kr(e):Br(e)}const Rc=e=>(e.kind==="journal_line"?"jl:":"bl:")+e.id;function Fr(e){const t=e.reduce((r,o)=>r+o.netCents,0),n=e.reduce((r,o)=>r+o.taxCents,0);return{netCents:t,taxCents:n,grossCents:t+n}}const Nc="receipt",Dc="book";function jr(e){const t=[];return e.fields.supplierName?.value.trim()||t.push("no_supplier"),e.fields.issueDate?.value||t.push("no_date"),e.lines.length?e.lines.some(n=>!n.accountKey)&&t.push("no_account"):t.push("no_lines"),t}function wc(e){if(e.status!=="to_check")return null;const t=jr(e);return t.length?t.includes("no_account")||t.includes("no_lines")?"choose":"check":"confirm"}function xc(e,t="finance"){const n=e.fields;return{sourceApp:t,documentId:e.id,direction:"purchase",kind:"receipt",businessEntityId:e.businessEntityId,...n.invoiceNumber?.value?{number:n.invoiceNumber.value}:{},counterparty:{...e.supplierCompanyId?{companyId:e.supplierCompanyId}:{},name:n.supplierName?.value??"",...n.supplierVatNumber?.value?{vatNumber:n.supplierVatNumber.value}:{}},issueDate:n.issueDate?.value??"",...n.dueDate?.value?{dueDate:n.dueDate.value}:{},currency:n.currency?.value||"EUR",lines:e.lines.map(r=>({description:r.description??n.supplierName?.value??"",netCents:r.netCents,taxCents:r.taxCents,taxRateKey:r.taxRateKey,taxKind:r.taxKind??"standard",...r.taxPercent!==void 0?{taxPercent:r.taxPercent}:{},...r.accountKey?{accountKey:r.accountKey}:{}})),totals:Fr(e.lines),attachment:{mountId:e.file.mountId,fileId:e.file.fileId},...e.externalIds?.length?{externalIds:e.externalIds}:{}}}function Lc(e,t,n){return`${e}:${t}:${n}`}function Pc(e){return[1,5,15][e-1]??60}const $c=10*6e4;function Kc(e,t){const n=r=>t.find(o=>r(o.match));return e.productId&&n(r=>r.productId===e.productId)||e.ledgerCategoryKey&&n(r=>r.ledgerCategoryKey===e.ledgerCategoryKey)||n(r=>!!r.taxRateKey&&!r.productId&&!r.ledgerCategoryKey&&r.taxRateKey===e.taxRateKey)||n(r=>!r.productId&&!r.ledgerCategoryKey&&!r.taxRateKey)}const Uc="organization.business-entities.list",Bc=["bv","nv","eenmanszaak","vof","maatschap","stichting","vereniging","other"];function Fc(e,t,n){return e?e===t:n}function jc(e){return e.isDefault===!0?[e.id,""]:[e.id]}function Gc(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 Gr(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 Vc(n.slice(0,13))===Number(n[13])?n:void 0}function Vc(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 Wc(e,t){const n=t.trim(),r=Gr(n),o=[{sku:n},{barcodes:{$in:[n]}}];return r&&o.push({gtin:r}),{organizationId:e,$or:o}}const Hc=[{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 Vr(e,t,n,r){const o=n.filter(s=>r(s)&&s.currency===e.currency&&(s.validFrom==null||s.validFrom<=t.at)&&(s.validTo==null||s.validTo>=t.at)&&(s.minQuantity==null||t.quantity>=s.minQuantity)&&(s.productId==null||s.productId===e.id)&&(s.categoryKey==null||s.categoryKey===e.categoryKey)&&(s.productId!=null||s.categoryKey!=null));for(const s of Hc){const i=o.filter(u=>s.matches(u,t));if(i.length===0)continue;const a=i.reduce((u,c)=>{const d=(c.minQuantity??0)-(u.minQuantity??0);return d!==0?d>0?c:u:(c.validFrom??0)>=(u.validFrom??0)?c:u});return{rule:a,sourceKey:(a.minQuantity??0)>1?"tier":s.key}}return null}function Wr(e,t,n){const r=Vr(e,t,n,o=>!o.rateCardId);return r?{unitPriceCents:Yc(r.rule,e.listPriceCents),sourceKey:r.sourceKey,ruleId:r.rule.id}:{unitPriceCents:e.listPriceCents,sourceKey:"list"}}function zc(e,t,n){const r=Vr(e,t,n,o=>!!o.rateCardId);return r?.rule.rateCardId?{rateCardId:r.rule.rateCardId,sourceKey:r.sourceKey,ruleId:r.rule.id}:e.rateCardId?{rateCardId:e.rateCardId,sourceKey:"list"}:null}function Yc(e,t){return e.unitPriceCents!=null?e.unitPriceCents:e.discountPercent!=null?L(t*(1-e.discountPercent/100)):t}const Hr="manual";function Xc(e,t,n,r){return e.map(o=>{if(o.kind!=="product"||o.priceSourceKey===Hr)return o;const s=t.find(a=>a.id===o.productId);if(!s)return o;const i=Wr(s,{...r,quantity:o.quantity},n);return i.unitPriceCents===o.unitPriceCents&&i.sourceKey===o.priceSourceKey?o:{...o,unitPriceCents:i.unitPriceCents,priceSourceKey:i.sourceKey}})}function Vt(e){const t=/^\s*(-?)(\d*)[.,]?(\d*)\s*$/.exec(e);if(!t||t[2]===""&&t[3]==="")return;const n=`${t[3]}000000`.slice(0,6),r=Number(t[2]||"0")*1e6+Number(n);return t[1]?-r:r}function qc(e){const t=e<0?"-":"",n=Math.abs(Math.round(e)),r=String(n%1e6).padStart(6,"0").replace(/0{1,2}$/,"");return`${t}${Math.floor(n/1e6)},${r.length<4?r.padEnd(4,"0"):r}`}function At(e){const t=/^\s*\+\s*(\d+(?:[.,]\d+)?)\s*%\s*$/.exec(e);if(t)return{kind:"markup",percent:Number(t[1].replace(",","."))};const n=Vt(e);return n===void 0?void 0:{kind:"flat",micros:n}}function Zc(e,t){const n=[],r=[],o=e.split(/\r?\n/),s=(o[0]??"").includes(";")?";":",",i=t.dimensions,a=t.display.per>1,u=1+i.length+1;return o.forEach((c,d)=>{const l=d+1;if(!c.trim())return;const f=c.split(s).map(R=>R.trim());if(d===0&&!At(f[u]??""))return;const m=f[0]??"",b={};i.forEach((R,D)=>{const F=f[1+D]??"";if(!F)return;const Wi=/^[+\d\s-]+$/.test(F)?F.replace(/\D/g,"").replace(/^00/,""):F;b[R.key]=R.match==="prefix"?{prefix:Wi}:{equals:F}});const g=f[1+i.length]??"",h=g===""?0:Vt(g),p=At(f[u]??""),[y,A]=a?(f[u+1]||`${t.display.per}/1`).split("/").map(Number):[1,1],v=a?f[u+2]??"":"",M=v===""?0:Number(v),O=m?h===void 0||!p?"price":!(y>0)||!((A??y)>0)||!Number.isFinite(M)?"increment":null:"label";if(O){r.push({line:l,message:O});return}n.push({label:m,match:b,setupMicros:h,price:p,unitSize:t.display.per,firstIncrement:y,nextIncrement:A??y,minimum:M})}),{rates:n,errors:r}}const zr=1e4;function Yr(e,t){if(e.length===0)return 0;switch(t){case"max":return Math.max(...e.map(n=>n.quantity));case"last":return e.reduce((n,r)=>(r.occurredAt??0)>=(n.occurredAt??0)?r:n).quantity;case"average":return e.reduce((n,r)=>n+r.quantity,0)/e.length;default:return e.reduce((n,r)=>n+r.quantity,0)}}function Xr(e){return e.replace(/\D/g,"").replace(/^00/,"")}function Jc(e,t){return t===void 0?!1:"equals"in e?t===e.equals:/^\d+$/.test(e.prefix)?Xr(t).startsWith(e.prefix):t.startsWith(e.prefix)}function Ln(e){return Object.values(e.match).reduce((t,n)=>t+("prefix"in n?n.prefix.length*100:1),0)}function qr(e,t){let n;for(const r of t)Object.entries(r.match).every(([s,i])=>Jc(i,e.dimensions[s]))&&(!n||Ln(r)>Ln(n))&&(n=r);return n}function Zr(e,t){const n=Math.max(t.firstIncrement,1),r=Math.max(t.nextIncrement,1),o=e<=n?n:n+Math.ceil((e-n)/r)*r;return Math.max(o,t.minimum)}function Jr(e,t,n){const r=t.tiers;if(t.mode==="volume"){const a=r.find(u=>u.upTo===void 0||e<=u.upTo)??r.at(-1);return a?{micros:L(e*a.micros/n),bands:[{quantity:e,micros:a.micros}]}:{micros:0,bands:[]}}const o=[];let s=0,i=0;for(const a of r){if(e<=s)break;const u=a.upTo===void 0?e:Math.min(e,a.upTo),c=u-s;c>0&&(o.push({quantity:c,micros:a.micros}),i+=c*a.micros/n),s=u}return{micros:L(i),bands:o}}function Qc(e,t,n="sum"){const r=[],o=new Map;for(const i of e){if(i.quantity<=0)continue;const a=qr(i,t);if(!a||a.price.kind==="markup"&&i.costMicros==null){r.push(i);continue}const u=o.get(a.id)??{rate:a,billed:[],ids:[],costMicros:0};u.ids.push(i.id),u.billed.push({quantity:Zr(i.quantity,a),occurredAt:i.occurredAt}),u.costMicros+=i.costMicros??0,o.set(a.id,u)}return{groups:[...o.values()].map(({rate:i,billed:a,ids:u,costMicros:c})=>{const d=Yr(a,n),l=Math.min(i.included??0,d),f=d-l,m=i.setupMicros*a.length;let b,g;i.price.kind==="flat"?b=L(f*i.price.micros/i.unitSize):i.price.kind==="tiered"?{micros:b,bands:g}=Jr(f,i.price,i.unitSize):b=L(c*(1+i.price.percent/100));const h=b+m;return{rateId:i.id,label:i.label,records:a.length,recordIds:u,measured:d,included:l,billed:f,micros:h,cents:L(h/zr),...g?{bands:g}:{}}}),unrated:r}}const eu=["piece","hour","day","month","km","license","minute"],tu="usage-source",nu="/usage/records";function Qr(e){const t=e.unit||"unit",n=Number(e.display?.per);return{key:e.key,label:e.label??e.key,unit:t,display:{unit:e.display?.unit||t,per:n>0?n:1},aggregation:e.aggregation??"sum",account:e.account==="customer"?"customer":"source",dimensions:(e.dimensions??[]).map(r=>({...r,match:r.match==="prefix"?"prefix":"exact"}))}}function ru(e){return{...e,meters:(e.meters??[]).map(t=>Qr(t)),accounts:e.accounts??[]}}const ou=new Set(["mail","message"]);function eo(e,t){const n=e.settings?.signatures?.[t];return!n?.enabled||!n.body||n.body.trim()===""?null:n}function su(e,t,n,r="html"){if(!e)return n;const o=eo(e,t);return o?`${n}${r==="text"?`
|
|
8
10
|
|
|
9
|
-
`:t==="mail"?"<br><br>-- <br>":"<br><br>"}${o.body}`:n}function Xa(e){return e.endpoints??[]}const qa=["lead","opportunity","customer","former"],Qa=["new","working","unqualified"];function Ja(e){return[e.firstName,e.lastName].filter(Boolean).join(" ").trim()}const Ar=["stages","leadStatuses","sources","scopes","cities","parentCompanyIds"],br=["openDeal","hasContacts"],Za={contact:["stages","leadStatuses","sources","scopes","cities","openDeal"],company:["stages","sources","scopes","cities","parentCompanyIds","hasContacts"]},ec=["updatedAt","createdAt","name"],tc=["list"];function nc(e){return e.search?.trim()||e.createdWithinDays||br.some(t=>e[t])||Ar.some(t=>e[t]?.length)?!1:!Object.values(e.fields??{}).some(t=>t.length)}const Tr="CRM_NOTE_ADDED",rc="crm_activity",Ir="CRM_CALL_LOGGED",oc="CRM_STAGE_CHANGED",ic=["phone","meeting","video"],sc=["callback","interested","no_answer","not_interested"],ac=e=>e===Tr||e===Ir,cc=e=>e.payload.call?.at??e.createdAt??0;function F(e){const t=(e??"").trim().toLowerCase();if(t)return t.split(/[-_]/)[0]||void 0}function lc(e){return F(e.contactLocale)??F(e.companyLocale)??F(e.organizationLocale)}function uc(e,t,n,r){const o=e.filter(a=>a.key===t&&!a.archived);if(o.length===0)return;const i=F(n),s=F(r);return o.find(a=>F(a.locale)===i)??o.find(a=>F(a.locale)===s)??o.find(a=>!a.locale)??o[0]}const dc=/\{([a-zA-Z0-9_.]+)\}/g;function Nt(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}function fc(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function Or(e,t,n){const r=[];return{text:e.replace(dc,(i,s)=>{const a=Nt(t,s);return a==null||a===""?(r.includes(s)||r.push(s),n??`{${s}}`):fc(a)}),unresolved:r}}function Mr(e,t){if(!e)return!0;const n=Nt(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 pc(e,t,n,r,o){const i=[],s=[],a=new Set,c=l=>{const d=Or(l,t,o);for(const u of d.unresolved)i.includes(u)||i.push(u);return d.text};for(const l of e){if(l.block_id&&!Mr(n?.[l.block_id],t))continue;const d=l.block_id?r?.[l.block_id]:void 0;if(d&&l.block_id){a.add(l.block_id),s.push(...d);continue}switch(l.type){case"heading":case"paragraph":case"quote":s.push({...l,text:c(l.text)});break;case"callout":s.push({...l,...l.title?{title:c(l.title)}:{},text:c(l.text)});break;case"code":s.push(l);break;case"list":s.push({...l,items:l.items.map(u=>({...u.lead?{lead:c(u.lead)}:{},text:c(u.text)}))});break;case"table":s.push({...l,columns:l.columns.map(u=>({...u,label:c(u.label)})),rows:l.rows.map(u=>u.map(c)),...l.caption?{caption:c(l.caption)}:{}});break;case"kpi":s.push({...l,items:l.items.map(u=>({...u,value:c(u.value),label:c(u.label)}))});break;case"letterhead":s.push({...l,fields:l.fields.map(u=>({...u,value:c(u.value)})),...l.recipient?{recipient:l.recipient.map(c)}:{}});break;case"totals":s.push({...l,rows:l.rows.map(u=>({...u,label:c(u.label),amount:c(u.amount)})),...l.taxRows?{taxRows:l.taxRows.map(u=>({...u,label:c(u.label),amount:c(u.amount)}))}:{}});break;case"image":s.push({...l,url:c(l.url),...l.alt?{alt:c(l.alt)}:{}});break;default:s.push(l)}}return{blocks:s,unresolved:i,unusedSlots:Object.keys(r??{}).filter(l=>!a.has(l))}}function vr(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 mc(e){return vr({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 Cr(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 gc(e){return e.perCase.filter(t=>!t.ok).map(t=>`${t.caseId}: ${t.note??"onverwacht resultaat"}`)}async function hc(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 Cr(e,t,i,o)}const kr=36e5,Rr=864e5,U=-1/0,yc=e=>e.score>U,Q={urgent:40,high:25,normal:10,low:0};function Ec(e){return Object.fromEntries(e.map(t=>[t.resourceId,t]))}const _c=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,Nr=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function wr(e,t){return!!(e&&_c.test(e)||t&&Nr.test(t))}const Dr=3,Lr=600;function Sc(e,t){return e>=Dr||t>=Lr}const xr=["list-unsubscribe","list-unsubscribe-post","list-id","precedence","auto-submitted","x-auto-response-suppress","feedback-id","x-mailer"];function Ac(e){const t={};for(const n of e){const r=n.name?.toLowerCase();r&&n.value!==void 0&&xr.includes(r)&&(t[r]=n.value)}return t}const bc=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i,Tc=/(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;function Ic(e){const t=e.headers??{},n=e.from?.email,r=t["auto-submitted"]?.toLowerCase();if(r&&r!=="no"||t["x-auto-response-suppress"]||n&&bc.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&&Nr.test(e.body)||n&&Tc.test(n))return"marketing"}function Pr(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const $r=["open"],Ur=1e3,Kr=72;function Fr(e){return e.lastActivityAt??(e.createdAt?new Date(Kn(e)).getTime():0)}function Br(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 jr=e=>xn(e)==="outbound_message",Hr=e=>$r.includes(e);function De(e,t){return Math.max(0,(t-Fr(e))/kr)}function Wr(e,t){const n=e.assignedInboxId?t?.[e.assignedInboxId]:void 0;return typeof n=="number"&&n>0?n:void 0}function Oc(e){const t={};for(const n of e)typeof n.slaHours=="number"&&n.slaHours>0&&(t[n.id]=n.slaHours);return t}function Mc(e,t,n){if(!Hr(e.status)||e.firstResponseAt)return!1;const r=Wr(e,n);return r!==void 0&&De(e,t)>r}function Vr(e,t){const n=e.lastActivityPreview;return n?.direction!=="outbound"||!jr(n.type)?!1:De(e,t)<Kr}function vc(e,t){if(!Hr(e.status))return{score:U,reasons:[]};if(e.snoozedTill&&e.snoozedTill>t.now)return{score:U,reasons:[]};if(Vr(e,t.now))return{score:U,reasons:[]};if(Br(e,t))return{score:U,reasons:[]};let n=0;const r=[],o=e.priority??"normal";Q[o]>0&&(n+=Q[o],r.push(`priority:${o}`)),Pr(e,t.userId)&&(n+=20,r.push("unseen")),e.assignedUserId&&e.assignedUserId===t.userId&&(n+=15,r.push("assigned-to-you"));const i=De(e,t.now);if(i>0){const c=Math.min(i*2,30);n+=c,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"&&jr(s.type)&&(n+=10,r.push("no-reply")),!e.firstResponseAt&&e.lastActivityPreview?.direction==="inbound"&&(n+=10,r.push("awaiting-reply")),(e.tags?.some(c=>c==="marketing"||c==="automated")||wr(e.remoteParty?.resource,e.lastActivityPreview?.snippet))&&(n-=Ur,r.push("bulk")),{score:n,reasons:r}}const Cc=e=>!!e.assignedUserId||!!e.assignedInboxId,kc=e=>e.status==="closed",Rc=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,Nc=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`,Yr=[{key:"solved",label:"resolution_solved",order:0,positive:!0,system:!0},{key:"no_action",label:"resolution_no_action",order:1,system:!0},{key:"duplicate",label:"resolution_duplicate",order:2,system:!0},{key:"spam",label:"resolution_spam",order:3,system:!0},{key:"unresolved",label:"resolution_unresolved",order:4,positive:!1,system:!0}],wc=["duplicate","spam"],Dc="c_";function Lc(e){const t=[...e?.resolutions??[]].filter(n=>!n.system).sort((n,r)=>n.order-r.order);return[...Yr,...t]}function xc(e,t){const n=e.labels??[];return n.find(r=>r.locale===t)?.label??n[0]?.label??e.url}function Pc(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 $c="article",be=[{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 zr(e){const t=(e??"").toLowerCase();return be.find(n=>n.code===t)??be.find(n=>n.code===t.split("-")[0])}function Uc(e){return zr(e)?.label??e}function Kc(e){const t=zr(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const wt=3;function Xr(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>wt+1))return 1/0;o=t.get(o)?.parentId}return r}function Fc(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&&qr(e,t,r))return!1;const o=Xr(e,r),i=t?Dt(t,n):1;return o+i<=wt}function qr(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 Dt(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=>Dt(o.id,t,n))):1}const Qr="en";function Jr(e){return e.defaultLocale||e.locale||Qr}function Bc(e){const t=new Set,n=[];for(const r of[Jr(e),...e.locales??[]])!r||t.has(r)||(t.add(r),n.push(r));return n}function Gc(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 lt=["lookup","condition","parallel","for-each"];function le(e){for(const t of e){if(!lt.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${lt.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const r=le(n);if(r)return r}if(t.type==="for-each"){const n=le(t.body??[]);if(n)return n}if(t.type==="condition"){const n=le(t.else??[]);if(n)return n}}return null}function jc(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 Hc(e,t){return e.filter(n=>n.enabled&&jc(n.ownerScope,t))}function Wc(e){return e.credentialScope?e.credentialScope:(e.authMode??"header")==="header"||e.oauth?.scope==="org"?"shared":"per-user"}function Vc(e){return`mcp__${e}__`}const Yc=1e3,zc=2e3,Xc=500,qc=12e3,Qc=4e3,Zr=["contact","company","work_item"];function Jc(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return Zr.includes(t)}const Zc=[{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 eo(e,t){return t.find(n=>n.key===e)??{key:e,label:e,percent:0,kind:"zero"}}function to(e){if(e.kind!=="product")return 0;const t=1-(e.discountPercent??0)/100;return N(e.quantity*e.unitPriceCents*t)}function el(e,t,n){const r=e.map(l=>({...l,netCents:to(l),taxCents:0})),o=new Map;for(let l=0;l<r.length;l++){if(r[l].kind!=="product"||r[l].optional)continue;const d=n??r[l].taxRateKey,u=o.get(d);u?u.push(l):o.set(d,[l])}const i=[];let s=0,a=0;for(const[l,d]of o){const u=eo(l,t),f=d.reduce((p,E)=>p+r[E].netCents,0),m=N(f*u.percent/100),y=ir(m,d.map(p=>r[p].netCents));for(let p=0;p<d.length;p++)r[d[p]].taxCents=y[p];i.push({taxRateKey:l,percent:u.percent,kind:u.kind,netCents:f,taxCents:m}),s+=f,a+=m}const c=r.reduce((l,d)=>d.costPriceCents==null||d.optional?l:l+N(d.costPriceCents*d.quantity),0);return{lines:r,totals:{netCents:s,taxCents:a,grossCents:s+a,costCents:c,byRate:i}}}const tl="onboarding-source",nl=["support","billing","availability","sales","onboarding"],rl=["keep","replace"],Le=[{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"}],no={key:"unknown",label:"kind_unknown",capacity:!1,productive:!1,absent:!1};function L(e,t=Le){return t.find(n=>n.key===e)??{...no,key:e}}function Y(e){return e==="published"||e==="approved"}function Lt(e,t,n=Le){if(e.workstreamId!==t)return!1;const r=L(e.kindKey,n);return r.absent?!1:r.productive||r.capacity}function ol(e,t=Le){if(!e.userId||!Y(e.status))return!1;const n=L(e.kindKey,t);return n.capacity||n.productive||n.absent}const il=864e5;function ro(e,t){return Math.round((t-e)/il)}function xt(e,t){const n=e.cycleMinutes.length;return n===0?0:(ro(e.anchor,t)%n+n)%n}function Pt(e,t){return e.effectiveFrom!==void 0&&t<e.effectiveFrom?0:e.cycleMinutes[xt(e,t)]??0}function $t(e,t){return e.startTimes?.[xt(e,t)]}function Ut(e,t,n,r){const o=e.filter(a=>a.effectiveFrom===void 0||a.effectiveFrom<=r),i=a=>a.sort((c,l)=>(l.effectiveFrom??0)-(c.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 oo(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 ut=864e5;function sl(e){const t=Math.max(1,Math.round((e.to-e.from)/ut));return Array.from({length:t},(n,r)=>e.from+r*ut)}function dt(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}const un={interval:0,day:1,week:2};function al(e,t){const{entries:n,patterns:r=[],terms:o=[]}=t,i=n.filter(u=>u.userId&&Y(u.status)&&L(u.kindKey).capacity),s=n.filter(u=>u.userId&&Y(u.status)&&L(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),c={};let l="interval";const d=u=>{un[u]>un[l]&&(l=u)};for(const u of a){const f=t.teamIdsOf?.(u)??[];let m=0,y=0,p=0;for(const g of sl(e)){const _=Math.max(g,e.from),T=Math.min(g+ut,e.to);p++;const C=i.filter(k=>k.userId===u).reduce((k,$)=>k+dt($.start,$.end,_,T),0);if(C>0){m+=C;continue}const O=Ut(r,u,f,g),M=O?Pt(O,g):0;if(O&&M>0){m+=M*60,d($t(O,g)?"interval":"day");continue}O||y++}if(y>0){const g=oo(o,u,e.from);g&&(m+=g.weeklyMinutes*60*(y/7),d("week"))}const E=s.filter(g=>g.userId===u).reduce((g,_)=>g+dt(_.start,_.end,e.from,e.to),0),h=Math.max(0,m-E);(h>0||p>0)&&(c[u]=h)}return{seconds:Object.values(c).reduce((u,f)=>u+f,0),precision:l,byUser:c}}function cl(e,t){if(!e.some(a=>a.userId))return[];const n="",r=new Map;for(const a of e){const c=a.userId??n;r.set(c,(r.get(c)??0)+a.seconds)}const i=[...new Set([...Object.keys(t.byUser),...[...r.keys()].filter(a=>a!==n)])].map(a=>{const c=r.get(a)??0,l=t.byUser[a]??0;return{userId:a,requiredSeconds:c,capacitySeconds:l,netSeconds:l-c}});i.sort((a,c)=>a.netSeconds-c.netSeconds);const s=r.get(n)??0;return s>0&&i.push({requiredSeconds:s,capacitySeconds:0,netSeconds:-s}),i}function ll(e,t,n,r){const o=e.filter(s=>s.userId&&Y(s.status)&&!L(s.kindKey).absent),i=Object.entries(r.byUser).map(([s,a])=>{let c=0,l=0;for(const d of o){if(d.userId!==s||L(d.kindKey).capacity&&!d.workstreamId)continue;const u=dt(d.start,d.end,n.from,n.to);u<=0||(Lt(d,t)?c+=u:l+=u)}return{userId:s,capacitySeconds:a,onThisSeconds:c,elsewhereSeconds:l,freeSeconds:Math.max(0,a-c-l)}});return i.sort((s,a)=>a.freeSeconds-s.freeSeconds),i}const ul="demand-source",dn=1e3;function dl(e,t){let n=1;for(let r=1;r<=e;r++)n=t*n/(r+t*n);return n}function io(e,t){if(e<=0)return 1;if(t<=0)return 0;if(e<=t)return 1;const n=dl(e,t),r=t/e;return n/(1-r*(1-n))}function so(e,t,n,r){return r<=0?1:e<=t?0:1-io(e,t)*Math.exp(-(e-t)*n/r)}function ao(e,t,n){return n<=0?0:e*t/n}function co(e,t,n,r){if(e<=0||t<=0)return 0;const o=ao(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<=dn;a++)if(!(a<=o)&&!(so(a,o,r.targetSeconds,t)<i)&&!(s&&o/a>s))return a;return dn}const fl=36e5,pl=864e5;function ml(e){return e==="day"?pl:fl}function gl(e,t){return e.start<t.end&&t.start<e.end}function ue(e,t,n){const r=Math.min(e.end,n)-Math.max(e.start,t);return r>0?r/1e3:0}function lo(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=co(e.volume,r,n,t);return{seconds:o,headcount:a*s}}return{seconds:o,headcount:o/n*s}}function hl(e){const{entries:t,workstreamId:n,staffing:r,demand:o,range:i}=e,s=e.grain??"hour",a=ml(s),c=a/1e3,l=e.kinds,d=t.filter(p=>Y(p.status)),u=d.filter(p=>Lt(p,n,l)),f=d.filter(p=>L(p.kindKey,l).capacity),m=d.filter(p=>L(p.kindKey,l).absent),y=[];for(let p=V(i.from,s);p<i.to;p+=a){const E=p+a,h=W(p,s);let g=0;for(const k of u)g+=ue(k,p,E);let _=0;for(const k of f)_+=ue(k,p,E);let T=0;for(const k of m)T+=ue(k,p,E);const C=o?.[h]??{},O=lo(C,r,c),M=g/c;y.push({period:h,forecastVolume:C.volume,requiredSeconds:O.seconds,requiredHeadcount:O.headcount,scheduledSeconds:g,scheduledHeadcount:M,netHeadcount:M-O.headcount,capacitySeconds:_,absentSeconds:T})}return y}function uo(e,t){return e.workTypeKey??t?.defaultWorkTypeKey}function yl(e,t,n){const r=uo(e,t);return r?n.find(o=>o.key===r)?.defaultBillable??!1:!1}function El(e){return e.filter(t=>t.netHeadcount<0&&t.requiredHeadcount>0)}const _l=36e5,ft=6048e5,fo=8,Sl=.5,Al=2;function bl(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 Tl(e,t,n){const r=[];for(let i=0;i<n;i++){const s=t-i*ft,a=s-ft;let c=0,l=!1;for(const[d,u]of e)d>=a&&d<s&&(c+=u,l=!0);l&&r.push(c)}if(r.length<2)return 1;const o=r.reduce((i,s)=>i+s,0)/r.length;return o<=0?1:Math.min(Al,Math.max(Sl,r[0]/o))}function Il(e,t){if(!e?.length)return;let n;for(const r of e)t>=r.from&&t<r.to&&(n=r);return n}function Ol(e,t,n){const r=Math.max(1,n?.weeks??fo),o=new Map,i=new Set;for(const c of e)o.set(bl(c.period),c.value),i.add(c.period.slice(0,10));const s=Tl(o,V(t.from,"hour"),r),a=[];for(let c=V(t.from,"hour");c<t.to;c+=_l){let l=0,d=0;for(let m=1;m<=r;m++){const y=c-m*ft,E=o.get(y)??(i.has(W(y,"day"))?0:void 0);if(E===void 0)continue;const h=r-m+1;l+=E*h,d+=h}let u=d>0?l/d*s:0;const f=Il(n?.adjustments,c);f?.absoluteVolume!==void 0?u=f.absoluteVolume:f?.factor!==void 0&&(u*=f.factor),a.push({period:W(c,"hour"),volume:u})}return a}const po="schedule_entry",mo="workstream";function Ml(e){return`${po}:${e}`}function vl(e){return`${mo}:${e}`}const pt=36e5,H=864e5;function Cl(e,t){const n=t==="day"?H:pt,r=[];for(let o=V(e.from,t);o<e.to;o+=n)r.push(o);return r}function fn(e){const t=Math.max(1,Math.round((e.to-e.from)/H));return Array.from({length:t},(n,r)=>e.from+r*H)}function Ve(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}function kl(e,t,n={}){const r=n.grain??"hour",o=Cl(t,r),i=r==="day"?H:pt,s=new Map(o.map(u=>[u,0])),a=e.filter(u=>u.userId&&L(u.kindKey).capacity),c=n.userIds?.length?new Set(n.userIds):null,l=new Set;for(const u of a)if(!(c&&u.userId&&!c.has(u.userId))){for(const f of o){const m=Ve(u.start,u.end,f,f+i);m>0&&s.set(f,(s.get(f)??0)+m)}for(const f of fn(t))Ve(u.start,u.end,f,f+H)>0&&l.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 m of fn(t)){if(l.has(`${u}:${m}`))continue;const y=Ut(n.patterns,u,f,m);if(!y)continue;const p=Pt(y,m);if(p<=0)continue;const E=$t(y,m);if(E){const[_,T]=E.split(":").map(Number),C=m+_*pt+(T??0)*6e4,O=C+p*6e4;for(const M of o){const k=Ve(C,O,M,M+i);k>0&&s.set(M,(s.get(M)??0)+k)}continue}const h=o.filter(_=>_>=m&&_<m+H);if(!h.length)continue;const g=p*60/h.length;for(const _ of h)s.set(_,(s.get(_)??0)+g)}}return o.map(u=>({period:W(u,r),weight:s.get(u)??0}))}function go(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 Rl(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 go(o.seconds,s)){const c=`${a.period}|${o.userId??""}`,l=r.get(c);l?l.seconds+=a.seconds:r.set(c,{...a,userId:o.userId})}}return[...r.values()].sort((o,i)=>o.period.localeCompare(i.period)||(o.userId??"").localeCompare(i.userId??""))}function ho(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Nl(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 yo(e){return ho(e)}function Eo(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 wl(e){return e.agentId?{kind:"user",userId:e.agentId}:Eo(e.ownerScope)}function Dl(e){return yo(e)}const _o="playbook-run",Ll="run";function xl(e,t=0){return`${_o}:${e}~${t}`}function Pl(e){const t=e.indexOf("~");return t<0?e:e.slice(0,t)}function So(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 $l(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function Ul(e,t){if(t)return e.targets.find(n=>n.id===t)}function Ao(e){return e?.kind==="assignment"}function Kl(e){const{trigger:t,agentId:n,target:r,activityType:o,assigneeUserId:i,authorUserId:s}=e;return Ao(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 mt=["suggest","outward","auto"];function Fl(e){return typeof e=="string"&&mt.includes(e)}function Bl(e){const t=e.playbook?.autonomy??e.agent?.autonomy??"suggest";return e.demoted&&t==="auto"?"outward":t}function Gl(e,t){const n=e??"suggest";return t&&mt.indexOf(t)<mt.indexOf(n)?t:n}function jl(e){return e.replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}function bo(e){const t=e.split("__");return t[t.length-1]||e}function Hl(e){const t=bo(e).replace(/[_.]+/g," ").trim();return t?t.charAt(0).toUpperCase()+t.slice(1):e}const Wl=[{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 Vl(e,t){return!e.onlyFor||!t?.length?!0:t.some(n=>e.onlyFor?.includes(n))}const Yl={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 To(e){return`${e.type}:${e.id}`}const Io="interaction";function Oo(e){return e?.type===Io?e.id:void 0}const Mo=64,vo=8e3;function zl(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),Mo),vo)}const Xl=["condition","for-each","parallel","lookup","action","classify","generate","agent","wait-for-reply","wait-for-task"],ql={kind:"workflow",steps:[]};function Ql(e){return e?.kind==="workflow"?e.steps:[]}function Jl(e){return e?.kind==="procedure"?e.procedure:void 0}function Zl(e){return e.assignmentId?"assignment":e.decider?.kind==="procedure"?"procedure":"workflow"}function Co(e){const t=e?.approved??0,n=t+(e?.rejected??0);return{total:n,rate:n?t/n:0}}const ko=10,Ro=.9;function eu(e){const{total:t,rate:n}=Co(e);return t>=ko&&n>=Ro}const No=["done","escalated","failed","stopped"];function tu(e){return No.includes(e)}function wo(e){return e==="waiting"}function nu(e){return e==="running"||wo(e)}function Kt(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function ru(e){const t=Kt(e);return t?To(t):void 0}function ou(e){return Oo(Kt(e))}function iu(e){const t=[],n=new Map;for(const r of[...e].sort(su)){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 su=(e,t)=>(e.createdAt??0)-(t.createdAt??0);function au(e,t){return t?e.actors.some(n=>n.type==="user"&&n.id===t):!1}class Ft extends Error{constructor(t){super(t),this.name="UnresolvedRefError"}}const cu=/^\{\{\s*([\w.]+)\s*\}\}$/,lu=/\{\{\s*([\w.]+)\s*\}\}/g,uu=/\$[A-Za-z_][\w]*\.[\w.]+/;function du(e,t,n={}){return Te(e,t,n)}function Te(e,t,n={}){return typeof e=="string"?fu(e,t,n):Array.isArray(e)?e.map(r=>Te(r,t,n)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,Te(o,t,{...n,where:`${n.where??"een parameter"} "${r}"`})])):e}function fu(e,t,n){const r=n.onMissing==="throw";if(r){const i=e.match(uu);if(i)throw new Ft(`"${i[0]}" in ${n.where??"een waarde"} is de oude schrijfwijze; gebruik {{ ${i[0].slice(1)} }}.`)}const o=e.match(cu);if(o){const i=pn(t,o[1],e,n);return i===void 0&&!r?"":i}return e.replace(lu,(i,s)=>{const a=pn(t,s,i,n);return a==null?"":typeof a=="object"?JSON.stringify(a):String(a)})}function pn(e,t,n,r){const o=t.split(".")[0]??"";if(r.onMissing==="throw"&&!Object.hasOwn(e,o)){const i=Object.keys(e);throw new Ft(`onbekende verwijzing ${n} in ${r.where??"een waarde"}: "${o}" bestaat niet. Beschikbaar: ${i.length?i.join(", "):"(nog niets)"}`)}return pu(e,t)}function pu(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}const mu=new Set(["filled","empty"]);function gu(){return{kind:"rule",op:"==",varPath:"",value:""}}const hu=new Set(["==","!=",">","<",">=","<="]);function Ye(e){return!!e&&typeof e=="object"&&"var"in e&&typeof e.var=="string"}function mn(e){const t=typeof e;return t==="string"||t==="number"||t==="boolean"}function Do(e){if(e===!0||e==null)return{kind:"group",op:"and",children:[]};if(e===!1)return null;const t=gt(e);return t?t.kind==="group"?t:{kind:"group",op:"and",children:[t]}:null}function gt(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=gt(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(Ye(o))return{kind:"rule",op:n==="!!"?"filled":"empty",varPath:o.var,value:""};if(n==="!!")return null;const i=gt(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!Ye(i)||!mn(o)?null:{kind:"rule",op:"in",varPath:i.var,value:o}}if(hu.has(n)){if(!Array.isArray(r)||r.length!==2)return null;const[o,i]=r;return!Ye(o)||!mn(i)?null:{kind:"rule",op:n,varPath:o.var,value:i}}return null}function de(e){return e.kind==="group"?e.children.length===0?!0:e.children.length===1?de(e.children[0]):{[e.op]:e.children.map(de)}:e.kind==="not"?{"!":de(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 yu(e){const t=Do(e);return t&&ht(t)||null}function ht(e){if(e.kind==="group"){const t=e.children.map(ht).filter(Boolean);return t.length===0?"":t.length===1?t[0]:t.join(e.op==="and"?" && ":" || ")}return e.kind==="not"?`!(${ht(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 ze=[{min:0,max:59},{min:0,max:23},{min:1,max:31},{min:1,max:12},{min:0,max:7}];function Eu(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 c=t,l=n;if(i!=="*"&&i!==void 0){const[d,u]=i.split("-");if(c=Number(d),l=u===void 0?c:Number(u),!Number.isInteger(c)||!Number.isInteger(l)||(u===void 0&&s!==void 0&&(l=n),c<t||l>n||c>l))return null}for(let d=c;d<=l;d+=a)r.add(d)}return r.size?r:null}function Bt(e){const t=e.trim().split(/\s+/);if(t.length!==ze.length)return null;const n=[];for(let c=0;c<ze.length;c++){const l=ze[c],d=t[c];if(!l||d===void 0)return null;const u=Eu(d,l.min,l.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 _u(e){return Bt(e)!==null}function Lo(e,t){const n=Bt(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 xo="@schedule",yt=3;function Po(e,t,n){const r=[],o=e.depth??0;if(o>=yt)return{matched:[],skipped:t.map(a=>({ruleId:a.id,reason:`keten te diep (${o} van ${yt})`}))};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!==xo){r.push({ruleId:a.id,reason:"luistert op de klok"});continue}const c=typeof e.payload?.at=="number"?e.payload.at:Number.NaN;if(!Number.isFinite(c)){r.push({ruleId:a.id,reason:"tik zonder tijdstip"});continue}if(!Lo(a.trigger.cron,new Date(c))){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 Su(e,t){return{causedByRule:t,depth:(e.depth??0)+1}}function Au(e,t){const{event:n,rules:r}=e.input,{matched:o,skipped:i}=Po(n,r,t),s=o.flatMap(l=>l.rule.then.map(d=>d.action)),a=e.expected?.actions??[];if(s.length===a.length&&s.every((l,d)=>l===a[d]))return{caseId:e.id,ok:!0};const c=i.map(l=>`${l.ruleId}: ${l.reason}`).join(" · ");return{caseId:e.id,ok:!1,got:s,note:a.length?`verwacht [${a.join(", ")}], kreeg [${s.join(", ")}]${c?` — ${c}`:""}`:`mocht niet vuren, maar deed [${s.join(", ")}]`}}function bu(e,t){return e.wrote&&t in e.wrote?e.wrote[t]:t in e.params?e.params[t]:""}function $o(e,t){return e.fields.filter(n=>t?.[n]!==void 0&&t[n]!==bu(e,n))}function Tu(e,t,n){return n?"undone":!t||!e.length?"unknown":e.some(r=>$o(r,t).length)?"corrected":"kept"}function Iu(e){return e==="string[]"?["in"]:e==="boolean"?["==","!="]:e==="number"||e==="date"?["==","!=",">","<",">=","<="]:["==","!=","in","filled","empty"]}function Ou(e){return`subject.${e.path}`}function Mu(e,t){return e.events.find(n=>n.name===t)}function vu(e,t){return e.filter(n=>So(t,n.path)===void 0).map(n=>n.path)}const Et=6e4,Cu=36e5,J=864e5,Uo=800;function gn(e,t){const n=Date.UTC(e,t+1,0);return n-new Date(n).getUTCDay()*J+Cu}function ku(e){const t=new Date(e).getUTCFullYear();return e>=gn(t,2)&&e<gn(t,9)}function Ko(e,t){const n=t.dst==="eu"&&ku(e)?60:0;return(t.utcOffsetMinutes+n)*Et}function Ru(e){return(e+3)%7+1}function Fo(e,t){const n=Ko(e,t),r=e+n,o=Math.floor(r/J);if(!t.days.includes(Ru(o)))return null;const i=o*J;return{open:i+t.fromMinutes*Et-n,close:i+t.toMinutes*Et-n}}function Bo(e,t){const n=Ko(e,t),r=e+n;return(Math.floor(r/J)+1)*J-n}function Ie(e,t,n){if(t<=e)return 0;if(!n)return t-e;let r=0,o=e;for(let i=0;i<Uo&&o<t;i++){const s=Fo(o,n);if(s){const a=Math.max(o,s.open),c=Math.min(t,s.close);c>a&&(r+=c-a)}o=Bo(o,n)}return r}function xe(e,t,n){if(!n)return e+t;let r=t,o=e;for(let i=0;i<Uo;i++){const s=Fo(o,n);if(s){const a=Math.max(o,s.open);if(s.close>a){const c=s.close-a;if(r<=c)return a+r;r-=c}}o=Bo(o,n)}return e+t}function Nu(e){const t=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);return t?Number(t[1])*60+Number(t[2]):null}const Oe=1,Me=2,ve=4;function wu(e){return e==="snoozed"?Oe:Me}function Pe(e){const t=e.calendar;return t&&Array.isArray(t.days)?t:null}const Du=["speed_of_answer","first_response","next_response","resolution","close"],Lu=["snoozed","waiting_for_customer"],xu=6e4,Go=["speed_of_answer","first_response","next_response"],Pu=[...Go,"resolution","close"];function te(e){return e.state==="running"||e.state==="paused"}function $u(e,t){return te(e)?{state:(e.state==="paused"?e.remainingMs>0:t<=e.dueAt)?"hit":"missed",settledAt:Math.max(t,e.startedAt)}:null}function hn(e){return te(e)?{state:"void"}:null}function Uu(e,t,n,r){if(!te(e)||(e.pauseBits&t)!==0)return null;const o=e.pauseBits|t;return e.state==="paused"?{pauseBits:o}:{pauseBits:o,state:"paused",remainingMs:Ie(n,e.dueAt,r)}}function Ku(e,t,n,r){if(!te(e)||(e.pauseBits&t)===0)return null;const o=e.pauseBits&~t;return o!==0?{pauseBits:o}:{pauseBits:o,state:"running",dueAt:xe(n,e.remainingMs,r)}}function Fu({event:e,at:t,now:n,clocks:r,profile:o}){const i=Pe(o),s=Math.min(t,n),a=r.map(h=>({...h})),c=[],l=(h,g)=>{g&&(c.push({op:"patch",clockId:h.id,patch:g}),Object.assign(h,g))},d=h=>{for(const g of a)g.metric===h&&l(g,$u(g,s))},u=h=>{for(const g of a)h.includes(g.metric)&&l(g,hn(g))},f=h=>{for(const g of a)l(g,Uu(g,h,s,i))},m=h=>{for(const g of a)l(g,Ku(g,h,s,i))},y=h=>a.reduce((g,_)=>_.metric===h?Math.max(g,_.attempt):g,0)+1,p=h=>a.some(g=>g.metric===h&&te(g)),E=(h,g)=>{const _=o.targets.find(C=>C.metric===h);if(!_)return;const T=_.minutes*xu;c.push({op:"start",metric:h,attempt:y(h),startedAt:g,targetMs:T,dueAt:xe(g,T,i)})};switch(e){case"apply":{for(const h of a)h.profileId!==o.id&&l(h,hn(h));for(const h of o.targets){if(h.metric==="next_response")continue;a.some(_=>_.metric===h.metric&&_.profileId===o.id)||E(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(Me);break}case"inbound":{m(Me),!p("first_response")&&!p("next_response")&&E("next_response",s);break}case"resolved":d("resolution");break;case"closed":d("close"),d("resolution"),u(Go);break;case"reopened":p("resolution")||E("resolution",s),p("close")||E("close",s);break;case"snoozed":o.pauseOn.includes("snoozed")&&f(Oe);break;case"unsnoozed":m(Oe);break;case"hold":f(ve);break;case"unhold":m(ve);break;case"discarded":u(Pu);break}return c}function jo(e){return e.state==="running"||e.state==="paused"}function Bu(e){return(e.pauseBits&ve)!==0}function Ce(e,t){const n=Pe(e);return e.state==="paused"?e.remainingMs:t>=e.dueAt?-Ie(e.dueAt,t,n):Ie(t,e.dueAt,n)}function Gu(e,t){return e.state==="paused"?xe(t,e.remainingMs,Pe(e)):e.dueAt}function ju(e,t){const n=e.filter(jo);if(!n.length)return;const r=n.filter(i=>i.state==="running");return(r.length?r:n).reduce((i,s)=>Ce(s,t)<Ce(i,t)?s:i)}function Hu(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=Ce(e,t);return n<=0?"breached":n<=e.targetMs/5?"urgent":"running"}function Wu(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 Gt(e){return`${Ho}:${e}`}function Vu(e,t=25){const n=new Set([Gt(e.id)]);for(const r of e.ancestorKeys??[])n.add(r);return Array.from(n).slice(0,t)}function Yu(e){return e?[...e.ancestorKeys??[],Gt(e.id)]:[]}const ne=[{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"}],Wo=999,Vo=7;function Yo(e,t=ne){return t.find(n=>n.key===e)}function ke(e,t=ne){return Yo(e,t)?.order??Wo}function zu(e,t,n=ne){return ke(t,n)<=ke(e,n)}function Xu(e,t=ne){const n=ke(e,t);return t.filter(o=>o.order>n).sort((o,i)=>o.order-i.order)[0]?.key??e}function qu(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 _t={pending:"open",on_track:"open",at_risk:"open",off_track:"open",paused:"paused",achieved:"closed",missed:"closed"};function Qu(e){return _t[e]??"open"}function Ju(e){return Object.keys(_t).filter(t=>e.includes(_t[t]))}const Zu=864e5,$e=e=>e<=0?0:e>1?1:e;function ed(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)?$e((t-r)/s):i?1:0}function td(e,t){const{startDate:n,targetDate:r}=e;if(!(typeof n!="number"||typeof r!="number")&&!(r<=n))return $e((t-n)/(r-n))}const zo=.1,Xo=.25;function nd(e,t){if(typeof e!="number"||typeof t!="number")return;if(e>=1)return"achieved";const n=t-e;return n>=Xo?"off_track":n>=zo?"at_risk":"on_track"}function rd(e,t){if(t)return $e(e/t)}function od(e){const t=e.map(n=>n.progress?.ratio).filter(n=>typeof n=="number"&&Number.isFinite(n));if(t.length)return $e(t.reduce((n,r)=>n+r,0)/t.length)}function id(e,t){const n=e.lastCheckInAt??e.createdAt;if(typeof n!="number")return 0;const r=(e.checkInEveryDays??Vo)*Zu,o=t-n-r;return o>0?o:0}function sd(e){return e.targetDate??Number.MAX_SAFE_INTEGER}function ad(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 cd(e,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function ld(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 ud(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function dd(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 qo(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function fd(e,t){const n=qo(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 pd(e,t){const n=e.ownerScope;return!n||n.kind==="org"?!0:t.includes(n.teamId)}function md(e){return e.filter(t=>!t.archived).sort(Qo)}function Qo(e,t){const n=(e.order??0)-(t.order??0);return n!==0?n:(e.label||"").localeCompare(t.label||"")}const Jo=20,Zo=20,fe=300;function K(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function ei(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=fe)return t;const n=t.slice(0,fe),r=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return r>fe*.6?n.slice(0,r+1):`${n.trimEnd()}…`}function gd(e,t){const n=ei(t.text),r=K(n);if(!r||(e.examples??[]).some(s=>K(s)===r))return null;const o=e.exampleCandidates??[],i=o.findIndex(s=>K(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},yn(s)}return yn([{...t,text:n},...o]).slice(0,Zo)}function yn(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function hd(e,t){const n=K(t),r=(e.examples??[]).filter(i=>i.trim());return{examples:r.some(i=>K(i)===n)?r:[...r,t].slice(-Jo),exampleCandidates:ti(e,t)}}function ti(e,t){const n=K(t);return(e.exampleCandidates??[]).filter(r=>K(r.text)!==n)}function ni(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function yd(e,t){return e.filter(n=>ni(n,t))}const Ue=[{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"}],jt=["quote","order","invoice","credit_note"];function Ed(){const e=new Map;for(const t of Ue)jt.includes(t.key)&&(e.has(t.path)||e.set(t.path,t));return[...e.values()]}function w(e){return Ue.find(t=>t.key===e)??{key:e,label:e,name:e,numbered:!1,signFlip:!1,statuses:["draft"],path:"quotes",issuedStatus:"draft",transitions:{},convertsTo:[]}}const _d={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 ri(e,t){return w(e).transitions[t]??[]}function Sd(e,t,n){return ri(e,t).includes(n)}function oi(e){return e.issuedAt!=null}const Ad=["status","fileRef","number","externalIds","postedAt","dunning","updatedAt"],bd=["companyId","contactId","dealItemId","title","reference","currency","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo","paymentTerm","lines"],Td=["contactId","dealItemId","title","reference","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo"];function Id(e,t){if(!jt.includes(t)||!w(e.kindKey).convertsTo.includes(t))return!1;const n=w(t);return!n.credits||n.credits===e.kindKey&&oi(e)}function ii(e,t){const n=w(t).signFlip!==w(e.kindKey).signFlip,r=e.lines.map(({timeEntryIds:o,agreementLineId:i,...s})=>({...s,quantity:n?-s.quantity:s.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 Od(e){return{...ii(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 Md(e,t={}){const n=w(e.kindKey),r=e.totals??{netCents:0,taxCents:0,grossCents:0};return{customer:{name:t.companyName??"",contact:t.contactName??"",address:kd(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:B(e.issuedAt),valid_until:B(e.expiresAt),due_date:B(e.dueAt),delivery_date:B(e.deliveredAt),period_from:B(e.periodFrom),period_to:B(e.periodTo),payment_term:e.paymentTerm?.label??"",note:e.introText??"",terms:e.termsText??""},totals:{net:P(r.netCents),tax:P(r.taxCents),gross:P(r.grossCents)}}}function vd(e,t=[],n=si){const r=e.totals??{netCents:0,grossCents:0,byRate:[]},o=a=>t.find(c=>c.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,"","",""]:[Cd(a.name,a.description,a.optional,n.optional),Rd(a.quantity),P(a.unitPriceCents),P(a.netCents)])},s={block_id:"totals",type:"totals",rows:[{label:n.net,amount:P(r.netCents)},{label:n.gross,amount:P(r.grossCents),emphasis:!0}],taxRows:r.byRate.map(a=>({label:`${n.tax} ${a.percent??o(a.taxRateKey)}%`,amount:P(a.taxCents)}))};return{lines:[i],totals:[s]}}const si={description:"Omschrijving",optional:"optioneel",quantity:"Aantal",unitPrice:"Stuksprijs",net:"Netto",tax:"Btw",gross:"Totaal"};function Cd(e,t,n,r){const o=t?`${e} — ${t}`:e;return n?`${o} (${r})`:o}function kd(e){return e?.street?[e.street,e.houseNumber].filter(Boolean).join(" "):""}function Rd(e){return Number.isInteger(e)?String(e):String(e).replace(".",",")}function B(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 ai(e){const t=w(e),n=t.key,r=t.numbered;return[{block_id:"head",type:"letterhead",fields:[...r?[{key:"number",label:wd[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 ${w(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:En[n]??En.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:_n[n]??_n.quote}]}const Nd=e=>({note:{key:`${w(e).key}.note`,exists:!0},period:{key:`${w(e).key}.period_from`,exists:!0}}),wd={invoice:{number:"Factuurnummer"},credit_note:{number:"Creditnotanummer"}},En={quote:`Beste {customer.contact},
|
|
11
|
+
`:t==="mail"?"<br><br>-- <br>":"<br><br>"}${o.body}`:n}function to(e){return e.replace(/\s+/g,"").toUpperCase()}function iu(e){return e.replace(/[\s.-]+/g,"").toUpperCase()}function au(e){const t=[];for(const n of e){if(typeof n!="string")continue;const r=to(n);r&&!t.includes(r)&&t.push(r)}return t}function cu(e){return e.endpoints??[]}const uu=["lead","opportunity","customer","former"],lu=["new","working","unqualified"];function du(e){return[e.firstName,e.lastName].filter(Boolean).join(" ").trim()}const no=["stages","leadStatuses","sources","scopes","cities","parentCompanyIds"],ro=["openDeal","hasContacts"],fu={contact:["stages","leadStatuses","sources","scopes","cities","openDeal"],company:["stages","sources","scopes","cities","parentCompanyIds","hasContacts"]},pu=["updatedAt","createdAt","name"],mu=["list"];function gu(e){return e.search?.trim()||e.createdWithinDays||ro.some(t=>e[t])||no.some(t=>e[t]?.length)?!1:!Object.values(e.fields??{}).some(t=>t.length)}const oo="CRM_NOTE_ADDED",hu="crm_activity",so="CRM_CALL_LOGGED",yu="CRM_STAGE_CHANGED",bu=["phone","meeting","video"],Eu=["callback","interested","no_answer","not_interested"],_u=e=>e===oo||e===so,Au=e=>e.payload.call?.at??e.createdAt??0;function W(e){const t=(e??"").trim().toLowerCase();if(t)return t.split(/[-_]/)[0]||void 0}function Su(e){return W(e.contactLocale)??W(e.companyLocale)??W(e.organizationLocale)}function Iu(e,t,n,r){const o=e.filter(a=>a.key===t&&!a.archived);if(o.length===0)return;const s=W(n),i=W(r);return o.find(a=>W(a.locale)===s)??o.find(a=>W(a.locale)===i)??o.find(a=>!a.locale)??o[0]}const Tu=/\{([a-zA-Z0-9_.]+)\}/g;function Wt(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}function Cu(e){return typeof e=="string"?e:typeof e=="number"||typeof e=="boolean"?String(e):""}function io(e,t,n){const r=[];return{text:e.replace(Tu,(s,i)=>{const a=Wt(t,i);return a==null||a===""?(r.includes(i)||r.push(i),n??`{${i}}`):Cu(a)}),unresolved:r}}function ao(e,t){if(!e)return!0;const n=Wt(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 vu(e,t,n,r,o){const s=[],i=[],a=new Set,u=c=>{const d=io(c,t,o);for(const l of d.unresolved)s.includes(l)||s.push(l);return d.text};for(const c of e){if(c.block_id&&!ao(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),i.push(...d);continue}switch(c.type){case"heading":case"paragraph":case"quote":i.push({...c,text:u(c.text)});break;case"callout":i.push({...c,...c.title?{title:u(c.title)}:{},text:u(c.text)});break;case"code":i.push(c);break;case"list":i.push({...c,items:c.items.map(l=>({...l.lead?{lead:u(l.lead)}:{},text:u(l.text)}))});break;case"table":i.push({...c,columns:c.columns.map(l=>({...l,label:u(l.label)})),rows:c.rows.map(l=>l.map(u)),...c.caption?{caption:u(c.caption)}:{}});break;case"kpi":i.push({...c,items:c.items.map(l=>({...l,value:u(l.value),label:u(l.label)}))});break;case"letterhead":i.push({...c,fields:c.fields.map(l=>({...l,value:u(l.value)})),...c.recipient?{recipient:c.recipient.map(u)}:{}});break;case"totals":i.push({...c,rows:c.rows.map(l=>({...l,label:u(l.label),amount:u(l.amount)})),...c.taxRows?{taxRows:c.taxRows.map(l=>({...l,label:u(l.label),amount:u(l.amount)}))}:{}});break;case"image":i.push({...c,url:u(c.url),...c.alt?{alt:u(c.alt)}:{}});break;default:i.push(c)}}return{blocks:i,unresolved:s,unusedSlots:Object.keys(r??{}).filter(c=>!a.has(c))}}function co(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 Ou(e){return co({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 uo(e,t,n,r=Date.now()){const o=n.filter(s=>s.ok).length;return{suite:e,target:t,at:r,score:n.length?o/n.length:1,perCase:[...n]}}function ku(e){return e.perCase.filter(t=>!t.ok).map(t=>`${t.caseId}: ${t.note??"onverwacht resultaat"}`)}async function Mu(e,t,n,r,o=Date.now()){const s=[];for(const i of n)try{s.push(await r(i))}catch(a){s.push({caseId:i.id,ok:!1,note:`beoordeling mislukt: ${a?.message??String(a)}`})}return uo(e,t,s,o)}const Ht=864e5,Ge=e=>new Date(e).toISOString().slice(0,10),Ne=e=>Date.parse(`${e}T00:00:00Z`);function ee(e,t){const[n,r,o]=e.split("-").map(Number),s=new Date(Date.UTC(n,r-1+t,1)),i=new Date(Date.UTC(s.getUTCFullYear(),s.getUTCMonth()+1,0)).getUTCDate();return s.setUTCDate(Math.min(o,i)),Ge(s.getTime())}function zt(e){const t=Math.max(1,Math.round(e.termMonths)),n=Number(e.ratePercent)/100/12,r=e.principalCents,o=n===0?r/t:r*n/(1-(1+n)**-t),s=[];let i=r;for(let a=1;a<=t;a++){const u=Math.round(i*n);let c=e.method==="annuity"?Math.round(o)-u:e.method==="linear"?Math.round(r/t):0;a===t&&(c=i),c=Math.min(c,i),i-=c,s.push({sequence:a,dueOn:ee(e.firstDueOn,a-1),interestCents:u,principalCents:c,remainingCents:i})}return s}function Ru(e,t,n,r){const o=Number(r)/100/365,s=[...e].sort((c,d)=>c.date.localeCompare(d.date));let i=s.filter(c=>c.date<t).reduce((c,d)=>c+d.cents,0),a=s.findIndex(c=>c.date>=t);a<0&&(a=s.length);let u=0;for(let c=Ne(t);c<=Ne(n);c+=Ht){const d=Ge(c);for(;a<s.length&&(s[a]?.date??"")<=d;)i+=s[a]?.cents??0,a++;u+=i*o}return Math.round(u)}function Nu(e,t,n){const r=n==="quarterly"?3:12,[o,s]=e.split("-").map(Number),i=n==="quarterly"?Math.floor((s-1)/3)*3+1:1,a=[];let u=`${o}-${String(i).padStart(2,"0")}-01`;for(let c=1;u<=t&&c<400;c++){const d=ee(u,r);a.push({sequence:c,from:u<e?e:u,to:Ge(Ne(d)-Ht)}),u=d}return a}const lo=5e7;function Du(e,t=lo){return{over:e>t,ratio:Math.max(0,e)/t}}function wu(e,t){const r=e.terms.kind==="loan_received"?1:-1;return zt(e.terms).filter(o=>o.dueOn<=t).map(o=>({financingItemId:e.id,sequence:o.sequence,dueOn:o.dueOn,lines:[...o.interestCents?[{accountId:e.terms.interestAccountId,amountCents:r*o.interestCents,description:`Rente termijn ${o.sequence}`}]:[],...o.principalCents?[{accountId:e.ledgerAccountId,amountCents:r*o.principalCents,subAccountId:e.id,description:`Aflossing termijn ${o.sequence}`}]:[]],expectedBankCents:-r*(o.interestCents+o.principalCents),settlesVia:"bank_line",label:`Termijn ${o.sequence}`}))}function fo(e){return Ge(Ne(ee(`${e.slice(0,7)}-01`,1))-Ht)}function Yt(e,t){const n=Math.max(1,Math.round(t)),r=Math.trunc(e/n);return Array.from({length:n},(o,s)=>s===n-1?e-r*(n-1):r)}function po(e,t,n,r,o,s){return t.map((i,a)=>({cents:i,sequence:a+1,dueOn:fo(ee(n,a))})).filter(i=>i.dueOn<=r&&i.cents!==0).map(i=>({financingItemId:e,sequence:i.sequence,dueOn:i.dueOn,lines:o(i.cents,i.sequence),expectedBankCents:0,settlesVia:"direct",label:s(i.sequence)}))}function xu(e,t){const n=e.terms;return po(e.id,Yt(n.costCents-n.residualCents,n.lifeMonths),n.acquiredOn,t,(r,o)=>[{accountId:n.depreciationAccountId,amountCents:r,description:e.name},{accountId:n.accumulatedAccountId,amountCents:-r,subAccountId:e.id,description:`Afschrijving ${o}/${n.lifeMonths}`}],r=>`Afschrijving ${r}/${n.lifeMonths}`)}function Lu(e,t){const n=e.terms,r=n.direction==="expense"?1:-1;return po(e.id,Yt(n.totalCents,n.months),n.firstMonth,t,(o,s)=>[{accountId:n.resultAccountId,amountCents:r*o,description:e.name},{accountId:e.ledgerAccountId,amountCents:-r*o,subAccountId:e.id,description:`${e.name} ${s}/${n.months}`}],o=>`${o}/${n.months}`)}function Pu(e){return e.kind==="fixed_asset"?e.costCents:e.upfront?e.direction==="expense"?e.totalCents:-e.totalCents:0}function $u(e,t){const n=ee(t,12);return zt(e).filter(r=>r.dueOn>t&&r.dueOn<=n).reduce((r,o)=>r+o.principalCents,0)}const mo=36e5,go=864e5,G=-1/0,Ku=e=>e.score>G,oe={urgent:40,high:25,normal:10,low:0};function Uu(e){return Object.fromEntries(e.map(t=>[t.resourceId,t]))}const Bu=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,ho=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function yo(e,t){return!!(e&&Bu.test(e)||t&&ho.test(t))}const bo=3,Eo=600;function Fu(e,t){return e>=bo||t>=Eo}const _o=["list-unsubscribe","list-unsubscribe-post","list-id","precedence","auto-submitted","x-auto-response-suppress","feedback-id","x-mailer"];function ju(e){const t={};for(const n of e){const r=n.name?.toLowerCase();r&&n.value!==void 0&&_o.includes(r)&&(t[r]=n.value)}return t}const Gu=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i,Vu=/(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;function Wu(e){const t=e.headers??{},n=e.from?.email,r=t["auto-submitted"]?.toLowerCase();if(r&&r!=="no"||t["x-auto-response-suppress"]||n&&Gu.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&&ho.test(e.body)||n&&Vu.test(n))return"marketing"}function Ao(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const So=["open"],Io=1e3,To=72;function Co(e){return e.lastActivityAt??(e.createdAt?new Date(pr(e)).getTime():0)}function vo(e,t){return Oo(t.remindersById?.[e.id],e,t.now)}function Oo(e,t,n){return!e||e.remindAt<=n?!1:!((t.lastActivityAt??0)>e.parkedAt&&t.lastActivityPreview?.direction==="inbound")}const ko=e=>ur(e)==="outbound_message",Mo=e=>So.includes(e);function Ve(e,t){return Math.max(0,(t-Co(e))/mo)}function Ro(e,t){const n=e.assignedInboxId?t?.[e.assignedInboxId]:void 0;return typeof n=="number"&&n>0?n:void 0}function Hu(e){const t={};for(const n of e)typeof n.slaHours=="number"&&n.slaHours>0&&(t[n.id]=n.slaHours);return t}function zu(e,t,n){if(!Mo(e.status)||e.firstResponseAt)return!1;const r=Ro(e,n);return r!==void 0&&Ve(e,t)>r}function No(e,t){const n=e.lastActivityPreview;return n?.direction!=="outbound"||!ko(n.type)?!1:Ve(e,t)<To}function Yu(e,t){if(!Mo(e.status))return{score:G,reasons:[]};if(e.snoozedTill&&e.snoozedTill>t.now)return{score:G,reasons:[]};if(No(e,t.now))return{score:G,reasons:[]};if(vo(e,t))return{score:G,reasons:[]};let n=0;const r=[],o=e.priority??"normal";oe[o]>0&&(n+=oe[o],r.push(`priority:${o}`)),Ao(e,t.userId)&&(n+=20,r.push("unseen")),e.assignedUserId&&e.assignedUserId===t.userId&&(n+=15,r.push("assigned-to-you"));const s=Ve(e,t.now);if(s>0){const u=Math.min(s*2,30);n+=u,s>=1&&r.push(`waiting:${Math.round(s)}h`)}const i=e.lastActivityPreview;return i?.type==="AI_ACTION_PROPOSED"&&(n+=30,r.push("awaiting-approval")),i?.direction==="outbound"&&ko(i.type)&&(n+=10,r.push("no-reply")),!e.firstResponseAt&&e.lastActivityPreview?.direction==="inbound"&&(n+=10,r.push("awaiting-reply")),(e.tags?.some(u=>u==="marketing"||u==="automated")||yo(e.remoteParty?.resource,e.lastActivityPreview?.snippet))&&(n-=Io,r.push("bulk")),{score:n,reasons:r}}const Xu=e=>!!e.assignedUserId||!!e.assignedInboxId,qu=e=>e.status==="closed",Zu=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,Ju=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`,Do=[{key:"solved",label:"resolution_solved",order:0,positive:!0,system:!0},{key:"no_action",label:"resolution_no_action",order:1,system:!0},{key:"duplicate",label:"resolution_duplicate",order:2,system:!0},{key:"spam",label:"resolution_spam",order:3,system:!0},{key:"unresolved",label:"resolution_unresolved",order:4,positive:!1,system:!0}],Qu=["duplicate","spam"],el="c_";function tl(e){const t=[...e?.resolutions??[]].filter(n=>!n.system).sort((n,r)=>n.order-r.order);return[...Do,...t]}function nl(e,t){const n=e.labels??[];return n.find(r=>r.locale===t)?.label??n[0]?.label??e.url}function rl(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 ol="article",De=[{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 wo(e){const t=(e??"").toLowerCase();return De.find(n=>n.code===t)??De.find(n=>n.code===t.split("-")[0])}function sl(e){return wo(e)?.label??e}function il(e){const t=wo(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const Xt=3;function xo(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>Xt+1))return 1/0;o=t.get(o)?.parentId}return r}function al(e,t,n){if(!e)return!0;if(e===t)return!1;const r=new Map(n.map(i=>[i.id,i]));if(!r.has(e)||t&&Lo(e,t,r))return!1;const o=xo(e,r),s=t?qt(t,n):1;return o+s<=Xt}function Lo(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 qt(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=>qt(o.id,t,n))):1}const Po="en";function $o(e){return e.defaultLocale||e.locale||Po}function cl(e){const t=new Set,n=[];for(const r of[$o(e),...e.locales??[]])!r||t.has(r)||(t.add(r),n.push(r));return n}function ul(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}function ll(e,t,n){const r=new Map;for(const o of e){if(o.date>n)continue;const s=r.get(o.accountId)??{accountId:o.accountId,openingCents:0,debitCents:0,creditCents:0,closingCents:0};o.date<t?s.openingCents+=o.functionalCents:o.functionalCents>0?s.debitCents+=o.functionalCents:s.creditCents-=o.functionalCents,s.closingCents=s.openingCents+s.debitCents-s.creditCents,r.set(o.accountId,s)}return r}const dl=["revenue","expense"],ce=e=>dl.includes(e.type),fl=e=>(e.reportGroup??e.type).split(".")[0]??e.type;function Ko(e,t,n,r){const o=new Map;for(const i of[...e].sort((a,u)=>a.code.localeCompare(u.code))){if(!t(i))continue;const a=fl(i),u=i.reportGroup??a,c=o.get(a)??new Map;c.set(u,[...c.get(u)??[],i]),o.set(a,c)}const s=[];for(const[i,a]of o){const u=n(i),c=l=>u==="debit"?t(l):-t(l),d=[...a.values()].flat().reduce((l,f)=>l+c(f),0);s.push({key:i,label:r(i),level:0,side:u,amountCents:d});for(const[l,f]of a){s.push({key:l,label:r(l),level:1,side:u,amountCents:f.reduce((m,b)=>m+c(b),0)});for(const m of f)s.push({key:m.code,label:`${m.code} ${m.name}`,level:2,side:u,amountCents:c(m),accountId:m.id})}}return s}function pl(e,t,n,r=o=>o){const o=e.filter(ce),s=u=>{const c=t.get(u.id);return c?c.debitCents-c.creditCents:0},i=Ko(o,s,u=>u==="revenue"||u==="financial"?"credit":"debit",r),a=-o.reduce((u,c)=>u+s(c),0);return{kind:"profit_and_loss",...n,rows:i,totals:{resultCents:a},source:"finance"}}function ml(e,t,n,r,o=s=>s){const s=e.filter(d=>!ce(d)),a=Ko(s,d=>t.get(d.id)?.closingCents??0,d=>d==="assets"?"debit":"credit",o);if(r){a.push({key:"equity.result_unappropriated",label:o("equity.result_unappropriated"),level:1,side:"credit",amountCents:r});const d=a.find(l=>l.level===0&&l.key==="equity");d?d.amountCents+=r:a.push({key:"equity",label:o("equity"),level:0,side:"credit",amountCents:r})}const u=a.filter(d=>d.level===0&&d.side==="debit").reduce((d,l)=>d+l.amountCents,0),c=a.filter(d=>d.level===0&&d.side==="credit").reduce((d,l)=>d+l.amountCents,0);return{kind:"balance",from:n.from,to:n.to,rows:a,totals:{debitCents:u,creditCents:c},source:"finance"}}function gl(e,t){return[...e].sort((n,r)=>n.code.localeCompare(r.code)).flatMap(n=>{const r=t.get(n.id);if(!r||!r.openingCents&&!r.debitCents&&!r.creditCents)return[];const o=ce(n),s=o?r.debitCents-r.creditCents:r.closingCents;return[{...r,code:n.code,name:n.name,balanceDebitCents:!o&&s>0?s:0,balanceCreditCents:!o&&s<0?-s:0,resultDebitCents:o&&s>0?s:0,resultCreditCents:o&&s<0?-s:0}]})}function hl(e,t,n,r=13){const o=Date.parse(`${n}T00:00:00Z`),s=Array.from({length:r},(a,u)=>({from:new Date(o+u*7*864e5).toISOString().slice(0,10),inCents:0,outCents:0,closingCents:0}));for(const a of t){const u=Math.max(0,Math.floor((Date.parse(`${a.date}T00:00:00Z`)-o)/6048e5)),c=s[u];c&&(a.cents>=0?c.inCents+=a.cents:c.outCents-=a.cents)}let i=e;for(const a of s)i+=a.inCents-a.outCents,a.closingCents=i;return s}function yl(e){const t=new Map(e.accounts.map(s=>[s.id,s])),n=new Map;for(const s of e.lines){const i=t.get(s.accountId);!i||!ce(i)||n.set(s.accountId,(n.get(s.accountId)??0)+s.functionalCents)}const r=[];let o=0;for(const[s,i]of[...n.entries()].sort(([a],[u])=>a.localeCompare(u)))i&&(r.push({accountId:s,amountCents:-i,functionalCents:-i,currency:e.currency}),o+=i);return r.length&&r.push({accountId:e.resultAccountId,amountCents:o,functionalCents:o,currency:e.currency,description:"Resultaat boekjaar"}),{lines:r,resultCents:-o}}function bl(e,t){const n=[];e.lines.length<2&&n.push({code:"entry_too_few_lines"});const r=e.lines.reduce((s,i)=>s+i.functionalCents,0);r!==0&&n.push({code:"entry_unbalanced",params:{cents:String(r)}});const o=new Map(t.accounts.map(s=>[s.id,s]));for(const s of e.lines){const i=o.get(s.accountId);i?i.archived?n.push({code:"entry_account_archived",params:{account:i.code}}):i.requiresSubAccount&&!s.subAccountId&&n.push({code:"entry_sub_account_required",params:{account:i.code}}):n.push({code:"entry_unknown_account",params:{account:s.accountId}})}return t.period?(t.period.status==="locked"&&t.allow!=="locked"||t.period.status==="closed"&&!t.allow)&&n.push({code:"entry_period_closed",params:{day:e.date}}):n.push({code:"entry_no_period",params:{day:e.date}}),n}function El(e,t,n){return`${e}-${t.slice(0,4)}-${String(n).padStart(4,"0")}`}const _l=["businessEntityId","journalId","number","journalSeq","fiscalYear","chainSeq","date","periodId","description","sourceKey","source","lines","reversesEntryId","attachment","prevHash","postedAt","postedBy"];function Al(e){const t={};for(const n of _l)e[n]!==void 0&&(t[n]=e[n]);return t}function St(e){return e===null||typeof e!="object"?JSON.stringify(e):Array.isArray(e)?"["+e.map(St).join(",")+"]":"{"+Object.entries(e).filter(([,n])=>n!==void 0).sort(([n],[r])=>n<r?-1:n>r?1:0).map(([n,r])=>JSON.stringify(n)+":"+St(r)).join(",")+"}"}function Sl(e){return e.map(t=>({...t,amountCents:-t.amountCents,functionalCents:-t.functionalCents,...t.taxCents!==void 0?{taxCents:-t.taxCents}:{}}))}function Il(e,t,n){const r=t.filter(s=>s.appliesTo.direction===n.direction).filter(s=>!s.appliesTo.kind||s.appliesTo.kind===n.kind).sort((s,i)=>s.order-i.order),o=s=>r.find(i=>s(i.match));return e.productId&&o(s=>s.productId===e.productId)||e.ledgerCategoryKey&&o(s=>s.ledgerCategoryKey===e.ledgerCategoryKey)||o(s=>!s.productId&&!s.ledgerCategoryKey&&s.taxRateKey===e.taxRateKey)||o(s=>!s.productId&&!s.ledgerCategoryKey&&!s.taxRateKey)}function Tl(e,t){const n=b=>t.accounts.find(g=>g.role===b&&!g.archived),r=e.direction==="sale",o=n(r?"debtors":"creditors");if(!o)return{ok:!1,problem:r?"no_debtors_account":"no_creditors_account"};const s=n(r?"revenue_default":"expense_default"),i=n(r?"vat_payable":"vat_receivable"),a=r?-1:1,u={currency:e.currency,...e.counterparty.companyId?{counterpartyCompanyId:e.counterparty.companyId}:{}},c=e.taxPointDate??e.issueDate,d=[],l=new Map;for(const b of e.lines){const g=b.accountKey??Il(b,t.rules,e)?.accountId??s?.id;if(!g)return{ok:!1,problem:"no_account_for_line"};d.push({...u,accountId:g,amountCents:a*b.netCents,functionalCents:a*b.netCents,taxCode:b.taxRateKey,taxCents:a*b.taxCents,taxPointDate:c,...b.description?{description:b.description}:{},...b.dimensions?.projectId?{projectId:b.dimensions.projectId}:{}}),b.taxCents&&l.set(b.taxRateKey,(l.get(b.taxRateKey)??0)+b.taxCents)}for(const[b,g]of l){const h=t.taxAccounts.find(y=>y.taxKey===b),p=(r?h?.payableAccountId:h?.receivableAccountId)??i?.id;if(!p)return{ok:!1,problem:"no_vat_account"};d.push({...u,accountId:p,amountCents:a*g,functionalCents:a*g,taxCode:b,taxPointDate:c})}const f=e.lines.reduce((b,g)=>b+g.netCents+g.taxCents,0);d.unshift({...u,accountId:o.id,amountCents:-a*f,functionalCents:-a*f});const m=[e.number,e.counterparty.name].filter(Boolean).join(" · ");return{ok:!0,journalKind:r?"sales":"purchase",lines:d,description:m||e.documentId}}const rt=e=>String(e).padStart(2,"0"),Cl=(e,t)=>new Date(Date.UTC(e,t,0)).getUTCDate();function vl(e,t=1){const n=t===1?String(e):`${e}/${e+1}`;return Array.from({length:12},(r,o)=>{const s=t-1+o,i=e+Math.floor(s/12),a=s%12+1;return{fiscalYear:n,index:o+1,from:`${i}-${rt(a)}-01`,to:`${i}-${rt(a)}-${rt(Cl(i,a))}`,status:"open"}})}function Ol(e,t){return e.find(n=>n.from<=t&&t<=n.to)}const _=(e,t,n,r,o,s)=>({code:e,name:t,type:n,reportGroup:r,rgs:o,...s?{role:s}:{}}),Uo={key:"nl-bv",label:"BV (Nederland)",rgsVersion:"3.5",accounts:[_("0100","Inventaris","asset","assets.fixed.tangible","BMvaBeiVvp"),_("0110","Afschrijving inventaris","asset","assets.fixed.tangible","BMvaBeiCae"),_("0200","Vervoermiddelen","asset","assets.fixed.tangible","BMvaTevVvp"),_("0210","Afschrijving vervoermiddelen","asset","assets.fixed.tangible","BMvaTevCae"),_("0500","Deelnemingen in groepsmaatschappijen","asset","assets.fixed.financial","BFvaDigNev"),_("0600","Leningen bank","liability","liabilities.long","BLasSakLvl"),_("0550","Leningen u/g","asset","assets.fixed.financial","BFvaLenLen"),_("0560","Waarborgsommen","asset","assets.fixed.financial","BFvaOvrWaa"),_("0800","Geplaatst kapitaal","equity","equity.capital","BEivGokGea"),_("0810","Agio","equity","equity.share_premium","BEivAgiAgi"),_("0900","Overige reserves","equity","equity.reserves","BEivOvrOrs"),_("0990","Resultaat boekjaar","equity","equity.result","BEivOreRvh","result"),_("1000","Kas","asset","assets.current.cash","BLimKasKas"),_("1100","Bank","asset","assets.current.cash","BLimBanRba"),_("1300","Debiteuren","asset","assets.current.receivables","BVorDebHad","debtors"),_("1400","Vooruitbetaalde kosten","asset","assets.current.other","BVorOvaVof"),_("1410","Nog te factureren omzet","asset","assets.current.other","BVorOvaNtf"),_("1500","Te betalen btw","liability","liabilities.short.tax","BSchBepBtw","vat_payable"),_("1510","Te vorderen btw","asset","assets.current.tax","BVorVbkTvo","vat_receivable"),_("1520","Btw-afdracht","liability","liabilities.short.tax","BSchBepBaf"),_("1610","Aflossingsverplichtingen leningen","liability","liabilities.short.other","BSchAosLvk"),_("1600","Crediteuren","liability","liabilities.short.payables","BSchCreHac","creditors"),_("1700","Rekening-courant bestuurder","liability","liabilities.short.related","BSchOvsRcb"),_("1800","Nog te betalen kosten","liability","liabilities.short.other","BSchOpaNtb"),_("1810","Vooruitgefactureerde omzet","liability","liabilities.short.other","BSchOpaVgo"),_("1900","Te betalen loonheffing","liability","liabilities.short.tax","BSchBepLhe"),_("2000","Tussenrekening betalingen","asset","assets.current.other","BVorTusTbt","suspense"),_("4000","Lonen","expense","costs.personnel","WPerLesLon"),_("4100","Huur","expense","costs.housing","WBedHuiBeh"),_("4110","Gas, water en elektra","expense","costs.housing","WBedHuiGwe"),_("4200","Autokosten","expense","costs.car","WBedAutOak"),_("4300","Kantoorbenodigdheden","expense","costs.office","WBedKanKan"),_("4310","Automatisering en software","expense","costs.office","WBedKanKoa"),_("4400","Reclame- en advertentiekosten","expense","costs.sales","WBedVkkRea"),_("4500","Accountants- en advieskosten","expense","costs.general","WBedAeaAea"),_("4590","Algemene kosten","expense","costs.general","WBedAlkOal","expense_default"),_("4600","Afschrijving inventaris","expense","costs.depreciation","WAfsAmvBei"),_("4610","Afschrijving vervoermiddelen","expense","costs.depreciation","WAfsAmvTev"),_("4900","Rente en kosten bank","expense","financial.expense","WFbeOrlRkb"),_("4910","Rentelasten leningen kredietinstellingen","expense","financial.expense","WFbeRlsRlk"),_("4920","Rentelasten schulden aan bestuurders","expense","financial.expense","WFbeRlsRsd"),_("7000","Inkoopwaarde handelsgoederen","expense","costs.cost_of_sales","WKprInhInh"),_("8000","Omzet diensten hoog tarief","revenue","revenue.net","WOmzNodOdh","revenue_default"),_("8010","Omzet diensten laag tarief","revenue","revenue.net","WOmzNodOdl"),_("8020","Omzet diensten verlegd","revenue","revenue.net","WOmzNodOdv"),_("8030","Omzet vrijgestelde diensten","revenue","revenue.net","WOmzNodNod"),_("8100","Omzet diensten binnen de EU","revenue","revenue.net","WOmzNodOdi"),_("8110","Omzet diensten buiten de EU","revenue","revenue.net","WOmzNodOdb"),_("9000","Rentebaten bank","revenue","financial.income","WFbeRlmObr"),_("9010","Rentebaten rekening-courant bestuurders","revenue","financial.income","WFbeRlmRrb")],journals:[{code:"VK",name:"Verkoop",kind:"sales"},{code:"IK",name:"Inkoop",kind:"purchase"},{code:"BNK",name:"Bank",kind:"bank"},{code:"KAS",name:"Kas",kind:"cash"},{code:"MEM",name:"Memoriaal",kind:"memorial"},{code:"BEG",name:"Beginbalans",kind:"opening"}]},kl=[Uo],Bo="http://www.odb.belastingdienst.nl/Belastingdienst/BCPP/1.1/structures/XmlauditfileXAF_4.0",Ml={sales:"S",purchase:"P",bank:"B",cash:"C",memorial:"M",opening:"M"},Fo=e=>e.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),Zt=(e,t)=>e.length>t?e.slice(0,t):e,E=(e,t,n=9999)=>t===void 0||t===""?"":"<"+e+">"+Fo(Zt(String(t),n))+"</"+e+">",j=e=>{const t=Math.abs(e);return String(Math.trunc(t/100))+"."+String(t%100).padStart(2,"0")},ot=e=>e<0?"C":"D",Pn=e=>Zt(e.replace(/-/g,""),35);function Rl(e){const t=new Map(e.accounts.map(c=>[c.id,c.code])),n=new Map(e.periods.map(c=>[c.id,c.index])),r=[],o=(...c)=>{r.push(c.join(""))};o('<?xml version="1.0" encoding="UTF-8"?>','<auditfile xmlns="',Bo,'">',"<header>",E("fiscalYear",e.fiscalYear.replace("/","-")),E("startDate",e.startDate),E("endDate",e.endDate),E("curCode",e.currency),E("dateCreated",e.createdOn),E("softwareDesc",e.software.desc,50),E("softwareVersion",e.software.version,20),E("RGSVersion",e.rgsVersion,20),"</header>","<company>",E("Commercenr",e.company.commerceNr,100),E("companyName",e.company.name,255),E("taxRegistrationCountry",e.company.country),"<taxRegIdent>"+Fo(Zt(e.company.vatNumber??"",30))+"</taxRegIdent>");const s=e.company.address;if(s&&(s.street||s.city)&&o("<streetAddress>",E("streetname",s.street,100),E("number",s.number,15),E("city",s.city,50),E("postalCode",s.postalCode,10),E("country",e.company.country),"</streetAddress>"),e.relations.length){o("<customersSuppliers>");for(const c of e.relations)o("<customerSupplier>",E("custSupID",Pn(c.id)),E("custSupName",c.name,50),E("commerceNr",c.commerceNr,100),E("taxRegistrationCountry",c.country),E("taxRegIdent",c.vatNumber,30),E("custSupTp",c.type),"</customerSupplier>");o("</customersSuppliers>")}o("<generalLedger>");for(const c of[...e.accounts].sort((d,l)=>d.code.localeCompare(l.code))){const d=c.type==="revenue"||c.type==="expense";o("<ledgerAccount>",E("accID",c.code,35),E("accDesc",c.name,255),E("accTp",d?"P":"B"),E("RGScode",c.taxonomy?.rgs,255),"</ledgerAccount>")}if(o("</generalLedger>"),e.taxCodes.length){o("<vatCodes>");for(const c of e.taxCodes)o("<vatCode>",E("vatID",c.key,35),E("vatDesc",c.label,100),E("vatToPayAccID",c.payableAccountId&&t.get(c.payableAccountId)),E("vatToClaimAccID",c.receivableAccountId&&t.get(c.receivableAccountId)),"</vatCode>");o("</vatCodes>")}o("<periods>");for(const c of[...e.periods].sort((d,l)=>d.index-l.index))o("<period>",E("periodNumber",c.index),E("startDatePeriod",c.from),E("endDatePeriod",c.to),"</period>");o("</periods>");const i=e.opening.filter(c=>c.cents!==0);if(i.length){const c=i.filter(l=>l.cents>0).reduce((l,f)=>l+f.cents,0),d=-i.filter(l=>l.cents<0).reduce((l,f)=>l+f.cents,0);o("<openingBalance>",E("linesCount",i.length),E("totalDebit",j(c)),E("totalCredit",j(d))),i.forEach((l,f)=>{o("<obLine>",E("nr",f+1),E("accID",t.get(l.accountId)??l.accountId),E("amnt",j(l.cents)),E("amntTp",ot(l.cents)),"</obLine>")}),o("</openingBalance>")}const a=e.entries.flatMap(c=>c.lines);o("<transactions>",E("linesCount",a.length),E("totalDebit",j(a.filter(c=>c.functionalCents>0).reduce((c,d)=>c+d.functionalCents,0))),E("totalCredit",j(-a.filter(c=>c.functionalCents<0).reduce((c,d)=>c+d.functionalCents,0))));const u=new Map;for(const c of e.entries)u.set(c.journalId,[...u.get(c.journalId)??[],c]);for(const c of e.journals){const d=u.get(c.id);if(d?.length){o("<journal>",E("jrnID",c.code,35),E("desc",c.name),E("jrnTp",Ml[c.kind]));for(const l of[...d].sort((f,m)=>f.journalSeq-m.journalSeq))o("<transaction>",E("nr",l.number,35),E("desc",l.description),E("periodNumber",n.get(l.periodId)??0),E("trDt",l.date),E("Source",l.source.app+(l.source.kind?" "+l.source.kind:""),999),E("User",l.postedBy,999)),l.lines.forEach((f,m)=>{const b=f.taxCode&&e.vatPercent?.(f.taxCode,l.date),g=f.currency&&f.currency!==e.currency;o("<trLine>",E("nr",m+1),E("accID",t.get(f.accountId)??f.accountId,35),E("docRef",l.source.number??l.number,255),E("effDate",f.taxPointDate??l.date),E("desc",f.description),E("amnt",j(f.functionalCents)),E("amntTp",ot(f.functionalCents)),E("custSupID",f.counterpartyCompanyId&&Pn(f.counterpartyCompanyId)),E("invRef",l.source.number,255),E("cost",f.costCenter,999),E("project",f.projectId,999),b&&f.taxCents!==void 0?"<vat>"+E("vatID",f.taxCode,35)+E("vatPerc",b)+E("vatAmnt",j(f.taxCents))+E("vatAmntTp",ot(f.taxCents))+"</vat>":"",g?"<currency>"+E("curCode",f.currency)+E("curAmnt",j(f.amountCents))+"</currency>":"","</trLine>")}),o("</transaction>");o("</journal>")}}return o("</transactions>","</company>","</auditfile>"),r.join(`
|
|
12
|
+
`)}const Nl=(e,t)=>{const n=Math.round(Number((e??"0").replace(",","."))*100);return t==="C"?-Math.abs(n):Math.abs(n)};function Dl(e){const t=$(e,"ledgerAccount").map(a=>{const u=S(a,"RGScode")??S(a,"leadCode");return{code:S(a,"accID")??"",name:S(a,"accDesc")??"",kind:S(a,"accTp")==="P"?"P":"B",...u?{rgs:u}:{}}}),n={},r=a=>{const u=S(a,"accID");u&&(n[u]=(n[u]??0)+Nl(S(a,"amnt"),S(a,"amntTp")))};for(const a of $(e,"obLine"))r(a);for(const a of $(e,"trLine"))r(a);const o=$(e,"header")[0]??"",s=S(o,"fiscalYear"),i=S(o,"endDate");return{accounts:t.filter(a=>a.code),closing:n,...s?{fiscalYear:s}:{},...i?{endDate:i}:{}}}function wl(e,t){const n=e.rgs??"";return/^BEiv/.test(n)?"equity":/^B(Iva|Mva|Fva|Vrd|Vor|Eff|Lim)/.test(n)?"asset":/^B(Vrz|Lsc|Las|Sch|Sub)/.test(n)?"liability":/^W(Omz|Oov|Fbe.*Rlm|Wiv)/.test(n)||/^WFbeOrb/.test(n)?"revenue":/^W/.test(n)?"expense":e.kind==="P"?t<0?"revenue":"expense":t<0?"liability":"asset"}const It=["lookup","condition","parallel","for-each"];function ye(e){for(const t of e){if(!It.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${It.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const r=ye(n);if(r)return r}if(t.type==="for-each"){const n=ye(t.body??[]);if(n)return n}if(t.type==="condition"){const n=ye(t.else??[]);if(n)return n}}return null}function xl(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 Ll(e,t){return e.filter(n=>n.enabled&&xl(n.ownerScope,t))}function Pl(e){return e.credentialScope?e.credentialScope:(e.authMode??"header")==="header"||e.oauth?.scope==="org"?"shared":"per-user"}function $l(e){return`mcp__${e}__`}const Kl=1e3,Ul=2e3,Bl=500,Fl=12e3,jl=4e3,jo=["contact","company","work_item"];function Gl(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return jo.includes(t)}const Vl=[{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 Go(e,t){return t.find(n=>n.key===e)??{key:e,label:e,percent:0,kind:"zero"}}const Wl=[{key:"high",label:"tax_high",kind:"standard",direction:"both",rates:[{validFrom:"2012-10-01",percent:21}],boxes:{"nl-ob":{sales:{base:"1a",tax:"1a"},purchase:{tax:"5b"}}}},{key:"low",label:"tax_low",kind:"reduced",direction:"both",rates:[{validFrom:"2019-01-01",percent:9}],boxes:{"nl-ob":{sales:{base:"1b",tax:"1b"},purchase:{tax:"5b"}}}},{key:"zero",label:"tax_zero",kind:"zero",direction:"both",rates:[{validFrom:"2000-01-01",percent:0}],boxes:{"nl-ob":{sales:{base:"1e"}}}},{key:"reverse_charge",label:"tax_reverse_charge",kind:"reverse_charge",direction:"both",rates:[{validFrom:"2000-01-01",percent:0}],boxes:{"nl-ob":{sales:{base:"1e"},purchase:{base:"2a",tax:"2a"}}},selfAssessed:!0},{key:"eu",label:"tax_eu",kind:"reverse_charge",direction:"both",rates:[{validFrom:"2000-01-01",percent:0}],boxes:{"nl-ob":{sales:{base:"3b"},purchase:{base:"4b",tax:"4b"}}},selfAssessed:!0,icp:!0},{key:"non_eu",label:"tax_non_eu",kind:"zero",direction:"both",rates:[{validFrom:"2000-01-01",percent:0}],boxes:{"nl-ob":{sales:{base:"3a"},purchase:{base:"4a",tax:"4a"}}},selfAssessed:!0},{key:"exempt",label:"tax_exempt",kind:"exempt",direction:"both",rates:[{validFrom:"2000-01-01",percent:0}],boxes:{}}];function Jt(e,t){return e.rates.find(r=>r.validFrom<=t&&(!r.validTo||t<=r.validTo))?.percent??0}function Hl(e,t,n="sales"){return e.filter(r=>!r.archived&&(r.direction==="both"||r.direction===n)).map(r=>({key:r.key,label:r.label,kind:r.kind,percent:Jt(r,t),...r.businessEntityId?{businessEntityId:r.businessEntityId}:{}}))}function X(e){return new Date(e).toISOString().slice(0,10)}const $n=/^\d{4}-\d{2}-\d{2}$/;function zl(e){if(!e.key?.trim())return"tax_code_key";if(!e.label?.trim())return"tax_code_label";const t=e.rates??[];if(!t.length)return"tax_code_rates";for(const[n,r]of t.entries()){if(!$n.test(r.validFrom)||r.validTo&&!$n.test(r.validTo))return"tax_code_date";if(!(r.percent>=0&&r.percent<=100))return"tax_code_range";if(r.validTo&&r.validTo<r.validFrom)return"tax_code_date";const o=t[n-1];if(o&&(!o.validTo||o.validTo>=r.validFrom))return"tax_code_overlap"}return null}function Vo(e){if(e.kind!=="product")return 0;const t=1-(e.discountPercent??0)/100;return L(e.quantity*e.unitPriceCents*t)}function Yl(e,t,n){const r=e.map(c=>({...c,netCents:Vo(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,l=o.get(d);l?l.push(c):o.set(d,[c])}const s=[];let i=0,a=0;for(const[c,d]of o){const l=Go(c,t),f=d.reduce((g,h)=>g+r[h].netCents,0),m=L(f*l.percent/100),b=hr(m,d.map(g=>r[g].netCents));for(let g=0;g<d.length;g++)r[d[g]].taxCents=b[g];s.push({taxRateKey:c,percent:l.percent,kind:l.kind,netCents:f,taxCents:m}),i+=f,a+=m}const u=r.reduce((c,d)=>d.costPriceCents==null||d.optional?c:c+L(d.costPriceCents*d.quantity),0);return{lines:r,totals:{netCents:i,taxCents:a,grossCents:i+a,costCents:u,byRate:s}}}const Xl="onboarding-source",ql=["support","billing","availability","sales","onboarding"],Zl=["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"}],Wo={key:"unknown",label:"kind_unknown",capacity:!1,productive:!1,absent:!1};function K(e,t=We){return t.find(n=>n.key===e)??{...Wo,key:e}}function Q(e){return e==="published"||e==="approved"}function Qt(e,t,n=We){if(e.workstreamId!==t)return!1;const r=K(e.kindKey,n);return r.absent?!1:r.productive||r.capacity}function Jl(e,t=We){if(!e.userId||!Q(e.status))return!1;const n=K(e.kindKey,t);return n.capacity||n.productive||n.absent}const Ql=864e5;function Ho(e,t){return Math.round((t-e)/Ql)}function en(e,t){const n=e.cycleMinutes.length;return n===0?0:(Ho(e.anchor,t)%n+n)%n}function tn(e,t){return e.effectiveFrom!==void 0&&t<e.effectiveFrom?0:e.cycleMinutes[en(e,t)]??0}function nn(e,t){return e.startTimes?.[en(e,t)]}function rn(e,t,n,r){const o=e.filter(a=>a.effectiveFrom===void 0||a.effectiveFrom<=r),s=a=>a.sort((u,c)=>(c.effectiveFrom??0)-(u.effectiveFrom??0))[0],i=s(o.filter(a=>a.userId===t));return i||s(o.filter(a=>!a.userId&&a.teamId&&n.includes(a.teamId)))}function zo(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 Tt=864e5;function ed(e){const t=Math.max(1,Math.round((e.to-e.from)/Tt));return Array.from({length:t},(n,r)=>e.from+r*Tt)}function Ct(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}const Kn={interval:0,day:1,week:2};function td(e,t){const{entries:n,patterns:r=[],terms:o=[]}=t,s=n.filter(l=>l.userId&&Q(l.status)&&K(l.kindKey).capacity),i=n.filter(l=>l.userId&&Q(l.status)&&K(l.kindKey).absent),a=t.userIds??[...new Set([...s.map(l=>l.userId),...r.map(l=>l.userId),...o.map(l=>l.userId)])].filter(l=>!!l),u={};let c="interval";const d=l=>{Kn[l]>Kn[c]&&(c=l)};for(const l of a){const f=t.teamIdsOf?.(l)??[];let m=0,b=0,g=0;for(const y of ed(e)){const A=Math.max(y,e.from),v=Math.min(y+Tt,e.to);g++;const M=s.filter(D=>D.userId===l).reduce((D,F)=>D+Ct(F.start,F.end,A,v),0);if(M>0){m+=M;continue}const O=rn(r,l,f,y),R=O?tn(O,y):0;if(O&&R>0){m+=R*60,d(nn(O,y)?"interval":"day");continue}O||b++}if(b>0){const y=zo(o,l,e.from);y&&(m+=y.weeklyMinutes*60*(b/7),d("week"))}const h=i.filter(y=>y.userId===l).reduce((y,A)=>y+Ct(A.start,A.end,e.from,e.to),0),p=Math.max(0,m-h);(p>0||g>0)&&(u[l]=p)}return{seconds:Object.values(u).reduce((l,f)=>l+f,0),precision:c,byUser:u}}function nd(e,t){if(!e.some(a=>a.userId))return[];const n="",r=new Map;for(const a of e){const u=a.userId??n;r.set(u,(r.get(u)??0)+a.seconds)}const s=[...new Set([...Object.keys(t.byUser),...[...r.keys()].filter(a=>a!==n)])].map(a=>{const u=r.get(a)??0,c=t.byUser[a]??0;return{userId:a,requiredSeconds:u,capacitySeconds:c,netSeconds:c-u}});s.sort((a,u)=>a.netSeconds-u.netSeconds);const i=r.get(n)??0;return i>0&&s.push({requiredSeconds:i,capacitySeconds:0,netSeconds:-i}),s}function rd(e,t,n,r){const o=e.filter(i=>i.userId&&Q(i.status)&&!K(i.kindKey).absent),s=Object.entries(r.byUser).map(([i,a])=>{let u=0,c=0;for(const d of o){if(d.userId!==i||K(d.kindKey).capacity&&!d.workstreamId)continue;const l=Ct(d.start,d.end,n.from,n.to);l<=0||(Qt(d,t)?u+=l:c+=l)}return{userId:i,capacitySeconds:a,onThisSeconds:u,elsewhereSeconds:c,freeSeconds:Math.max(0,a-u-c)}});return s.sort((i,a)=>a.freeSeconds-i.freeSeconds),s}const od="demand-source",Un=1e3;function sd(e,t){let n=1;for(let r=1;r<=e;r++)n=t*n/(r+t*n);return n}function Yo(e,t){if(e<=0)return 1;if(t<=0)return 0;if(e<=t)return 1;const n=sd(e,t),r=t/e;return n/(1-r*(1-n))}function Xo(e,t,n,r){return r<=0?1:e<=t?0:1-Yo(e,t)*Math.exp(-(e-t)*n/r)}function qo(e,t,n){return n<=0?0:e*t/n}function Zo(e,t,n,r){if(e<=0||t<=0)return 0;const o=qo(e,t,n);if(o<=0)return 0;const s=r.serviceLevelPercent/100,i=r.maxOccupancyPercent?r.maxOccupancyPercent/100:void 0;for(let a=Math.max(1,Math.ceil(o));a<=Un;a++)if(!(a<=o)&&!(Xo(a,o,r.targetSeconds,t)<s)&&!(i&&o/a>i))return a;return Un}const id=36e5,ad=864e5;function cd(e){return e==="day"?ad:id}function ud(e,t){return e.start<t.end&&t.start<e.end}function be(e,t,n){const r=Math.min(e.end,n)-Math.max(e.start,t);return r>0?r/1e3:0}function Jo(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 s=(t.unplannedLossPercent??0)/100,i=s>0&&s<1?1/(1-s):1;if(t.model==="queue"&&e.volume!==void 0&&r>0){const a=Zo(e.volume,r,n,t);return{seconds:o,headcount:a*i}}return{seconds:o,headcount:o/n*i}}function ld(e){const{entries:t,workstreamId:n,staffing:r,demand:o,range:s}=e,i=e.grain??"hour",a=cd(i),u=a/1e3,c=e.kinds,d=t.filter(g=>Q(g.status)),l=d.filter(g=>Qt(g,n,c)),f=d.filter(g=>K(g.kindKey,c).capacity),m=d.filter(g=>K(g.kindKey,c).absent),b=[];for(let g=J(s.from,i);g<s.to;g+=a){const h=g+a,p=Z(g,i);let y=0;for(const D of l)y+=be(D,g,h);let A=0;for(const D of f)A+=be(D,g,h);let v=0;for(const D of m)v+=be(D,g,h);const M=o?.[p]??{},O=Jo(M,r,u),R=y/u;b.push({period:p,forecastVolume:M.volume,requiredSeconds:O.seconds,requiredHeadcount:O.headcount,scheduledSeconds:y,scheduledHeadcount:R,netHeadcount:R-O.headcount,capacitySeconds:A,absentSeconds:v})}return b}function Qo(e,t){return e.workTypeKey??t?.defaultWorkTypeKey}function dd(e,t,n){const r=Qo(e,t);return r?n.find(o=>o.key===r)?.defaultBillable??!1:!1}function fd(e){return e.filter(t=>t.netHeadcount<0&&t.requiredHeadcount>0)}const pd=36e5,vt=6048e5,es=8,md=.5,gd=2;function hd(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 yd(e,t,n){const r=[];for(let s=0;s<n;s++){const i=t-s*vt,a=i-vt;let u=0,c=!1;for(const[d,l]of e)d>=a&&d<i&&(u+=l,c=!0);c&&r.push(u)}if(r.length<2)return 1;const o=r.reduce((s,i)=>s+i,0)/r.length;return o<=0?1:Math.min(gd,Math.max(md,r[0]/o))}function bd(e,t){if(!e?.length)return;let n;for(const r of e)t>=r.from&&t<r.to&&(n=r);return n}function Ed(e,t,n){const r=Math.max(1,n?.weeks??es),o=new Map,s=new Set;for(const u of e)o.set(hd(u.period),u.value),s.add(u.period.slice(0,10));const i=yd(o,J(t.from,"hour"),r),a=[];for(let u=J(t.from,"hour");u<t.to;u+=pd){let c=0,d=0;for(let m=1;m<=r;m++){const b=u-m*vt,h=o.get(b)??(s.has(Z(b,"day"))?0:void 0);if(h===void 0)continue;const p=r-m+1;c+=h*p,d+=p}let l=d>0?c/d*i:0;const f=bd(n?.adjustments,u);f?.absoluteVolume!==void 0?l=f.absoluteVolume:f?.factor!==void 0&&(l*=f.factor),a.push({period:Z(u,"hour"),volume:l})}return a}const ts="schedule_entry",ns="workstream";function _d(e){return`${ts}:${e}`}function Ad(e){return`${ns}:${e}`}const Ot=36e5,q=864e5;function Sd(e,t){const n=t==="day"?q:Ot,r=[];for(let o=J(e.from,t);o<e.to;o+=n)r.push(o);return r}function Bn(e){const t=Math.max(1,Math.round((e.to-e.from)/q));return Array.from({length:t},(n,r)=>e.from+r*q)}function st(e,t,n,r){const o=Math.min(t,r)-Math.max(e,n);return o>0?o/1e3:0}function Id(e,t,n={}){const r=n.grain??"hour",o=Sd(t,r),s=r==="day"?q:Ot,i=new Map(o.map(l=>[l,0])),a=e.filter(l=>l.userId&&K(l.kindKey).capacity),u=n.userIds?.length?new Set(n.userIds):null,c=new Set;for(const l of a)if(!(u&&l.userId&&!u.has(l.userId))){for(const f of o){const m=st(l.start,l.end,f,f+s);m>0&&i.set(f,(i.get(f)??0)+m)}for(const f of Bn(t))st(l.start,l.end,f,f+q)>0&&c.add(`${l.userId}:${f}`)}const d=n.userIds??[...new Set([...a.map(l=>l.userId),...(n.patterns??[]).map(l=>l.userId)])].filter(l=>!!l);if(n.patterns?.length)for(const l of d){const f=n.teamIdsOf?.(l)??[];for(const m of Bn(t)){if(c.has(`${l}:${m}`))continue;const b=rn(n.patterns,l,f,m);if(!b)continue;const g=tn(b,m);if(g<=0)continue;const h=nn(b,m);if(h){const[A,v]=h.split(":").map(Number),M=m+A*Ot+(v??0)*6e4,O=M+g*6e4;for(const R of o){const D=st(M,O,R,R+s);D>0&&i.set(R,(i.get(R)??0)+D)}continue}const p=o.filter(A=>A>=m&&A<m+q);if(!p.length)continue;const y=g*60/p.length;for(const A of p)i.set(A,(i.get(A)??0)+y)}}return o.map(l=>({period:Z(l,r),weight:i.get(l)??0}))}function rs(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 Td(e,t,n){const r=new Map;for(const o of e){const s=o.by?t.filter(a=>n(a.period)<o.by):t,i=s.length?s:t;for(const a of rs(o.seconds,i)){const u=`${a.period}|${o.userId??""}`,c=r.get(u);c?c.seconds+=a.seconds:r.set(u,{...a,userId:o.userId})}}return[...r.values()].sort((o,s)=>o.period.localeCompare(s.period)||(o.userId??"").localeCompare(s.userId??""))}function os(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Cd(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 ss(e){return os(e)}function is(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 vd(e){return e.agentId?{kind:"user",userId:e.agentId}:is(e.ownerScope)}function Od(e){return ss(e)}const as="playbook-run",kd="run";function Md(e,t=0){return`${as}:${e}~${t}`}function Rd(e){const t=e.indexOf("~");return t<0?e:e.slice(0,t)}function cs(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 Nd(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function Dd(e,t){if(t)return e.targets.find(n=>n.id===t)}function us(e){return e?.kind==="assignment"}function wd(e){const{trigger:t,agentId:n,target:r,activityType:o,assigneeUserId:s,authorUserId:i}=e;return us(t)?n?r?r.activityTypes.includes(o)?s?s!==n?"assigned to someone else":i&&i===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 kt=["suggest","outward","auto"];function xd(e){return typeof e=="string"&&kt.includes(e)}function Ld(e){const t=e.playbook?.autonomy??e.agent?.autonomy??"suggest";return e.demoted&&t==="auto"?"outward":t}function Pd(e,t){const n=e??"suggest";return t&&kt.indexOf(t)<kt.indexOf(n)?t:n}function $d(e){return e.replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}function ls(e){const t=e.split("__");return t[t.length-1]||e}function Kd(e){const t=ls(e).replace(/[_.]+/g," ").trim();return t?t.charAt(0).toUpperCase()+t.slice(1):e}const Ud=[{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 Bd(e,t){return!e.onlyFor||!t?.length?!0:t.some(n=>e.onlyFor?.includes(n))}const Fd={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 ds(e){return`${e.type}:${e.id}`}const fs="interaction";function ps(e){return e?.type===fs?e.id:void 0}const ms=64,gs=8e3;function jd(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),ms),gs)}const Gd=["condition","for-each","parallel","lookup","action","classify","generate","agent","wait-for-reply","wait-for-task"],Vd={kind:"workflow",steps:[]};function Wd(e){return e?.kind==="workflow"?e.steps:[]}function Hd(e){return e?.kind==="procedure"?e.procedure:void 0}function zd(e){return e.assignmentId?"assignment":e.decider?.kind==="procedure"?"procedure":"workflow"}function hs(e){const t=e?.approved??0,n=t+(e?.rejected??0);return{total:n,rate:n?t/n:0}}const ys=10,bs=.9;function Yd(e){const{total:t,rate:n}=hs(e);return t>=ys&&n>=bs}const Es=["done","escalated","failed","stopped"];function Xd(e){return Es.includes(e)}function _s(e){return e==="waiting"}function qd(e){return e==="running"||_s(e)}function on(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function Zd(e){const t=on(e);return t?ds(t):void 0}function Jd(e){return ps(on(e))}function Qd(e){const t=[],n=new Map;for(const r of[...e].sort(ef)){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 ef=(e,t)=>(e.createdAt??0)-(t.createdAt??0);function tf(e,t){return t?e.actors.some(n=>n.type==="user"&&n.id===t):!1}const As=["1a","1b","1c","1d","1e","2a","3a","3b","3c","4a","4b","5a","5b","5c","5g"];function nf(e){const t=e.taxonomy??"nl-ob",n=new Map(e.codes.map(h=>[h.key,h])),r=n.get(e.standardKey??"high"),o={},s=(h,p,y)=>{if(!h||!y)return;const A=o[h]??{};A[p]=(A[p]??0)+y,o[h]=A},i=new Map,a=new Set;let u=0;for(const h of e.lines){if(h.taxPointDate<e.from||h.taxPointDate>e.to)continue;const p=n.get(h.taxCode);if(!p){a.add(h.taxCode);continue}const y=p.boxes[t]?.[h.side];if(h.side==="sales")s(y?.base,"baseCents",h.baseCents),s(y?.tax,"taxCents",h.taxCents),p.icp&&i.set(h.counterpartyCompanyId??"",(i.get(h.counterpartyCompanyId??"")??0)+h.baseCents);else if(p.selfAssessed){const A=r?Jt(r,h.taxPointDate)??0:0,v=Math.round(h.baseCents*A/100);s(y?.base,"baseCents",h.baseCents),s(y?.tax,"taxCents",v),u+=v}else u+=Math.round(h.taxCents*(p.deductiblePercent??100)/100)}const c=As.filter(h=>h<"5"),d=c.reduce((h,p)=>h+(o[p]?.taxCents??0),0);o["5a"]={taxCents:d},o["5b"]={taxCents:u},o["5c"]={taxCents:d-u},o["5g"]={taxCents:d-u};const l=h=>Math.trunc(h/100),f=h=>h>=0?Math.ceil(h/100):Math.floor(h/100),m={};for(const h of c){const p=o[h];p&&(m[h]={...p.baseCents!==void 0?{base:l(p.baseCents)}:{},...p.taxCents!==void 0?{tax:l(p.taxCents)}:{}})}const b=c.reduce((h,p)=>h+(m[p]?.tax??0),0),g=f(u);return m["5a"]={tax:b},m["5b"]={tax:g},m["5c"]={tax:b-g},m["5g"]={tax:b-g},{boxes:o,euros:m,icp:[...i.entries()].filter(([,h])=>h!==0).map(([h,p])=>({...h?{counterpartyCompanyId:h}:{},baseCents:p})),unknownCodes:[...a]}}function rf(e,t="quarter"){const n=t==="quarter"?3:t==="month"?1:12,r=s=>String(s).padStart(2,"0"),o=(s,i)=>new Date(Date.UTC(s,i,0)).getUTCDate();return Array.from({length:12/n},(s,i)=>{const a=i*n+1,u=a+n-1,c=u===12?e+1:e,d=u===12?1:u+1;return{label:t==="quarter"?`Q${i+1} ${e}`:t==="month"?`${e}-${r(a)}`:String(e),from:`${e}-${r(a)}-01`,to:`${e}-${r(u)}-${r(o(e,u))}`,dueOn:t==="year"?`${e+1}-03-31`:`${c}-${r(d)}-${r(o(c,d))}`}})}class sn extends Error{constructor(t){super(t),this.name="UnresolvedRefError"}}const of=/^\{\{\s*([\w.]+)\s*\}\}$/,sf=/\{\{\s*([\w.]+)\s*\}\}/g,af=/\$[A-Za-z_][\w]*\.[\w.]+/;function cf(e,t,n={}){return we(e,t,n)}function we(e,t,n={}){return typeof e=="string"?uf(e,t,n):Array.isArray(e)?e.map(r=>we(r,t,n)):e&&typeof e=="object"?Object.fromEntries(Object.entries(e).map(([r,o])=>[r,we(o,t,{...n,where:`${n.where??"een parameter"} "${r}"`})])):e}function uf(e,t,n){const r=n.onMissing==="throw";if(r){const s=e.match(af);if(s)throw new sn(`"${s[0]}" in ${n.where??"een waarde"} is de oude schrijfwijze; gebruik {{ ${s[0].slice(1)} }}.`)}const o=e.match(of);if(o){const s=Fn(t,o[1],e,n);return s===void 0&&!r?"":s}return e.replace(sf,(s,i)=>{const a=Fn(t,i,s,n);return a==null?"":typeof a=="object"?JSON.stringify(a):String(a)})}function Fn(e,t,n,r){const o=t.split(".")[0]??"";if(r.onMissing==="throw"&&!Object.hasOwn(e,o)){const s=Object.keys(e);throw new sn(`onbekende verwijzing ${n} in ${r.where??"een waarde"}: "${o}" bestaat niet. Beschikbaar: ${s.length?s.join(", "):"(nog niets)"}`)}return lf(e,t)}function lf(e,t){let n=e;for(const r of t.split(".")){if(n==null||typeof n!="object")return;n=n[r]}return n}const df=new Set(["filled","empty"]);function ff(){return{kind:"rule",op:"==",varPath:"",value:""}}const pf=new Set(["==","!=",">","<",">=","<="]);function it(e){return!!e&&typeof e=="object"&&"var"in e&&typeof e.var=="string"}function jn(e){const t=typeof e;return t==="string"||t==="number"||t==="boolean"}function Ss(e){if(e===!0||e==null)return{kind:"group",op:"and",children:[]};if(e===!1)return null;const t=Mt(e);return t?t.kind==="group"?t:{kind:"group",op:"and",children:[t]}:null}function Mt(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 s of r){const i=Mt(s);if(!i)return null;o.push(i)}return{kind:"group",op:n,children:o}}if(n==="!!"||n==="!"){const o=Array.isArray(r)?r.length===1?r[0]:void 0:r;if(it(o))return{kind:"rule",op:n==="!!"?"filled":"empty",varPath:o.var,value:""};if(n==="!!")return null;const s=Mt(r);return s?{kind:"not",child:s}:null}if(n==="in"){if(!Array.isArray(r)||r.length!==2)return null;const[o,s]=r;return!it(s)||!jn(o)?null:{kind:"rule",op:"in",varPath:s.var,value:o}}if(pf.has(n)){if(!Array.isArray(r)||r.length!==2)return null;const[o,s]=r;return!it(o)||!jn(s)?null:{kind:"rule",op:n,varPath:o.var,value:s}}return null}function Ee(e){return e.kind==="group"?e.children.length===0?!0:e.children.length===1?Ee(e.children[0]):{[e.op]:e.children.map(Ee)}:e.kind==="not"?{"!":Ee(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 mf(e){const t=Ss(e);return t&&Rt(t)||null}function Rt(e){if(e.kind==="group"){const t=e.children.map(Rt).filter(Boolean);return t.length===0?"":t.length===1?t[0]:t.join(e.op==="and"?" && ":" || ")}return e.kind==="not"?`!(${Rt(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 at=[{min:0,max:59},{min:0,max:23},{min:1,max:31},{min:1,max:12},{min:0,max:7}];function gf(e,t,n){const r=new Set;for(const o of e.split(",")){const[s,i]=o.split("/"),a=i===void 0?1:Number(i);if(!Number.isInteger(a)||a<1)return null;let u=t,c=n;if(s!=="*"&&s!==void 0){const[d,l]=s.split("-");if(u=Number(d),c=l===void 0?u:Number(l),!Number.isInteger(u)||!Number.isInteger(c)||(l===void 0&&i!==void 0&&(c=n),u<t||c>n||u>c))return null}for(let d=u;d<=c;d+=a)r.add(d)}return r.size?r:null}function an(e){const t=e.trim().split(/\s+/);if(t.length!==at.length)return null;const n=[];for(let u=0;u<at.length;u++){const c=at[u],d=t[u];if(!c||d===void 0)return null;const l=gf(d,c.min,c.max);if(!l)return null;n.push(l)}const[r,o,s,i,a]=n;return a.has(7)&&a.add(0),{minute:r,hour:o,dayOfMonth:s,month:i,dayOfWeek:a,anyDayOfMonth:t[2]==="*",anyDayOfWeek:t[4]==="*"}}function hf(e){return an(e)!==null}function Is(e,t){const n=an(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 Ts="@schedule",Nt=3;function Cs(e,t,n){const r=[],o=e.depth??0;if(o>=Nt)return{matched:[],skipped:t.map(a=>({ruleId:a.id,reason:`keten te diep (${o} van ${Nt})`}))};const s={event:e.payload,subject:e.subject??{}},i=[];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!==Ts){r.push({ruleId:a.id,reason:"luistert op de klok"});continue}const u=typeof e.payload?.at=="number"?e.payload.at:Number.NaN;if(!Number.isFinite(u)){r.push({ruleId:a.id,reason:"tik zonder tijdstip"});continue}if(!Is(a.trigger.cron,new Date(u))){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,s)){r.push({ruleId:a.id,reason:"voorwaarde niet waar"});continue}i.push({rule:a,idempotencyKey:`${e.id}:${a.id}:${a.version}`})}return{matched:i,skipped:r}}function yf(e,t){return{causedByRule:t,depth:(e.depth??0)+1}}function bf(e,t){const{event:n,rules:r}=e.input,{matched:o,skipped:s}=Cs(n,r,t),i=o.flatMap(c=>c.rule.then.map(d=>d.action)),a=e.expected?.actions??[];if(i.length===a.length&&i.every((c,d)=>c===a[d]))return{caseId:e.id,ok:!0};const u=s.map(c=>`${c.ruleId}: ${c.reason}`).join(" · ");return{caseId:e.id,ok:!1,got:i,note:a.length?`verwacht [${a.join(", ")}], kreeg [${i.join(", ")}]${u?` — ${u}`:""}`:`mocht niet vuren, maar deed [${i.join(", ")}]`}}function Ef(e,t){return e.wrote&&t in e.wrote?e.wrote[t]:t in e.params?e.params[t]:""}function vs(e,t){return e.fields.filter(n=>t?.[n]!==void 0&&t[n]!==Ef(e,n))}function _f(e,t,n){return n?"undone":!t||!e.length?"unknown":e.some(r=>vs(r,t).length)?"corrected":"kept"}function Af(e){return e==="string[]"?["in"]:e==="boolean"?["==","!="]:e==="number"||e==="date"?["==","!=",">","<",">=","<="]:["==","!=","in","filled","empty"]}function Sf(e){return`subject.${e.path}`}function If(e,t){return e.events.find(n=>n.name===t)}function Tf(e,t){return e.filter(n=>cs(t,n.path)===void 0).map(n=>n.path)}const Dt=6e4,Cf=36e5,se=864e5,Os=800;function Gn(e,t){const n=Date.UTC(e,t+1,0);return n-new Date(n).getUTCDay()*se+Cf}function vf(e){const t=new Date(e).getUTCFullYear();return e>=Gn(t,2)&&e<Gn(t,9)}function ks(e,t){const n=t.dst==="eu"&&vf(e)?60:0;return(t.utcOffsetMinutes+n)*Dt}function Of(e){return(e+3)%7+1}function Ms(e,t){const n=ks(e,t),r=e+n,o=Math.floor(r/se);if(!t.days.includes(Of(o)))return null;const s=o*se;return{open:s+t.fromMinutes*Dt-n,close:s+t.toMinutes*Dt-n}}function Rs(e,t){const n=ks(e,t),r=e+n;return(Math.floor(r/se)+1)*se-n}function xe(e,t,n){if(t<=e)return 0;if(!n)return t-e;let r=0,o=e;for(let s=0;s<Os&&o<t;s++){const i=Ms(o,n);if(i){const a=Math.max(o,i.open),u=Math.min(t,i.close);u>a&&(r+=u-a)}o=Rs(o,n)}return r}function He(e,t,n){if(!n)return e+t;let r=t,o=e;for(let s=0;s<Os;s++){const i=Ms(o,n);if(i){const a=Math.max(o,i.open);if(i.close>a){const u=i.close-a;if(r<=u)return a+r;r-=u}}o=Rs(o,n)}return e+t}function kf(e){const t=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);return t?Number(t[1])*60+Number(t[2]):null}const Le=1,Pe=2,$e=4;function Mf(e){return e==="snoozed"?Le:Pe}function ze(e){const t=e.calendar;return t&&Array.isArray(t.days)?t:null}const Rf=["speed_of_answer","first_response","next_response","resolution","close"],Nf=["snoozed","waiting_for_customer"],Df=6e4,Ns=["speed_of_answer","first_response","next_response"],wf=[...Ns,"resolution","close"];function ue(e){return e.state==="running"||e.state==="paused"}function xf(e,t){return ue(e)?{state:(e.state==="paused"?e.remainingMs>0:t<=e.dueAt)?"hit":"missed",settledAt:Math.max(t,e.startedAt)}:null}function Vn(e){return ue(e)?{state:"void"}:null}function Lf(e,t,n,r){if(!ue(e)||(e.pauseBits&t)!==0)return null;const o=e.pauseBits|t;return e.state==="paused"?{pauseBits:o}:{pauseBits:o,state:"paused",remainingMs:xe(n,e.dueAt,r)}}function Pf(e,t,n,r){if(!ue(e)||(e.pauseBits&t)===0)return null;const o=e.pauseBits&~t;return o!==0?{pauseBits:o}:{pauseBits:o,state:"running",dueAt:He(n,e.remainingMs,r)}}function $f({event:e,at:t,now:n,clocks:r,profile:o}){const s=ze(o),i=Math.min(t,n),a=r.map(p=>({...p})),u=[],c=(p,y)=>{y&&(u.push({op:"patch",clockId:p.id,patch:y}),Object.assign(p,y))},d=p=>{for(const y of a)y.metric===p&&c(y,xf(y,i))},l=p=>{for(const y of a)p.includes(y.metric)&&c(y,Vn(y))},f=p=>{for(const y of a)c(y,Lf(y,p,i,s))},m=p=>{for(const y of a)c(y,Pf(y,p,i,s))},b=p=>a.reduce((y,A)=>A.metric===p?Math.max(y,A.attempt):y,0)+1,g=p=>a.some(y=>y.metric===p&&ue(y)),h=(p,y)=>{const A=o.targets.find(M=>M.metric===p);if(!A)return;const v=A.minutes*Df;u.push({op:"start",metric:p,attempt:b(p),startedAt:y,targetMs:v,dueAt:He(y,v,s)})};switch(e){case"apply":{for(const p of a)p.profileId!==o.id&&c(p,Vn(p));for(const p of o.targets){if(p.metric==="next_response")continue;a.some(A=>A.metric===p.metric&&A.profileId===o.id)||h(p.metric,i)}break}case"answered":d("speed_of_answer");break;case"outbound":{d("first_response"),d("next_response"),o.pauseOn.includes("waiting_for_customer")&&f(Pe);break}case"inbound":{m(Pe),!g("first_response")&&!g("next_response")&&h("next_response",i);break}case"resolved":d("resolution");break;case"closed":d("close"),d("resolution"),l(Ns);break;case"reopened":g("resolution")||h("resolution",i),g("close")||h("close",i);break;case"snoozed":o.pauseOn.includes("snoozed")&&f(Le);break;case"unsnoozed":m(Le);break;case"hold":f($e);break;case"unhold":m($e);break;case"discarded":l(wf);break}return u}function Ds(e){return e.state==="running"||e.state==="paused"}function Kf(e){return(e.pauseBits&$e)!==0}function Ke(e,t){const n=ze(e);return e.state==="paused"?e.remainingMs:t>=e.dueAt?-xe(e.dueAt,t,n):xe(t,e.dueAt,n)}function Uf(e,t){return e.state==="paused"?He(t,e.remainingMs,ze(e)):e.dueAt}function Bf(e,t){const n=e.filter(Ds);if(!n.length)return;const r=n.filter(s=>s.state==="running");return(r.length?r:n).reduce((s,i)=>Ke(i,t)<Ke(s,t)?i:s)}function Ff(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=Ke(e,t);return n<=0?"breached":n<=e.targetMs/5?"urgent":"running"}function jf(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 ws="strategy_item";function cn(e){return`${ws}:${e}`}function Gf(e,t=25){const n=new Set([cn(e.id)]);for(const r of e.ancestorKeys??[])n.add(r);return Array.from(n).slice(0,t)}function Vf(e){return e?[...e.ancestorKeys??[],cn(e.id)]:[]}const le=[{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"}],xs=999,Ls=7;function Ps(e,t=le){return t.find(n=>n.key===e)}function Ue(e,t=le){return Ps(e,t)?.order??xs}function Wf(e,t,n=le){return Ue(t,n)<=Ue(e,n)}function Hf(e,t=le){const n=Ue(e,t);return t.filter(o=>o.order>n).sort((o,s)=>o.order-s.order)[0]?.key??e}function zf(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 wt={pending:"open",on_track:"open",at_risk:"open",off_track:"open",paused:"paused",achieved:"closed",missed:"closed"};function Yf(e){return wt[e]??"open"}function Xf(e){return Object.keys(wt).filter(t=>e.includes(wt[t]))}const qf=864e5,Ye=e=>e<=0?0:e>1?1:e;function Zf(e,t){const{direction:n}=e,r=e.startValue??0,o=e.targetValue??0;if(!Number.isFinite(t))return 0;const s=n==="down"?t<=o:t>=o,i=o-r;return(n==="down"?i<0:i>0)?Ye((t-r)/i):s?1:0}function Jf(e,t){const{startDate:n,targetDate:r}=e;if(!(typeof n!="number"||typeof r!="number")&&!(r<=n))return Ye((t-n)/(r-n))}const $s=.1,Ks=.25;function Qf(e,t){if(typeof e!="number"||typeof t!="number")return;if(e>=1)return"achieved";const n=t-e;return n>=Ks?"off_track":n>=$s?"at_risk":"on_track"}function ep(e,t){if(t)return Ye(e/t)}function tp(e){const t=e.map(n=>n.progress?.ratio).filter(n=>typeof n=="number"&&Number.isFinite(n));if(t.length)return Ye(t.reduce((n,r)=>n+r,0)/t.length)}function np(e,t){const n=e.lastCheckInAt??e.createdAt;if(typeof n!="number")return 0;const r=(e.checkInEveryDays??Ls)*qf,o=t-n-r;return o>0?o:0}function rp(e){return e.targetDate??Number.MAX_SAFE_INTEGER}function op(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??""}`,s=t.get(o)??{workType:r.workType,scopeKey:r.scopeKey,scopeLabel:r.scopeLabel,seconds:0,hours:0,entryIds:[],from:r.startedAt,to:r.startedAt};s.seconds+=r.durationSeconds??0,s.hours=Math.round(s.seconds/3600*100)/100,s.entryIds.push(r.id),s.to=r.startedAt,t.set(o,s)}return[...t.values()]}function sp(e,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function ip(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 ap(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function cp(e){const t=Math.max(0,Math.floor(e)),n=s=>String(s).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 Us(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function up(e,t){const n=Us(e)||"werksoort",r=new Set(t);if(!r.has(n))return n;for(let o=2;o<500;o++){const s=`${n}-${o}`;if(!r.has(s))return s}return`${n}-${r.size+1}`}function lp(e,t){const n=e.ownerScope;return!n||n.kind==="org"?!0:t.includes(n.teamId)}function dp(e){return e.filter(t=>!t.archived).sort(Bs)}function Bs(e,t){const n=(e.order??0)-(t.order??0);return n!==0?n:(e.label||"").localeCompare(t.label||"")}const Fs=20,js=20,_e=300;function V(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function Gs(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=_e)return t;const n=t.slice(0,_e),r=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return r>_e*.6?n.slice(0,r+1):`${n.trimEnd()}…`}function fp(e,t){const n=Gs(t.text),r=V(n);if(!r||(e.examples??[]).some(i=>V(i)===r))return null;const o=e.exampleCandidates??[],s=o.findIndex(i=>V(i.text)===r);if(s>=0){if(o[s].corrected||!t.corrected)return null;const i=[...o];return i[s]={...i[s],corrected:!0,addedAt:t.addedAt},Wn(i)}return Wn([{...t,text:n},...o]).slice(0,js)}function Wn(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function pp(e,t){const n=V(t),r=(e.examples??[]).filter(s=>s.trim());return{examples:r.some(s=>V(s)===n)?r:[...r,t].slice(-Fs),exampleCandidates:Vs(e,t)}}function Vs(e,t){const n=V(t);return(e.exampleCandidates??[]).filter(r=>V(r.text)!==n)}function Ws(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function mp(e,t){return e.filter(n=>Ws(n,t))}const Hs=["invoice","credit_note"];function gp(e){return!!e.issuedAt&&Hs.includes(e.kindKey)}function hp(e,t,n="sales"){const r=a=>e.totals?.byRate?.find(u=>u.taxRateKey===a),o=t?.address,s=[o?.street,o?.houseNumber].filter(Boolean).join(" "),i=e.deliveredAt??e.periodTo;return{sourceApp:n,documentId:e.id,direction:"sale",kind:e.kindKey==="credit_note"?"credit_note":"invoice",businessEntityId:e.businessEntityId??"",...e.number?{number:e.number}:{},counterparty:{companyId:e.companyId,name:t?.name??"",...t?.vatNumber?{vatNumber:t.vatNumber}:{},...t?.kvkNumber?{kvkNumber:t.kvkNumber}:{},...o?{address:{...s?{street:s}:{},...o.postalCode?{postalCode:o.postalCode}:{},...o.city?{city:o.city}:{},...o.country?{country:o.country}:{}}}:{},...o?.country?{country:o.country}:{}},issueDate:X(e.issuedAt??Date.now()),...i?{taxPointDate:X(i)}:{},...e.dueAt?{dueDate:X(e.dueAt)}:{},currency:e.currency,lines:e.lines.filter(a=>a.kind==="product"&&!a.optional).map(a=>{const u=e.taxOverrideKey??a.taxRateKey,c=r(u);return{description:a.name,netCents:a.netCents,taxCents:a.taxCents,taxRateKey:u,taxKind:c?.kind??"standard",...c?.percent!==void 0?{taxPercent:c.percent}:{},...a.ledgerCategoryKey?{ledgerCategoryKey:a.ledgerCategoryKey}:{},...a.productId?{productId:a.productId}:{},...a.dealItemId?{dimensions:{dealItemId:a.dealItemId}}:{}}}),totals:{netCents:e.totals?.netCents??0,taxCents:e.totals?.taxCents??0,grossCents:e.totals?.grossCents??0},...e.kindKey==="credit_note"&&e.sourceTransactionId?{creditsDocumentId:e.sourceTransactionId}:{},...e.externalIds?.length?{externalIds:e.externalIds}:{}}}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","cancelled","superseded"],path:"invoices",issuedStatus:"open",transitions:{draft:["cancelled"],open:["cancelled"]},convertsTo:["credit_note"]},{key:"credit_note",label:"kind_credit_note",numbered:!0,signFlip:!0,name:"Creditnota",statuses:["draft","open","cancelled","superseded"],path:"invoices",issuedStatus:"open",transitions:{draft:["cancelled"],open:["cancelled"]},convertsTo:[],credits:"invoice"}],un=["quote","order","invoice","credit_note"];function yp(){const e=new Map;for(const t of Xe)un.includes(t.key)&&(e.has(t.path)||e.set(t.path,t));return[...e.values()]}function x(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 bp={draft:"Concept",sent:"Verstuurd",accepted:"Geaccepteerd",rejected:"Afgewezen",expired:"Verlopen",confirmed:"Bevestigd",delivered:"Geleverd",open:"Openstaand",cancelled:"Geannuleerd",superseded:"Vervangen"};function zs(e,t){return x(e).transitions[t]??[]}function Ep(e,t,n){return zs(e,t).includes(n)}function ln(e){return e.issuedAt!=null}const _p=["status","fileRef","number","externalIds","postedAt","dunning","settlement","overdueSince","issuedPaper","updatedAt"];function Ap(e){return ln(e)&&x(e.kindKey).numbered&&!e.number}const Sp=["companyId","contactId","dealItemId","title","reference","currency","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo","paymentTerm","lines"],Ip=["contactId","dealItemId","title","reference","taxOverrideKey","introText","termsText","expiresAt","deliveredAt","periodFrom","periodTo"];function Tp(e,t){if(!un.includes(t)||!x(e.kindKey).convertsTo.includes(t))return!1;const n=x(t);return!n.credits||n.credits===e.kindKey&&ln(e)}function Ys(e,t){const n=x(t).signFlip!==x(e.kindKey).signFlip,r=e.lines.map(({timeEntryIds:o,agreementLineId:s,...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 Cp(e){return{...Ys(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 vp(e,t={}){const n=x(e.kindKey),r=e.totals??{netCents:0,taxCents:0,grossCents:0};return{customer:{name:t.companyName??"",contact:t.contactName??"",address:Mp(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:H(e.issuedAt),valid_until:H(e.expiresAt),due_date:H(e.dueAt),delivery_date:H(e.deliveredAt),period_from:H(e.periodFrom),period_to:H(e.periodTo),payment_term:e.paymentTerm?.label??"",note:e.introText??"",terms:e.termsText??""},totals:{net:B(r.netCents),tax:B(r.taxCents),gross:B(r.grossCents)}}}function Op(e,t=[],n=Xs){const r=e.totals??{netCents:0,grossCents:0,byRate:[]},o=a=>t.find(u=>u.key===a)?.percent??0,s={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,"","",""]:[kp(a.name,a.description,a.optional,n.optional),Rp(a.quantity),B(a.unitPriceCents),B(a.netCents)])},i={block_id:"totals",type:"totals",rows:[{label:n.net,amount:B(r.netCents)},{label:n.gross,amount:B(r.grossCents),emphasis:!0}],taxRows:r.byRate.map(a=>({label:`${n.tax} ${a.percent??o(a.taxRateKey)}%`,amount:B(a.taxCents)}))};return{lines:[s],totals:[i]}}const Xs={description:"Omschrijving",optional:"optioneel",quantity:"Aantal",unitPrice:"Stuksprijs",net:"Netto",tax:"Btw",gross:"Totaal"};function kp(e,t,n,r){const o=t?`${e} — ${t}`:e;return n?`${o} (${r})`:o}function Mp(e){return e?.street?[e.street,e.houseNumber].filter(Boolean).join(" "):""}function Rp(e){return Number.isInteger(e)?String(e):String(e).replace(".",",")}function H(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 qs(e){const t=x(e),n=t.key,r=t.numbered;return[{block_id:"head",type:"letterhead",fields:[...r?[{key:"number",label:Dp[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 ${x(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:Hn[n]??Hn.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:zn[n]??zn.quote}]}const Np=e=>({note:{key:`${x(e).key}.note`,exists:!0},period:{key:`${x(e).key}.period_from`,exists:!0}}),Dp={invoice:{number:"Factuurnummer"},credit_note:{number:"Creditnotanummer"}},Hn={quote:`Beste {customer.contact},
|
|
10
13
|
|
|
11
14
|
Hierbij onze offerte. Hieronder vindt u de specificatie.`,order:`Beste {customer.contact},
|
|
12
15
|
|
|
@@ -14,34 +17,34 @@ Hierbij de bevestiging van uw opdracht.`,invoice:`Beste {customer.contact},
|
|
|
14
17
|
|
|
15
18
|
Hierbij onze factuur. Hieronder vindt u de specificatie.`,credit_note:`Beste {customer.contact},
|
|
16
19
|
|
|
17
|
-
Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`},_n={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."},Dd=ai("quote"),ci=Ue.map(e=>e.key),li="product",ui="agreement";function di(e,t){return`${e}:${t}`}function Ld(e){return`${li}:${e}`}function xd(e,t){const n=e.businessEntityId||t;if(n)return`/apps/sales/${n}/${w(e.kindKey).path}/${e.id}`}function Pd(e,t){const n=e.businessEntityId||t;return n?`/apps/sales/${n}/product/${e.id}`:void 0}function $d(e){return`${ui}:${e}`}function Ud(e,t){const n=e.businessEntityId||t;return n?`/apps/sales/${n}/agreement/${e.id}`:void 0}function Kd(e){const t=e.indexOf(":");if(t<0)return;const n=e.slice(0,t);return ci.includes(n)?e.slice(t+1):void 0}function Fd(e){const t=new Set([di(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 Bd=4;function Gd(e,t){const n=String(t).padStart(Math.max(1,e.padding),"0");return`${e.prefix}${e.period?`${e.period}-`:""}${n}`}function jd(e,t=Date.now()){return e==="year"?String(new Date(t).getFullYear()):""}const Hd=["cash","credit","direct_debit","card","other"];function Wd(e,t){return e+Math.max(0,Math.round(t))*24*60*60*1e3}function Vd(e){return{code:e.code,label:e.label,method:e.method,dueDays:e.dueDays}}const Yd=[{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 zd(e){return e.type==="agent"}const fi=["communication:interactions:created","communication:interactions:updated","communication:activities:created","communication:activities:updated"];function Xd(e){return fi.includes(e)}const qd="WORK_COMMENT_ADDED",Qd="WORK_ITEM_ASSIGNED",Jd="WORK_ITEM_STATUS_CHANGED";function Zd(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 ef(e,t){if(e.closedAt!=null)return{score:U,reasons:[]};const n=t.remindersById?.[e.id];if(n&&n.remindAt>t.now)return{score:U,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=Zd(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 Ke=[{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"}],tf=Ke.map(e=>e.key);function nf(e){return e?.types?.length?e.types:Ke}function rf(e,t){return t.find(n=>n.key===e)}function of(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 sf(...e){return e.map(t=>Ke.find(n=>n.key===t)).filter(t=>!!t)}const pi="work_item",mi="work_project",gi="work_activity",af="work_cycle";function hi(e){return`${pi}:${e}`}function Ht(e){return`${mi}:${e}`}function cf(e){return`${gi}:${e}`}function lf(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function uf(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 df(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function ff(e,t=25){const n=new Set([hi(e.id)]);e.projectId&&n.add(Ht(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 pf(e){return[Ht(e.id)]}const Fe=[{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}],Wt=Fe.map(e=>e.key);function yi(e){return e?.statuses?.length?e.statuses:Fe}function Ei(e,t){return t.find(n=>n.key===e)?.category??"todo"}function mf(e,t){return t.find(n=>n.key===e)}function gf(e){const t=yi(e),n=e?.defaultStatusKey;return n&&t.some(r=>r.key===n)?n:_i(t)[0]?.key??Fe[0].key}function _i(e){return[...e].sort((t,n)=>{const r=(t.order??0)-(n.order??0);return r!==0?r:(t.label||"").localeCompare(n.label||"")})}function hf(e,t){return Ei(e,t)==="done"}function Si(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function yf(e,t){const n=Si(e)||"status",r=new Set([...t,...Wt]);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 Ef(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}Wt.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 _f(e,t){return t.find(n=>n.key===e)?.requiresApproval===!0}function Sf(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 Af(e){return e.startDate??Number.MAX_SAFE_INTEGER}function bf(e){return e.completedAt?"completed":e.startedAt?"active":"planned"}const Tf=["statusKeys","typeKeys","labels","priority","assignees"],If=["blockedOnly","watchingOnly","reportedByMe"],Of=["priority","dueDate","updatedAt","createdAt","title","estimateSeconds"],Mf=["list","board","calendar","workload"],vf=["day","week","month"];function Cf(e){const t=e;if(!t||!vf.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 Ai(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 kf(e,t,n){const r=Ai(e.dueDate??n,t);return e.startDate===void 0||e.dueDate===void 0?{dueDate:r}:{dueDate:r,startDate:r-(e.dueDate-e.startDate)}}const Rf=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),Nf=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function bi(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?Rf.has(t)?"image":t==="application/pdf"?"pdf":Nf.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const X=1024*1024,Ti={image:5*X,pdf:20*X,text:1*X,audio:20*X},wf=25*X,Df=5;function Lf(e,t){const n=bi(e);return n==="unsupported"?"unsupported":t>Ti[n]?"too-large":null}const xf="ai-tool";function Pf(e){return e.access==="read"?"idempotent":e.reversible??"none"}function Vt(e){return e.access!=="read"&&e.effect!=="internal"}function Ii(e){return`${e.kind}:${e.id||e.url||e.title}`}function $f(e,t=[]){const n=new Set(t),r=[],o=[];for(const i of e){const s=Ii(i);n.has(s)||(n.add(s),r.push(i),o.push(s))}return{sources:r,keys:o}}const Uf="assist-source",Kf=["blocking","due","open"];function Ff(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const Sn={blocking:0,due:1,open:2};function Bf(e,t){return Sn[e.band??"open"]-Sn[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}function Gf(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function jf(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function Hf(e){return e.sessions.some(n=>n.id!==e.exceptSessionId&&(n.state==="connected"||n.state==="on_hold"))?{admit:!1,reason:"busy"}:{admit:!0}}function Oi(e,t){const n=new Set(e.disabledIntents??[]),r=e.intentOverrides??{},o=t.intents.filter(s=>!n.has(s.intent)).map(s=>Vf(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 Mi(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 Wf(e,t){const n=Mi(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function Vf(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function Yf(e,t){const n=[];for(const r of e){if(!r.enabled)continue;const o=t[r.providerId];if(o)for(const i of Oi(r,o))n.push({channel:r,description:o,capability:i})}return n}function zf(e,t){return t.filter(n=>n.capability.intent===e)}function vi(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function Xf(e,t){return vi(e.scheme,t)}function qf(e,t,n){const r=[];for(const o of e)for(const i of n)i.capability.intent===t&&i.capability.targetSchemes.includes(o.scheme)&&r.push({channelIntent:i,endpoint:o});return r}function Qf(e,t,n={}){let r=t,o=e;for(const[i,s]of Object.entries(n))r=r.split("{"+i+"}").join(String(s)),o+=" "+i+"="+encodeURIComponent(String(s));return r+" ["+o+"]"}const Jf=/ \[([a-z][a-z0-9_]*)((?: [a-zA-Z]\w*=[^\s\]]*)*)\]$/;function Zf(e){const t=Jf.exec(e);if(!t)return{text:e,params:{}};const n={};for(const r of t[2].trim().split(" ").filter(Boolean)){const o=r.indexOf("=");n[r.slice(0,o)]=decodeURIComponent(r.slice(o+1))}return{text:e.slice(0,t.index),code:t[1],params:n}}var Ci=(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))(Ci||{});const ep={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 tp(e){return e?ep[e]??"note":"note"}const np="message_window",rp="message_templates",op={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},ip=(e,t)=>({intent:e,...t}),sp="remote_search",ap="message_reactions",cp={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},lp="connector",up="context.collect",b=e=>({type:"string",description:e}),A=e=>({type:"number",description:e}),pe=e=>({type:"boolean",description:e}),D=b("Sheet name. Omit for the sheet the user is looking at."),An=b("Slide id, as `inspect` reports it.");function S(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 q={undoable:!1,visible:!0},I={undoable:!0,visible:!0},bn={undoable:!1,visible:!0},Re={undoable:!1,visible:!1},dp=[S("pdf.goToPage",["pdf"],"Scroll the viewer to a page.",{page:A("1-based page number.")},["page"],q),S("pdf.search",["pdf"],"Search the document and highlight the matches, as the find bar does.",{query:b("Text to find."),next:pe("Jump to the next match instead of the first.")},["query"],q),S("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"],q),S("pdf.fillField",["pdf"],"Fill one form field of a fillable PDF.",{field:b("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"],I),S("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"],bn),S("pdf.deletePages",["pdf"],"Remove pages, keeping the rest in order.",{pages:{type:"array",items:{type:"number"},description:"1-based page numbers."}},["pages"],bn),S("pdf.addNote",["pdf"],"Place a text note on a page. Written on save; not visible before that.",{page:A("1-based page number."),text:b("The note's text."),left:A("Distance from the left edge, in PDF points (72 per inch)."),top:A("Distance from the top edge, in PDF points."),width:A("Box width in points. Omit for a sensible default."),height:A("Box height in points. Omit for a sensible default."),fontSize:A("Font size in points. Omit for 12.")},["page","text","left","top"],Re),S("pdf.highlightText",["pdf"],"Highlight a phrase on a page. Written on save; not visible before that.",{page:A("1-based page number."),text:b("The exact phrase to highlight, as it appears in the page's text."),occurrence:A("Which occurrence on that page, 1-based. Omit for the first.")},["page","text"],Re)],fp=[S("sheet.setValues",["sheet"],"Write a block of values. The block's shape must match the range.",{sheet:D,range:b("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"],I),S("sheet.setFormula",["sheet"],"Put a formula in every cell of a range.",{sheet:D,range:b("A1 notation."),formula:b("Including the leading `=`.")},["range","formula"],I),S("sheet.setStyle",["sheet"],"Change the look of a range. Only the properties you pass are touched.",{sheet:D,range:b("A1 notation."),bold:pe("Bold on or off."),italic:pe("Italic on or off."),fontSize:A("Point size."),fontColor:b("CSS colour, e.g. `#b91c1c`."),background:b("CSS colour for the cell fill."),horizontalAlignment:{type:"string",enum:["left","center","right"],description:"Horizontal alignment."},numberFormat:b("Number format pattern, e.g. `#,##0.00` or `0%`.")},["range"],I),S("sheet.insertRows",["sheet"],"Insert empty rows, pushing the rest down.",{sheet:D,at:A("1-based row number to insert before."),count:A("How many. Omit for 1.")},["at"],I),S("sheet.deleteRows",["sheet"],"Delete rows, pulling the rest up.",{sheet:D,at:A("1-based first row to delete."),count:A("How many. Omit for 1.")},["at"],I),S("sheet.insertColumns",["sheet"],"Insert empty columns, pushing the rest right.",{sheet:D,at:A("1-based column number to insert before."),count:A("How many. Omit for 1.")},["at"],I),S("sheet.deleteColumns",["sheet"],"Delete columns, pulling the rest left.",{sheet:D,at:A("1-based first column to delete."),count:A("How many. Omit for 1.")},["at"],I),S("sheet.merge",["sheet"],"Merge a range into one cell.",{sheet:D,range:b("A1 notation.")},["range"],I),S("sheet.unmerge",["sheet"],"Break merged cells in a range apart.",{sheet:D,range:b("A1 notation.")},["range"],I),S("sheet.sort",["sheet"],"Sort a range on one of its columns.",{sheet:D,range:b("A1 notation covering the rows to sort, header excluded."),column:A("1-based column *within the range*, not within the sheet."),ascending:pe("Ascending. Omit for ascending.")},["range","column"],I),S("sheet.insertSheet",["sheet"],"Add a new sheet.",{name:b("Name for the new sheet.")},["name"],I),S("sheet.renameSheet",["sheet"],"Rename a sheet.",{sheet:b("Current name."),name:b("New name.")},["sheet","name"],I),S("sheet.deleteSheet",["sheet"],"Remove a sheet and everything on it.",{sheet:b("Name of the sheet to delete.")},["sheet"],I),S("sheet.activate",["sheet"],"Show the user a sheet and select a range on it.",{sheet:D,range:b("A1 notation to select. Omit to only switch sheets.")},[],q)],pp=[S("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:A("The offset the paragraph starts at, exactly as `inspect` prints it."),text:b("The new text for that paragraph. A newline starts a further paragraph.")},["at","text"],I),S("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:A("Character offset where the replaced text starts, as `inspect` reports offsets."),end:A("Character offset just past the last character to replace."),text:b("The replacement text. A newline starts a new paragraph.")},["start","end","text"],I),S("word.insertText",["word"],"Insert text at a character offset, without removing anything.",{index:A("Character offset, as `inspect` reports offsets."),text:b("The text to insert.")},["index","text"],I),S("word.appendText",["word"],"Add text at the end of the document.",{text:b("The text to append.")},["text"],I),S("word.insertParagraph",["word"],"Start a new paragraph, optionally with text in it.",{text:b("Paragraph text. Newlines start further paragraphs."),index:A("Character offset to insert at. Omit for the end of the document.")},[],I),S("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:A("Start character offset."),end:A("End character offset. Omit for a caret.")},["start"],q)],mp=[S("slides.setText",["slides"],"Replace the text of one shape. Written on save; not visible before that, and not undoable.",{slide:An,element:b("Element id, as `inspect` reports it."),text:b("The new text.")},["slide","element","text"],Re),S("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:An,element:b("Element id."),left:A("Distance from the left edge, in pixels."),top:A("Distance from the top edge, in pixels."),width:A("Width in pixels."),height:A("Height in pixels.")},["slide","element"],Re)],Yt=[...dp,...fp,...pp,...mp];function gp(e){return Yt.filter(t=>t.kinds.includes(e))}function hp(e){return Yt.find(t=>t.op===e)}const Tn=/(?: {2,}|\\)$/,yp=/^\*\*([^*]+)\*\*\s+(.*)$/;function In(e){const t=yp.exec(e);return t?{lead:t[1],text:t[2]}:{text:e}}function Ep(e){const t=(e??"").replace(/\r\n/g,`
|
|
20
|
+
Hierbij onze creditnota. De onderstaande bedragen worden met u verrekend.`},zn={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."},wp=qs("quote"),xp={steps:[{level:1,afterDays:7,templateKey:"dunning_reminder",channel:"email"},{level:2,afterDays:21,templateKey:"dunning_notice",channel:"email"},{level:3,afterDays:14,templateKey:"dunning_final",channel:"email"}],minOpenCents:2500},Lp=(e,t)=>new Date(Date.parse(`${e}T00:00:00Z`)+t*864e5).toISOString().slice(0,10);function Zs(e,t,n){if(e.dueAt==null||e.openCents<(t.minOpenCents??0))return null;const r=[...t.steps].sort((a,u)=>a.level-u.level),o=r.find(a=>a.level>e.dunningLevel);if(!o)return r.length?"done":null;const s=e.dunningLevel&&e.lastDunningAt?e.lastDunningAt:e.dueAt,i=Lp(X(s),o.afterDays);return i<=n?{row:e,step:o,dueOn:i}:null}function Pp(e,t,n){const r=[],o=[];for(const s of e){const i=Zs(s,t,n);i==="done"?o.push(s):i&&r.push(i)}return{due:r,waiting:o}}const Js=Xe.map(e=>e.key),Qs="product",ei="agreement";function ti(e,t){return`${e}:${t}`}function $p(e){return`${Qs}:${e}`}function Kp(e,t){const n=e.businessEntityId||t;if(n)return`/apps/sales/${n}/${x(e.kindKey).path}/${e.id}`}function Up(e,t){const n=e.businessEntityId||t;return n?`/apps/sales/${n}/product/${e.id}`:void 0}function Bp(e){return`${ei}:${e}`}function Fp(e,t){const n=e.businessEntityId||t;return n?`/apps/sales/${n}/agreement/${e.id}`:void 0}function jp(e){const t=e.indexOf(":");if(t<0)return;const n=e.slice(0,t);return Js.includes(n)?e.slice(t+1):void 0}function Gp(e){const t=new Set([ti(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 Vp=4;function Wp(e,t){const n=String(t).padStart(Math.max(1,e.padding),"0");return`${e.prefix}${e.period?`${e.period}-`:""}${n}`}function Hp(e,t=Date.now()){return e==="year"?String(new Date(t).getFullYear()):""}const zp=["cash","credit","direct_debit","card","other"];function Yp(e,t){return e+Math.max(0,Math.round(t))*24*60*60*1e3}function Xp(e){return{code:e.code,label:e.label,method:e.method,dueDays:e.dueDays}}const qp=[{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 dn(e){return e.settlement?.state??"unpaid"}function ni(e){const t=dn(e);return t==="paid"||t==="overpaid"}function fn(e){return!!e.issuedAt&&e.status==="open"&&!ni(e)}function Zp(e,t){return!fn(e)||e.dueAt==null?!1:new Date(e.dueAt).toISOString().slice(0,10)<t}function Jp(e){return e.totals?.grossCents??0}function Qp(e,t){const n={};return t.postedAt&&!e.postedAt&&(n.postedAt=t.postedAt),t.externalId&&!(e.externalIds??[]).includes(t.externalId)&&(n.externalIds=[...e.externalIds??[],t.externalId]),t.number&&!e.number&&(n.number=t.number),t.payment&&t.asOf>(e.settlement?.asOf??0)&&(n.settlement={...t.payment,source:"books",asOf:t.asOf}),Object.keys(n).length?n:null}function em(e,t,n){const r=Jp(e);return{state:t,paidCents:t==="paid"?r:0,openCents:t==="paid"?0:r,...t==="paid"?{lastPaymentAt:n}:{},source:"manual",asOf:n}}const ri=["current","d1_30","d31_60","d61_90","d90_plus"],tm=864e5;function nm(e,t){return Math.round((Date.parse(`${t}T00:00:00Z`)-Date.parse(`${e}T00:00:00Z`))/tm)}function rm(e,t){if(!fn(e))return null;const n=e.totals?.grossCents??0,r=(e.dunning??[]).reduce((s,i)=>!s||i.level>s.level?i:s,void 0),o=e.dueAt!=null?nm(X(e.dueAt),t):0;return{id:e.id,kindKey:e.kindKey,...e.number?{number:e.number}:{},companyId:e.companyId,...e.businessEntityId?{businessEntityId:e.businessEntityId}:{},...e.issuedAt?{issuedAt:e.issuedAt}:{},...e.dueAt!=null?{dueAt:e.dueAt}:{},overdueDays:Math.max(0,o),grossCents:n,openCents:e.settlement?.openCents??n,paymentState:dn(e),dunningLevel:r?.level??0,...r?{lastDunningAt:r.sentAt}:{}}}function oi(e){return e<=0?"current":e<=30?"d1_30":e<=60?"d31_60":e<=90?"d61_90":"d90_plus"}function om(e){const t=Object.fromEntries(ri.map(n=>[n,{openCents:0,count:0}]));for(const n of e){const r=t[oi(n.overdueDays)];r.openCents+=n.openCents,r.count+=1}return t}const sm="receivables.company";function im(e){const t=e.filter(r=>r.overdueDays>0),n=r=>r.reduce((o,s)=>o+s.openCents,0);return{count:e.length,openCents:n(e),overdueCount:t.length,overdueCents:n(t),oldestOverdueDays:Math.max(0,...t.map(r=>r.overdueDays)),dunningLevel:Math.max(0,...e.map(r=>r.dunningLevel))}}function am(e){return e.type==="agent"}const si=["communication:interactions:created","communication:interactions:updated","communication:activities:created","communication:activities:updated"];function cm(e){return si.includes(e)}const um="WORK_COMMENT_ADDED",lm="WORK_ITEM_ASSIGNED",dm="WORK_ITEM_STATUS_CHANGED";function fm(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))/go)}function pm(e,t){if(e.closedAt!=null)return{score:G,reasons:[]};const n=t.remindersById?.[e.id];if(n&&n.remindAt>t.now)return{score:G,reasons:[]};let r=0;const o=[],s=e.priority??"normal";if(oe[s]>0&&(r+=oe[s],o.push(`priority:${s}`)),typeof e.dueDate=="number"){const i=fm(e.dueDate,t.now);i<0?(r+=35,o.push("overdue")):i===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 qe=[{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"}],mm=qe.map(e=>e.key);function gm(e){return e?.types?.length?e.types:qe}function hm(e,t){return t.find(n=>n.key===e)}function ym(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 bm(...e){return e.map(t=>qe.find(n=>n.key===t)).filter(t=>!!t)}const ii="work_item",ai="work_project",ci="work_activity",Em="work_cycle";function ui(e){return`${ii}:${e}`}function pn(e){return`${ai}:${e}`}function _m(e){return`${ci}:${e}`}function Am(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function Sm(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 Im(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function Tm(e,t=25){const n=new Set([ui(e.id)]);e.projectId&&n.add(pn(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 Cm(e){return[pn(e.id)]}const Ze=[{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}],mn=Ze.map(e=>e.key);function li(e){return e?.statuses?.length?e.statuses:Ze}function di(e,t){return t.find(n=>n.key===e)?.category??"todo"}function vm(e,t){return t.find(n=>n.key===e)}function Om(e){const t=li(e),n=e?.defaultStatusKey;return n&&t.some(r=>r.key===n)?n:fi(t)[0]?.key??Ze[0].key}function fi(e){return[...e].sort((t,n)=>{const r=(t.order??0)-(n.order??0);return r!==0?r:(t.label||"").localeCompare(n.label||"")})}function km(e,t){return di(e,t)==="done"}function pi(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function Mm(e,t){const n=pi(e)||"status",r=new Set([...t,...mn]);if(!r.has(n))return n;for(let o=2;o<500;o++){const s=`${n}-${o}`;if(!r.has(s))return s}return`${n}-${r.size+1}`}function Rm(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}mn.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 Nm(e,t){return t.find(n=>n.key===e)?.requiresApproval===!0}function Dm(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 wm(e){return e.startDate??Number.MAX_SAFE_INTEGER}function xm(e){return e.completedAt?"completed":e.startedAt?"active":"planned"}const Lm=["statusKeys","typeKeys","labels","priority","assignees"],Pm=["blockedOnly","watchingOnly","reportedByMe"],$m=["priority","dueDate","updatedAt","createdAt","title","estimateSeconds"],Km=["list","board","calendar","workload"],Um=["day","week","month"];function Bm(e){const t=e;if(!t||!Um.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 mi(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 Fm(e,t,n){const r=mi(e.dueDate??n,t);return e.startDate===void 0||e.dueDate===void 0?{dueDate:r}:{dueDate:r,startDate:r-(e.dueDate-e.startDate)}}const jm=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),Gm=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function gi(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?jm.has(t)?"image":t==="application/pdf"?"pdf":Gm.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const ne=1024*1024,hi={image:5*ne,pdf:20*ne,text:1*ne,audio:20*ne},Vm=25*ne,Wm=5;function Hm(e,t){const n=gi(e);return n==="unsupported"?"unsupported":t>hi[n]?"too-large":null}const zm="ai-tool";function Ym(e){return e.access==="read"?"idempotent":e.reversible??"none"}function gn(e){return e.access!=="read"&&e.effect!=="internal"}function yi(e){return`${e.kind}:${e.id||e.url||e.title}`}function Xm(e,t=[]){const n=new Set(t),r=[],o=[];for(const s of e){const i=yi(s);n.has(i)||(n.add(i),r.push(s),o.push(i))}return{sources:r,keys:o}}const qm="assist-source",Zm=["blocking","due","open"];function Jm(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const Yn={blocking:0,due:1,open:2};function Qm(e,t){return Yn[e.band??"open"]-Yn[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}const eg="bookable-source",tg="bookkeeping",ng={get:"/bookable/get",issued:"/bookable/issued",ledgerCategories:"/bookable/ledger-categories",settled:"/bookable/settled"},rg={describe:"/bookkeeping/describe",post:"/bookkeeping/post",lookup:"/bookkeeping/lookup",payments:"/bookkeeping/payments",paymentRegister:"/bookkeeping/payment-register",paymentUndo:"/bookkeeping/payment-undo",settle:"/bookkeeping/settle",reports:"/bookkeeping/reports"};function og(e){return`oc:${e}`}function sg(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function ig(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function ag(e){return e.sessions.some(n=>n.id!==e.exceptSessionId&&(n.state==="connected"||n.state==="on_hold"))?{admit:!1,reason:"busy"}:{admit:!0}}function bi(e,t){const n=new Set(e.disabledIntents??[]),r=e.intentOverrides??{},o=t.intents.filter(i=>!n.has(i.intent)).map(i=>ug(i,r[i.intent]));if(!e.extraIntents||e.extraIntents.length===0)return o;const s=new Set(o.map(i=>i.intent));for(const i of e.extraIntents)s.has(i.intent)||(o.push(i),s.add(i.intent));return o}function Ei(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 cg(e,t){const n=Ei(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function ug(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function lg(e,t){const n=[];for(const r of e){if(!r.enabled)continue;const o=t[r.providerId];if(o)for(const s of bi(r,o))n.push({channel:r,description:o,capability:s})}return n}function dg(e,t){return t.filter(n=>n.capability.intent===e)}function _i(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function fg(e,t){return _i(e.scheme,t)}function pg(e,t,n){const r=[];for(const o of e)for(const s of n)s.capability.intent===t&&s.capability.targetSchemes.includes(o.scheme)&&r.push({channelIntent:s,endpoint:o});return r}function mg(e,t,n={}){let r=t,o=e;for(const[s,i]of Object.entries(n))r=r.split("{"+s+"}").join(String(i)),o+=" "+s+"="+encodeURIComponent(String(i));return r+" ["+o+"]"}const gg=/ \[([a-z][a-z0-9_]*)((?: [a-zA-Z]\w*=[^\s\]]*)*)\]$/;function hg(e){const t=gg.exec(e);if(!t)return{text:e,params:{}};const n={};for(const r of t[2].trim().split(" ").filter(Boolean)){const o=r.indexOf("=");n[r.slice(0,o)]=decodeURIComponent(r.slice(o+1))}return{text:e.slice(0,t.index),code:t[1],params:n}}var Ai=(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))(Ai||{});const yg={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 bg(e){return e?yg[e]??"note":"note"}const Eg="message_window",_g="message_templates",Ag={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},Sg=(e,t)=>({intent:e,...t}),Ig="remote_search",Tg="message_reactions",Cg={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},vg="connector",Og="context.collect",C=e=>({type:"string",description:e}),T=e=>({type:"number",description:e}),Ae=e=>({type:"boolean",description:e}),P=C("Sheet name. Omit for the sheet the user is looking at."),Xn=C("Slide id, as `inspect` reports it.");function I(e,t,n,r,o,s){return{op:e,kinds:t,summary:n,parameters:{type:"object",properties:r,required:o},undoable:s.undoable,visible:s.visible}}const re={undoable:!1,visible:!0},k={undoable:!0,visible:!0},qn={undoable:!1,visible:!0},Be={undoable:!1,visible:!1},kg=[I("pdf.goToPage",["pdf"],"Scroll the viewer to a page.",{page:T("1-based page number.")},["page"],re),I("pdf.search",["pdf"],"Search the document and highlight the matches, as the find bar does.",{query:C("Text to find."),next:Ae("Jump to the next match instead of the first.")},["query"],re),I("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"],re),I("pdf.fillField",["pdf"],"Fill one form field of a fillable PDF.",{field:C("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"],k),I("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"],qn),I("pdf.deletePages",["pdf"],"Remove pages, keeping the rest in order.",{pages:{type:"array",items:{type:"number"},description:"1-based page numbers."}},["pages"],qn),I("pdf.addNote",["pdf"],"Place a text note on a page. Written on save; not visible before that.",{page:T("1-based page number."),text:C("The note's text."),left:T("Distance from the left edge, in PDF points (72 per inch)."),top:T("Distance from the top edge, in PDF points."),width:T("Box width in points. Omit for a sensible default."),height:T("Box height in points. Omit for a sensible default."),fontSize:T("Font size in points. Omit for 12.")},["page","text","left","top"],Be),I("pdf.highlightText",["pdf"],"Highlight a phrase on a page. Written on save; not visible before that.",{page:T("1-based page number."),text:C("The exact phrase to highlight, as it appears in the page's text."),occurrence:T("Which occurrence on that page, 1-based. Omit for the first.")},["page","text"],Be)],Mg=[I("sheet.setValues",["sheet"],"Write a block of values. The block's shape must match the range.",{sheet:P,range:C("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"],k),I("sheet.setFormula",["sheet"],"Put a formula in every cell of a range.",{sheet:P,range:C("A1 notation."),formula:C("Including the leading `=`.")},["range","formula"],k),I("sheet.setStyle",["sheet"],"Change the look of a range. Only the properties you pass are touched.",{sheet:P,range:C("A1 notation."),bold:Ae("Bold on or off."),italic:Ae("Italic on or off."),fontSize:T("Point size."),fontColor:C("CSS colour, e.g. `#b91c1c`."),background:C("CSS colour for the cell fill."),horizontalAlignment:{type:"string",enum:["left","center","right"],description:"Horizontal alignment."},numberFormat:C("Number format pattern, e.g. `#,##0.00` or `0%`.")},["range"],k),I("sheet.insertRows",["sheet"],"Insert empty rows, pushing the rest down.",{sheet:P,at:T("1-based row number to insert before."),count:T("How many. Omit for 1.")},["at"],k),I("sheet.deleteRows",["sheet"],"Delete rows, pulling the rest up.",{sheet:P,at:T("1-based first row to delete."),count:T("How many. Omit for 1.")},["at"],k),I("sheet.insertColumns",["sheet"],"Insert empty columns, pushing the rest right.",{sheet:P,at:T("1-based column number to insert before."),count:T("How many. Omit for 1.")},["at"],k),I("sheet.deleteColumns",["sheet"],"Delete columns, pulling the rest left.",{sheet:P,at:T("1-based first column to delete."),count:T("How many. Omit for 1.")},["at"],k),I("sheet.merge",["sheet"],"Merge a range into one cell.",{sheet:P,range:C("A1 notation.")},["range"],k),I("sheet.unmerge",["sheet"],"Break merged cells in a range apart.",{sheet:P,range:C("A1 notation.")},["range"],k),I("sheet.sort",["sheet"],"Sort a range on one of its columns.",{sheet:P,range:C("A1 notation covering the rows to sort, header excluded."),column:T("1-based column *within the range*, not within the sheet."),ascending:Ae("Ascending. Omit for ascending.")},["range","column"],k),I("sheet.insertSheet",["sheet"],"Add a new sheet.",{name:C("Name for the new sheet.")},["name"],k),I("sheet.renameSheet",["sheet"],"Rename a sheet.",{sheet:C("Current name."),name:C("New name.")},["sheet","name"],k),I("sheet.deleteSheet",["sheet"],"Remove a sheet and everything on it.",{sheet:C("Name of the sheet to delete.")},["sheet"],k),I("sheet.activate",["sheet"],"Show the user a sheet and select a range on it.",{sheet:P,range:C("A1 notation to select. Omit to only switch sheets.")},[],re)],Rg=[I("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:T("The offset the paragraph starts at, exactly as `inspect` prints it."),text:C("The new text for that paragraph. A newline starts a further paragraph.")},["at","text"],k),I("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:T("Character offset where the replaced text starts, as `inspect` reports offsets."),end:T("Character offset just past the last character to replace."),text:C("The replacement text. A newline starts a new paragraph.")},["start","end","text"],k),I("word.insertText",["word"],"Insert text at a character offset, without removing anything.",{index:T("Character offset, as `inspect` reports offsets."),text:C("The text to insert.")},["index","text"],k),I("word.appendText",["word"],"Add text at the end of the document.",{text:C("The text to append.")},["text"],k),I("word.insertParagraph",["word"],"Start a new paragraph, optionally with text in it.",{text:C("Paragraph text. Newlines start further paragraphs."),index:T("Character offset to insert at. Omit for the end of the document.")},[],k),I("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:T("Start character offset."),end:T("End character offset. Omit for a caret.")},["start"],re)],Ng=[I("slides.setText",["slides"],"Replace the text of one shape. Written on save; not visible before that, and not undoable.",{slide:Xn,element:C("Element id, as `inspect` reports it."),text:C("The new text.")},["slide","element","text"],Be),I("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:Xn,element:C("Element id."),left:T("Distance from the left edge, in pixels."),top:T("Distance from the top edge, in pixels."),width:T("Width in pixels."),height:T("Height in pixels.")},["slide","element"],Be)],hn=[...kg,...Mg,...Rg,...Ng];function Dg(e){return hn.filter(t=>t.kinds.includes(e))}function wg(e){return hn.find(t=>t.op===e)}const Zn=/(?: {2,}|\\)$/,xg=/^\*\*([^*]+)\*\*\s+(.*)$/;function Jn(e){const t=xg.exec(e);return t?{lead:t[1],text:t[2]}:{text:e}}function Lg(e){const t=(e??"").replace(/\r\n/g,`
|
|
18
21
|
`).split(`
|
|
19
|
-
`),n=[];let r=null;const o=()=>{r&&n.push({type:"list",style:r.style,items:r.items}),r=null},
|
|
20
|
-
`)}),a=[])},d=()=>{
|
|
21
|
-
`)});continue}const
|
|
22
|
-
`:" ")),
|
|
22
|
+
`),n=[];let r=null;const o=()=>{r&&n.push({type:"list",style:r.style,items:r.items}),r=null},s=(f,m)=>{r&&r.style!==f&&o(),r?r.items.push(Jn(m)):r={style:f,items:[Jn(m)]}};let i=[],a=[];const u=()=>{if(i.length){const f=i.join("").trim();f&&n.push({type:"paragraph",text:f}),i=[]}},c=()=>{a.length&&(n.push({type:"quote",text:a.join(`
|
|
23
|
+
`)}),a=[])},d=()=>{u(),c(),o()};let l=0;for(;l<t.length;){const f=t[l]??"",m=f.match(/^```(\w*)\s*$/);if(m){d();const p=[];for(l++;l<t.length&&!/^```\s*$/.test(t[l]??"");)p.push(t[l]??""),l++;l++,n.push({type:"code",...m[1]?{lang:m[1]}:{},text:p.join(`
|
|
24
|
+
`)});continue}const b=f.match(/^(#{1,3})\s+(.*)$/);if(b){d(),n.push({type:"heading",level:b[1].length,text:b[2].trim()}),l++;continue}const g=f.match(/^!\[([^\]]*)\]\(([^)\s]+)\)\s*$/);if(g){d(),n.push({type:"image",url:g[2],...g[1]?{alt:g[1]}:{}}),l++;continue}if(/^\s*[-*]\s+/.test(f)){u(),c(),s("bulleted",f.replace(/^\s*[-*]\s+/,"")),l++;continue}if(/^\s*\d+\.\s+/.test(f)){u(),c(),s("numbered",f.replace(/^\s*\d+\.\s+/,"")),l++;continue}if(/^\s*(-{3,}|\*{3,}|_{3,})\s*$/.test(f)){d(),n.push({type:"divider"}),l++;continue}if(/^>\s?/.test(f)){u(),o(),a.push(f.replace(/^>\s?/,"")),l++;continue}if(f.trim()===""){d(),l++;continue}c(),o();const h=Zn.test(f);i.push(f.replace(Zn,"").trim()+(h?`
|
|
25
|
+
`:" ")),l++}return d(),n}function Pg(e,t){return Ft(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
26
|
|
|
24
|
-
`).trim()}const Sp="documents.describe",Ap="documents.inspect",bp="documents.apply";function Tp(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 Ip="installation-id";function Op(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 Mp="notification-source",vp=(e,t)=>`${e}.pref.${t}`,Cp={ai:["account.read","account.write","agent.read","agent.write","assignment.read","assignment.write","budget.read","budget.write","connector.read","connector.write","context.read","context.write","conversation.read","conversation.write","lens.read","lens.write","message.read","message.write","playbook.read","playbook.write","profile.read","profile.write","run.read","run.write","settings.read","settings.write","tool.read","transcript.write","usage.read"],analytics:["report.read"],"app-store":["app.publish","app.read","app.write","setting.read","setting.write"],assist:["board.read"],automations:["sync.read","sync.write","webhook.read","webhook.write"],communication:["account.read","account.write","activity-type.read","activity.read","activity.write","attachment.read","calendar.read","calendar.write","channel.read","channel.write","inbox.read","inbox.write","interaction.read","interaction.write","reminder.read","template.read","template.write"],context:["attribute.read","attribute.write","custom-field.read","custom-field.write","kind.read","kind.write","memory.read","memory.write","reaction.read","reaction.write","topic.read","topic.write"],crm:["company.read","company.write","contact.read","contact.write"],"eylo-voip":["account.read","account.write","callflow.read","callflow.write","channel.read","channel.write","contact.read","contact.write","device.read","device.write","group.read","group.write","interaction.read","interaction.write","media.read","media.write","menu.read","menu.write","phone-number.read","phone-number.write","recording.read","recording.write","sip.read","temporal-rule.read","temporal-rule.write","user.read","user.write","vmbox.read","vmbox.write","webhook.read","webhook.write"],google:["account.read","account.write","contact.read"],kb:["article.read","article.write","category.read","category.write","help-center.read","help-center.write","kb.read","kb.write"],mail:["account.write"],meta:["account.read","account.write"],microsoft:["account.read","account.write","contact.read","sync.write"],organization:["billing.read","billing.write","settings.read","settings.write","team.read","team.write"],shopify:["account.read","account.write","order.read"],slack:["thread.read","thread.write"],storage:["artifact.read","artifact.write","file.read","file.write","mount.read","mount.write"],time:["entry.read","entry.write","work-type.read","work-type.write"],user:["user.read","user.write"],work:["item.read","item.write","project.read","project.write"]},zt=9e4,ki=["out_of_office"],Ri=e=>ki.includes(e);function kp(e,t,n){const r=n-e<zt,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 Rp(e,t){const n=t-e.lastSeenAt<zt,r=n||Ri(e.status)?e.status:"offline";return n===e.online&&r===e.status?e:{...e,online:n,status:r}}function Np(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 wp(e){return e.providerAvailable&&e.allowed}const Dp="resources.describe",Lp="resources.search",xp="resources.resolve",Pp="resources.attached";function $p(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const Up="/provider/scope/related",Kp="/provider/scope/read",Fp="/provider/scope/acts",Xt="auth";function qt(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function Bp(e){const t=qt(e);return t?t!==Xt:typeof e=="string"&&(e.startsWith("/wake")||Ni(e))}const Z="/settings";function Ni(e){return typeof e=="string"&&(e===Z||e.startsWith(`${Z}/`))}function Gp(e){const t=e?e.indexOf(":"):-1;return!e||t<=0?Z:`${Z}/${e.slice(0,t)}/${e.slice(t+1)}`}function jp(e){return typeof e!="string"||e===""||e==="/"?!0:qt(e)===Xt}function Hp(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function wi(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${Hp(r)}`).join("");return new RegExp(`^${n}\\/?$`)}function Di(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),c=r[s];c&&(o[a]=c)}}),o}function Li(e){return e.publicBasePath??`/apps/${e.name}`}function Wp(e){const t=[];for(const n of e){if(!n?.name)continue;const r=Li(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 xi(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean);for(let o=0;o<Math.min(n.length,r.length);o++){const i=n[o].startsWith(":"),s=r[o].startsWith(":");if(i!==s)return s}return n.length>r.length}function Pi(e,t){if(typeof e!="string")return null;let n=null;for(const r of t)wi(r.pattern).test(e)&&(!n||xi(r.pattern,n.pattern))&&(n=r);return n?{...n,params:{...n.props,...Di(n.pattern,e)}}:null}function Vp(e,t){return Pi(e,t)!==null}const Yp=10*1024*1024,zp=25*1024*1024,Xp="sync-target",qp=20;function Qt(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 $i(e,t,n){return Qt(e,n)?t.guarded==="all"||t.guarded?.has(e.name)?!0:t.autonomy==="auto"?!1:t.autonomy==="outward"?Vt(e):!0:!1}function Qp(e){return e.produces==="draft"}function Jp(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"&&Qt(e)||t.mode==="draft"&&(Vt(e)||e.access!=="read"&&!Qp(e))?"hidden":t.gate&&$i(e,t.gate,t.policy)?"held":"free"}const Zp={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(Zp).forEach(n=>{n.forEach(r=>{t=t.replaceAll(r,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},Ki=6e4,Fi=8e3,Bi=2,Gi=.4,em=3,tm=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 ji(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<em||tm.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 Wi(e,t=Ki){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 Vi=60;function nm(e,t,n=Vi){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 rm(e){const{segments:t,now:n,state:r}=e;if(r.lastTriggerAt&&n-r.lastTriggerAt<Fi)return{trigger:!1,reason:"too_soon"};const o=Wi(t,e.windowMs);if(!o.text)return{trigger:!1,reason:"no_speech"};const i=o.segmentCount-(r.lastSegmentCount??0);if(r.lastQueryTerms&&i<Bi)return{trigger:!1,reason:"too_few_new"};const s=ji(o.text);return s.length?r.lastQueryTerms?.length&&Hi(s,r.lastQueryTerms)<Gi?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:o.text,terms:s,segmentCount:o.segmentCount}:{trigger:!1,reason:"no_speech"}}const om=["personal","organization","connections","flows","work","administration","ai"],im="navNotice",Be={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",sm=15,am=8,cm=Array.from(new Set(Object.values(Be).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function On(e){if(e)return Be[e.trim().toUpperCase()]}function me(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function Mn(e){if(e.length>sm)return null;for(const t of cm){if(!e.startsWith(t))continue;const n=e.slice(t.length);for(const r of Object.values(Be)){if(r.callingCode!==t)continue;const o=r.trunkPrefix,i=o&&n.startsWith(o)?n.slice(o.length):n;if(me(i,r))return`+${t}${i}`}return null}return e.length<am?null:`+${e}`}function lm(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 um(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 St(e,t){if(!e)return null;const n=lm(e);if(!n)return null;const r=n.startsWith("+"),o=n.replace(/\D/g,"");if(!o)return null;if(r)return Mn(o);if(o.startsWith("00"))return Mn(o.slice(2));const i=On(t)??On(Yi);if(!i)return null;const s=i.trunkPrefix;if(s&&o.startsWith(s)){const a=o.slice(s.length);return me(a,i)?`+${i.callingCode}${a}`:null}if(o.startsWith(i.callingCode)){const a=o.slice(i.callingCode.length);if(me(a,i))return`+${i.callingCode}${a}`}return!s&&me(o,i)?`+${i.callingCode}${o}`:null}function dm(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 fm(e){const t=Jt(e);return t?t.slice(t.lastIndexOf("@")+1):null}const pm=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function zi(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 pm.has(n)&&t.length>=3?t.slice(-3).join("."):n}const Xi=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 mm(e){const t=zi(e);return t?Xi.has(t):!1}function gm(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function hm(e,t,n){if(!e||!t)return null;const r=e.trim().toLowerCase();if(r==="tel"||r==="sms"||r==="whatsapp"){const i=St(t,n);return i?`tel:${i}`:null}if(r==="fax"){const i=St(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 ym=[/<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],vn=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,Em=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function _m(e){const t=e.split(`
|
|
25
|
-
`);for(let n=0;n<t.length;n++)if(
|
|
26
|
-
`).trim();return e}const
|
|
27
|
+
`).trim()}const $g="documents.describe",Kg="documents.inspect",Ug="documents.apply";function Bg(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 Fg="installation-id";function jg(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 Gg="notification-source",Vg=(e,t)=>`${e}.pref.${t}`,Wg={ai:["account.read","account.write","agent.read","agent.write","assignment.read","assignment.write","budget.read","budget.write","connector.read","connector.write","context.read","context.write","conversation.read","conversation.write","lens.read","lens.write","message.read","message.write","playbook.read","playbook.write","profile.read","profile.write","run.read","run.write","settings.read","settings.write","tool.read","transcript.write","usage.read"],analytics:["report.read"],"app-store":["app.publish","app.read","app.write","setting.read","setting.write"],assist:["board.read"],automations:["sync.read","sync.write","webhook.read","webhook.write"],communication:["account.read","account.write","activity-type.read","activity.read","activity.write","attachment.read","calendar.read","calendar.write","channel.read","channel.write","inbox.read","inbox.write","interaction.read","interaction.write","reminder.read","template.read","template.write"],context:["attribute.read","attribute.write","custom-field.read","custom-field.write","kind.read","kind.write","memory.read","memory.write","reaction.read","reaction.write","topic.read","topic.write"],crm:["company.read","company.write","contact.read","contact.write"],"eylo-voip":["account.read","account.write","callflow.read","callflow.write","channel.read","channel.write","contact.read","contact.write","device.read","device.write","group.read","group.write","interaction.read","interaction.write","media.read","media.write","menu.read","menu.write","phone-number.read","phone-number.write","recording.read","recording.write","sip.read","temporal-rule.read","temporal-rule.write","user.read","user.write","vmbox.read","vmbox.write","webhook.read","webhook.write"],google:["account.read","account.write","contact.read"],kb:["article.read","article.write","category.read","category.write","help-center.read","help-center.write","kb.read","kb.write"],mail:["account.write"],meta:["account.read","account.write"],microsoft:["account.read","account.write","contact.read","sync.write"],organization:["billing.read","billing.write","settings.read","settings.write","team.read","team.write"],shopify:["account.read","account.write","order.read"],slack:["thread.read","thread.write"],storage:["artifact.read","artifact.write","file.read","file.write","mount.read","mount.write"],time:["entry.read","entry.write","work-type.read","work-type.write"],user:["user.read","user.write"],work:["item.read","item.write","project.read","project.write"]},yn=9e4,Si=["out_of_office"],Ii=e=>Si.includes(e);function Hg(e,t,n){const r=n-e<yn,o=t?.status&&(!t.expiresAt||t.expiresAt>n)?t:void 0;if(!o?.status)return{online:r,status:r?"available":"offline"};const s=o.status;return!r&&!Ii(s)?{online:!1,status:"offline"}:{online:r,status:s,message:o.message}}function zg(e,t){const n=t-e.lastSeenAt<yn,r=n||Ii(e.status)?e.status:"offline";return n===e.online&&r===e.status?e:{...e,online:n,status:r}}function Yg(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 Xg(e){return e.providerAvailable&&e.allowed}const qg="resources.describe",Zg="resources.search",Jg="resources.resolve",Qg="resources.attached";function eh(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const th="/provider/scope/related",nh="/provider/scope/read",rh="/provider/scope/acts",bn="auth";function En(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function oh(e){const t=En(e);return t?t!==bn:typeof e=="string"&&(e.startsWith("/wake")||Ti(e))}const ie="/settings";function Ti(e){return typeof e=="string"&&(e===ie||e.startsWith(`${ie}/`))}function sh(e){const t=e?e.indexOf(":"):-1;return!e||t<=0?ie:`${ie}/${e.slice(0,t)}/${e.slice(t+1)}`}function ih(e){return typeof e!="string"||e===""||e==="/"?!0:En(e)===bn}function ah(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Ci(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${ah(r)}`).join("");return new RegExp(`^${n}\\/?$`)}function vi(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean),o={};return n.forEach((s,i)=>{if(s.startsWith(":")){const a=s.endsWith("?")?s.slice(1,-1):s.slice(1),u=r[i];u&&(o[a]=u)}}),o}function Oi(e){return e.publicBasePath??`/apps/${e.name}`}function ch(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 s=o.path==="/"?"":o.path;t.push({appName:n.name,resource:o.resource,pattern:`${r}${s}`,props:o.props})}}return t}function ki(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 s=n[o].startsWith(":"),i=r[o].startsWith(":");if(s!==i)return i}return n.length>r.length}function Mi(e,t){if(typeof e!="string")return null;let n=null;for(const r of t)Ci(r.pattern).test(e)&&(!n||ki(r.pattern,n.pattern))&&(n=r);return n?{...n,params:{...n.props,...vi(n.pattern,e)}}:null}function uh(e,t){return Mi(e,t)!==null}const lh=10*1024*1024,dh=25*1024*1024,fh="sync-target",ph=20;function _n(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 Ri(e,t,n){return _n(e,n)?t.guarded==="all"||t.guarded?.has(e.name)?!0:t.autonomy==="auto"?!1:t.autonomy==="outward"?gn(e):!0:!1}function mh(e){return e.produces==="draft"}function gh(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"&&_n(e)||t.mode==="draft"&&(gn(e)||e.access!=="read"&&!mh(e))?"hidden":t.gate&&Ri(e,t.gate,t.policy)?"held":"free"}const hh={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]"]},Ni=e=>{let t=e;return Object.values(hh).forEach(n=>{n.forEach(r=>{t=t.replaceAll(r,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},Di=6e4,wi=8e3,xi=2,Li=.4,yh=3,bh=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<yh||bh.has(n)||t.add(n);return[...t]}function $i(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 s of r)n.has(s)||(o+=1);return o/r.size}function Ki(e,t=Di){const n=e.filter(i=>!i.partial&&typeof i.text=="string");if(!n.length)return{text:"",segmentCount:0};const o=n.reduce((i,a)=>Math.max(i,a.endedAt??0),0)-t;return{text:n.filter(i=>(i.endedAt??0)>=o).map(i=>Ni(i.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const Ui=60;function Eh(e,t,n=Ui){const r=new Set(e),o=[...e];for(const s of t)!s||r.has(s)||(r.add(s),o.push(s));return o.slice(-n)}function _h(e){const{segments:t,now:n,state:r}=e;if(r.lastTriggerAt&&n-r.lastTriggerAt<wi)return{trigger:!1,reason:"too_soon"};const o=Ki(t,e.windowMs);if(!o.text)return{trigger:!1,reason:"no_speech"};const s=o.segmentCount-(r.lastSegmentCount??0);if(r.lastQueryTerms&&s<xi)return{trigger:!1,reason:"too_few_new"};const i=Pi(o.text);return i.length?r.lastQueryTerms?.length&&$i(i,r.lastQueryTerms)<Li?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:o.text,terms:i,segmentCount:o.segmentCount}:{trigger:!1,reason:"no_speech"}}const Ah=["personal","organization","connections","flows","work","administration","ai"],Sh="navNotice",Je={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}},Bi="NL",Ih=15,Th=8,Ch=Array.from(new Set(Object.values(Je).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function Qn(e){if(e)return Je[e.trim().toUpperCase()]}function Se(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function er(e){if(e.length>Ih)return null;for(const t of Ch){if(!e.startsWith(t))continue;const n=e.slice(t.length);for(const r of Object.values(Je)){if(r.callingCode!==t)continue;const o=r.trunkPrefix,s=o&&n.startsWith(o)?n.slice(o.length):n;if(Se(s,r))return`+${t}${s}`}return null}return e.length<Th?null:`+${e}`}function vh(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 Oh(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 xt(e,t){if(!e)return null;const n=vh(e);if(!n)return null;const r=n.startsWith("+"),o=n.replace(/\D/g,"");if(!o)return null;if(r)return er(o);if(o.startsWith("00"))return er(o.slice(2));const s=Qn(t)??Qn(Bi);if(!s)return null;const i=s.trunkPrefix;if(i&&o.startsWith(i)){const a=o.slice(i.length);return Se(a,s)?`+${s.callingCode}${a}`:null}if(o.startsWith(s.callingCode)){const a=o.slice(s.callingCode.length);if(Se(a,s))return`+${s.callingCode}${a}`}return!i&&Se(o,s)?`+${s.callingCode}${o}`:null}function kh(e,t=9){const n=(e??"").replace(/\D/g,"");return n.length<t?null:n.slice(-t)}function An(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 Mh(e){const t=An(e);return t?t.slice(t.lastIndexOf("@")+1):null}const Rh=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function Fi(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 Rh.has(n)&&t.length>=3?t.slice(-3).join("."):n}const ji=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 Nh(e){const t=Fi(e);return t?ji.has(t):!1}function Dh(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function wh(e,t,n){if(!e||!t)return null;const r=e.trim().toLowerCase();if(r==="tel"||r==="sms"||r==="whatsapp"){const s=xt(t,n);return s?`tel:${s}`:null}if(r==="fax"){const s=xt(t,n);return s?`fax:${s}`:null}if(r==="mailto"||r==="email"){const s=An(t);return s?`mailto:${s}`:null}const o=t.trim().toLowerCase();return o?`${r}:${o}`:null}const xh=[/<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],tr=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,Lh=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function Ph(e){const t=e.split(`
|
|
28
|
+
`);for(let n=0;n<t.length;n++)if(Lh.test(t[n])||tr.test(t[n])&&t.slice(n+1,n+4).some(r=>tr.test(r)))return t.slice(0,n).join(`
|
|
29
|
+
`).trim();return e}const $h=/^(?:https?:|mailto:|tel:)/i,Kh=/^(?:https?:|cid:|data:image\/)/i;function ct(e,t){const n=e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`,"i"));return(n?.[1]??n?.[2]??n?.[3]??"").trim()}const Uh=/(!\[[^\]]*\]\([^)]*\))/;function nr(e){return e.replace(/\s+/g," ").trim().split(Uh).map((t,n)=>n%2===1?t:t.replace(/[[\]]/g,"\\$&")).join("")}function ut(e){return e.replace(/[()\s<>"]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`)}function Bh(e){return e.replace(/<img\b([^>]*?)\/?>/gi,(n,r)=>{const o=ct(r,"src");return Kh.test(o)?`})`:""}).replace(/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,(n,r,o)=>{const s=nr(o.replace(/<[^>]*>/g,"")),i=ct(r,"href");return $h.test(i)?`[${s||ut(i)}](${ut(i)})`:s})}const Fh=/<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i,jh=/<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi,Gh=/<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;function Vh(e,t){return/<table\b/i.test(e)||e.includes(`
|
|
27
30
|
|
|
28
|
-
|`)||t.includes("![")||t.length>200}const
|
|
31
|
+
|`)||t.includes("![")||t.length>200}const Wh=40,Hh={left:"---",center:":---:",right:"---:"};function zh(e){const t=e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);return t?t[1].toLowerCase():"left"}function Yh(e){return e.replace(/<[^>]*>/g,"").replace(/\s+/g," ").trim().replace(/\|/g,"\\|")}function Xh(e){const t=[];for(const i of e.matchAll(jh)){const a=[];for(const u of i[1].matchAll(Gh)){const c=Yh(u[3]);if(Vh(u[3],c))return null;a.push({text:c,align:zh(u[2])})}if(a.length===0)return null;a.some(u=>u.text!=="")&&t.push(a)}const n=t[0]?.length??0;if(t.length<2||n<2||t.some(i=>i.length!==n))return null;const r=i=>`| ${i.map(a=>a.text).join(" | ")} |`,o=t[1].map(i=>Hh[i.align]).join(" | "),s=t.slice(1).map(r).join(`
|
|
29
32
|
`);return`
|
|
30
33
|
|
|
31
34
|
${r(t[0])}
|
|
32
35
|
| ${o} |
|
|
33
|
-
${
|
|
36
|
+
${s}
|
|
34
37
|
|
|
35
|
-
`}function
|
|
36
|
-
`).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi,"").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi,"")}function
|
|
38
|
+
`}function qh(e){return e.replace(/<\/(t[dh])\s*>/gi," ").replace(/<\/tr\s*>/gi,`
|
|
39
|
+
`).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi,"").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi,"")}function Zh(e){let t=e;for(let n=0;n<Wh;n++){const r=Fh.exec(t);if(!r||r.index===void 0)break;const s=Xh(r[1])??`
|
|
37
40
|
|
|
38
|
-
${
|
|
41
|
+
${qh(r[1])}
|
|
39
42
|
|
|
40
|
-
`;t=t.slice(0,r.index)+
|
|
41
|
-
`),t&&(n=
|
|
43
|
+
`;t=t.slice(0,r.index)+s+t.slice(r.index+r[0].length)}return t}function rr(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,`
|
|
44
|
+
`),t&&(n=Zh(Bh(n))),n=n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi,`
|
|
42
45
|
|
|
43
46
|
`),n=n.replace(/<\/(div|li|tr)>/gi,`
|
|
44
|
-
`),n=n.replace(/<\/(td|th)>/gi," "),n=n.replace(/<[^>]+>/g,""),n=n.replace(/<[^>]*$/,""),n}function
|
|
47
|
+
`),n=n.replace(/<\/(td|th)>/gi," "),n=n.replace(/<[^>]+>/g,""),n=n.replace(/<[^>]*$/,""),n}function or(e){return!Number.isInteger(e)||e<0||e>1114111?null:String.fromCodePoint(e)}const Jh={euro:"€",pound:"£",yen:"¥",cent:"¢",copy:"©",reg:"®",trade:"™",deg:"°",plusmn:"±",times:"×",middot:"·",bull:"•",hellip:"…",mdash:"—",ndash:"–",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",apos:"'"};function sr(e){return e.replace(/ /gi," ").replace(/&([a-z]+);/gi,(t,n)=>Jh[n.toLowerCase()]??t).replace(/</gi,"<").replace(/>/gi,">").replace(/"/gi,'"').replace(/&#(\d+);/g,(t,n)=>or(Number(n))??t).replace(/&#x([0-9a-f]+);/gi,(t,n)=>or(parseInt(n,16))??t).replace(/&/gi,"&")}function ir(e){return e.replace(/\r/g,"").replace(/[ \t]+/g," ").replace(/ *\n */g,`
|
|
45
48
|
`).replace(/\n{3,}/g,`
|
|
46
49
|
|
|
47
|
-
`).trim()}const qi=/<\s*(html|body|div|p|table|br|span)\b/i;function Pm(e){return qi.test(e)}function $m(e){return Qi(e,!1)}function Um(e){return Qi(e,!0)}function Qi(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const s of ym){const a=e.search(s);a>=0&&a<n&&(n=a)}const r=e.slice(0,n);let o=wn(Nn(kn(r,t)));return o||(o=wn(Nn(kn(e,t)))),_m(o)||o}exports.ACTIVE_ASSIGNMENT_STATUSES=ua;exports.ACTIVITY_CATALOG=x;exports.AGREEMENT_SCOPE_KIND=ui;exports.AI_ATTACHMENT_LIMITS=Ti;exports.AI_ATTACHMENT_MAX_PER_TURN=Df;exports.AI_ATTACHMENT_TURN_BUDGET=wf;exports.AI_CAPABILITIES=Ne;exports.AI_TOOL_PROVIDER_GROUP=xf;exports.AI_VENDORS=Tt;exports.ALLOWED_LINK_SCHEMES=zn;exports.APP_PERMISSIONS=Cp;exports.ARTICLE_SCOPE_KIND=$c;exports.ARTIFACT_MAX_BLOCKS=ye;exports.ARTIFACT_MAX_BODY_BYTES=Yn;exports.ARTIFACT_MAX_CELL_LEN=G;exports.ARTIFACT_MAX_KPI_ITEMS=Ae;exports.ARTIFACT_MAX_LIST_ITEMS=Ee;exports.ARTIFACT_MAX_TABLE_COLUMNS=Se;exports.ARTIFACT_MAX_TABLE_ROWS=_e;exports.ARTIFACT_MAX_TEXT_LEN=we;exports.ASSIGNMENT_SCOPE_KIND=er;exports.ASSIST_BANDS=Kf;exports.ASSIST_SOURCE_PROVIDER_GROUP=Uf;exports.ATTENTION_STATUSES=$r;exports.AT_RISK_GAP=zo;exports.AUTH_APP_NAME=Xt;exports.AUTO_READY_MIN_PROPOSALS=ko;exports.AUTO_READY_RATE=Ro;exports.ActivityTypeRegistry=Un;exports.BUILT_IN_ONLY=ys;exports.BULK_PENALTY=Ur;exports.BUSINESS_ENTITY_LIST_SERVICE=Ea;exports.CADENCE_FLOOR_MS=Fi;exports.CADENCE_MIN_NEW_SEGMENTS=Bi;exports.CADENCE_MIN_NOVELTY=Gi;exports.CADENCE_WINDOW_MS=Ki;exports.CLASSIFY_VARS=Yl;exports.CLEARABLE_FIELDS=Td;exports.CONNECTOR_PROVIDER_GROUP=lp;exports.CONTEXT_COLLECT_SERVICE=up;exports.CORE_DIMENSIONS=Fs;exports.CRM_ACTIVITY_SCOPE_KIND=rc;exports.CRM_CALL_CHANNELS=ic;exports.CRM_CALL_LOGGED=Ir;exports.CRM_CALL_OUTCOMES=sc;exports.CRM_NOTE_ADDED=Tr;exports.CRM_STAGE_CHANGED=oc;exports.CUSTOM_RESOLUTION_PREFIX=Dc;exports.CommunicationScheme=Ci;exports.DAY_MS=Rr;exports.DEFAULT_CHECK_IN_DAYS=Vo;exports.DEFAULT_FORECAST_WEEKS=fo;exports.DEFAULT_MEMORY_BUDGET=Qc;exports.DEFAULT_NUMBER_PADDING=Bd;exports.DEFAULT_PHONE_REGION=Yi;exports.DEFAULT_QUOTE_TEMPLATE_BLOCKS=Dd;exports.DEFAULT_TEMPLATE_CONDITIONS=Nd;exports.DEMAND_SOURCE_PROVIDER_GROUP=ul;exports.DOCUMENT_APPLY_SERVICE=bp;exports.DOCUMENT_DESCRIBE_SERVICE=Sp;exports.DOCUMENT_INSPECT_SERVICE=Ap;exports.DOCUMENT_MAX_BLOCKS=ye;exports.DOCUMENT_MAX_BODY_BYTES=Yn;exports.DOCUMENT_MAX_CELL_LEN=G;exports.DOCUMENT_MAX_KPI_ITEMS=Ae;exports.DOCUMENT_MAX_LETTERHEAD_FIELDS=rt;exports.DOCUMENT_MAX_LIST_ITEMS=Ee;exports.DOCUMENT_MAX_RECIPIENT_LINES=Vn;exports.DOCUMENT_MAX_TABLE_COLUMNS=Se;exports.DOCUMENT_MAX_TABLE_ROWS=_e;exports.DOCUMENT_MAX_TEXT_LEN=we;exports.DOCUMENT_MAX_TOTALS_ROWS=ot;exports.DOCUMENT_OPERATIONS=Yt;exports.DRAFT_FIELDS=bd;exports.DUTCH_SLOT_LABELS=si;exports.EMPTY_WORKFLOW=ql;exports.ENABLED_TRANSACTION_KINDS=jt;exports.FEATURE_MESSAGE_REACTIONS=ap;exports.FEATURE_REMOTE_SEARCH=sp;exports.FIXED_KINDS=Le;exports.FIXED_LEVELS=ne;exports.FIXED_TYPES=Ke;exports.FIXED_UNITS=ja;exports.FOLLOW_UP_HOURS=Kr;exports.FROZEN_WRITABLE_FIELDS=Ad;exports.HOUR_MS=kr;exports.HTML_BODY_RE=qi;exports.INELIGIBLE=U;exports.INSTALLATION_HEADER=Ip;exports.INTERACTION_KIND=Io;exports.InteractionParticipantRole=op;exports.KB_FALLBACK_LOCALE=Qr;exports.KB_LOCALES=be;exports.LEAD_STATUSES=Qa;exports.LIFECYCLE_STAGES=qa;exports.LOCALES=be;exports.LOOSE_STATUSES=Fe;exports.MAIL_HINT_HEADERS=xr;exports.MANUAL_PRICE_SOURCE=fr;exports.MAX_ACTIONS=ce;exports.MAX_ASSIGNMENT_TURNS=tr;exports.MAX_BLOCKS=Qe;exports.MAX_CHOICE_OPTIONS=Ze;exports.MAX_COLLECTION_DEPTH=wt;exports.MAX_DELEGATION_DEPTH=nr;exports.MAX_EDITABLE_FILE_BYTES=Yp;exports.MAX_FIELDS=se;exports.MAX_LIST_ITEMS=ae;exports.MAX_MEMORY_BROWSE=Yc;exports.MAX_MEMORY_BUDGET=qc;exports.MAX_MEMORY_CHARS=zc;exports.MAX_RULE_DEPTH=yt;exports.MAX_SCORE_LEVELS=tt;exports.MAX_SHOWN_KEYS=Vi;exports.MAX_TOPIC_CANDIDATES=Zo;exports.MAX_TOPIC_EXAMPLES=Jo;exports.MAX_TOPIC_EXAMPLE_CHARS=fe;exports.MAX_VIEWABLE_FILE_BYTES=zp;exports.MICROS_PER_CENT=pr;exports.MIN_MEMORY_BUDGET=Xc;exports.MIN_SCORE_LEVELS=et;exports.MODEL_TIERS=j;exports.NAV_NOTICE_SLOT=im;exports.NL_PAYMENT_TERMS=Yd;exports.NL_TAX_RATES=Zc;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=Mp;exports.OFF_TRACK_GAP=Xo;exports.ONBOARDING_SOURCE_PROVIDER_GROUP=tl;exports.PAUSE_HOLD=ve;exports.PAUSE_SNOOZED=Oe;exports.PAUSE_WAITING_FOR_CUSTOMER=Me;exports.PAYMENT_TERM_METHODS=Hd;exports.PHONE_REGIONS=Be;exports.PLAYBOOK_RUN_APPROVAL_ACT=Ll;exports.PLAYBOOK_RUN_SCOPE_KIND=_o;exports.PRESENCE_ONLINE_WINDOW_MS=zt;exports.PRESENCE_SURVIVES_OFFLINE=ki;exports.PRODUCT_SCOPE_KIND=li;exports.PROFILE_TOOL_DISPOSITIONS=rl;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=rp;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=np;exports.PUBLIC_EMAIL_DOMAINS=Xi;exports.READ_STEP_TYPES=lt;exports.RELATED_SUBJECT_KINDS=Zr;exports.REPORT_VIEW_LAYOUTS=Ks;exports.RESERVED_STATUS_KEYS=Wt;exports.RESERVED_TYPE_KEYS=tf;exports.RESOURCE_ATTACHED_SERVICE=Pp;exports.RESOURCE_DESCRIBE_SERVICE=Dp;exports.RESOURCE_RESOLVE_SERVICE=xp;exports.RESOURCE_SEARCH_SERVICE=Lp;exports.SCHEDULE_ENTRY_SCOPE_KIND=po;exports.SCHEDULE_EVENT=xo;exports.SCOPE_ACTS_ROUTE=Fp;exports.SCOPE_READ_ROUTE=Kp;exports.SCOPE_RELATED_ROUTE=Up;exports.SEGMENT_FILTER_KEYS=Za;exports.SEGMENT_LAYOUTS=tc;exports.SEGMENT_LIST_FILTERS=Ar;exports.SEGMENT_PRESENCE_FILTERS=br;exports.SEGMENT_SORT_FIELDS=ec;exports.SETTINGS_BASE_PATH=Z;exports.SETTINGS_CATEGORIES=om;exports.SIGNATURE_INTENTS=Ya;exports.SLA_METRICS=Du;exports.SLA_PAUSE_REASONS=Lu;exports.STATUS_NAMES=_d;exports.STEP_MAX_TOKENS_MAX=vo;exports.STEP_MAX_TOKENS_MIN=Mo;exports.STEP_TYPES=Xl;exports.STRATEGY_ITEM_SCOPE_KIND=Ho;exports.SUMMARY_MIN_LAST_CHARS=Lr;exports.SUMMARY_MIN_MESSAGES=Dr;exports.SYNC_RUN_MAX_ERRORS=qp;exports.SYNC_TARGET_PROVIDER_GROUP=Xp;exports.SYSTEM_ONE_NON_GOALS=ks;exports.SYSTEM_RESOLUTIONS=Yr;exports.TERMINAL_ASSIGNMENT_STATUSES=Zn;exports.TERMINAL_RUN_STATUSES=No;exports.TRANSACTION_KINDS=Ue;exports.TRANSACTION_SCOPE_KINDS=ci;exports.TRIGGER_VARS=Wl;exports.UNARY_OPS=mu;exports.UNKNOWN_KIND=no;exports.UNKNOWN_LEVEL_ORDER=Wo;exports.UNSUPPORTED=cp;exports.UNWORKED_RESOLUTIONS=wc;exports.USAGE_DIMENSIONS=Gn;exports.USAGE_DIMENSION_IDS=jn;exports.USAGE_RECORDS_ROUTE=Wa;exports.USAGE_SOURCE_PROVIDER_GROUP=Ha;exports.UnresolvedRefError=Ft;exports.WEBHOOK_EVENTS=fi;exports.WORKSTREAM_SCOPE_KIND=mo;exports.WORK_ACTIVITY_SCOPE_KIND=gi;exports.WORK_AREAS=nl;exports.WORK_COMMENT_ADDED=qd;exports.WORK_CYCLE_SYNC_KIND=af;exports.WORK_ITEM_ASSIGNED=Qd;exports.WORK_ITEM_SCOPE_KIND=pi;exports.WORK_ITEM_STATUS_CHANGED=Jd;exports.WORK_PROJECT_SCOPE_KIND=mi;exports.WORK_SORT_FIELDS=Of;exports.WORK_VIEW_FLAGS=If;exports.WORK_VIEW_LAYOUTS=Mf;exports.WORK_VIEW_LIST_FILTERS=Tf;exports.W_PRIORITY=Q;exports.acceptExampleCandidate=hd;exports.actingIdentityKey=yo;exports.activeWorkTypes=md;exports.activityIconOf=rs;exports.activityJoinUrl=ps;exports.activitySnippet=Pn;exports.activityTextParams=$n;exports.activityTimelineText=fs;exports.activityTimestamp=Kn;exports.activityTypeInfo=R;exports.actorKey=Dl;exports.addExampleCandidate=gd;exports.addWorkingMs=xe;exports.agePresenceEntry=Rp;exports.aggregateUsage=mr;exports.agreementHref=Ud;exports.agreementScopeKey=$d;exports.aiAttachmentKind=bi;exports.aiAttachmentRejection=Lf;exports.aiBudgetLimit=nt;exports.aiBudgetPeriodKey=Ps;exports.aiBudgetPeriodStart=Bn;exports.aiBudgetState=xs;exports.aiVendorAcceptsAttachment=Ls;exports.aiVendorDefaultModel=Ns;exports.aiVendorLabel=Rs;exports.aiVendorNeedsBaseUrl=Ds;exports.aiVendorsWith=ws;exports.allocate=ir;exports.appNameFromPath=qt;exports.applyApprovalDecision=Zs;exports.applyRounding=ld;exports.applySignature=za;exports.approvalRate=Co;exports.artifactBodyBytes=Qn;exports.artifactOutline=Jn;exports.artifactToMarkdown=Ot;exports.assignmentMismatch=Kl;exports.assignmentScopeKey=fa;exports.assignmentSubject=ga;exports.availabilityByPerson=ll;exports.belongsOnCalendar=ol;exports.belongsToEntity=_a;exports.billableTimeGroups=ad;exports.billedQuantity=yr;exports.bindParams=du;exports.bindValue=Te;exports.buildActivityPreview=gs;exports.buildChannelIntents=Yf;exports.buildShareKeys=aa;exports.buildWindow=Wi;exports.businessEntitySender=vr;exports.calendarDaysBetween=ro;exports.calendarOf=Pe;exports.canConvert=Id;exports.canNestUnder=Fc;exports.canParent=zu;exports.canTransition=Sd;exports.capabilityDefaultFlag=As;exports.capacityTotal=al;exports.capacityWeights=kl;exports.carriesText=cs;exports.categoryLabel=Gc;exports.categoryOf=Ei;exports.causedBy=Su;exports.channelKindForScheme=tp;exports.channelKindOf=os;exports.checkInOverdueMs=id;exports.clampStepMaxTokens=zl;exports.classifyMail=Ic;exports.cleanMessageMarkdown=Um;exports.cleanMessageText=$m;exports.codeQuery=La;exports.codedMessage=Qf;exports.compareAssistRank=Bf;exports.compareWorkTypes=Qo;exports.conditionHolds=Mr;exports.contactName=Ja;exports.copyFrom=ii;exports.countsAsPlanned=Y;exports.coverageByPerson=cl;exports.coverageFor=hl;exports.coversWorkstream=Lt;exports.crmActivityAt=cc;exports.cronMatches=Lo;exports.currentLines=Ia;exports.currentPeriod=jd;exports.cycleDayIndex=xt;exports.cycleOrder=Af;exports.cycleState=bf;exports.decideAssignmentState=ha;exports.decideCadence=rm;exports.decideEach=Xs;exports.decideIncomingCall=Hf;exports.decisionBand=Cs;exports.defaultLocaleOf=Jr;exports.defaultStatusKey=gf;exports.defaultTemplateBlocks=ai;exports.defineIntent=ip;exports.delegationRefusal=ya;exports.depthOf=Xr;exports.derivePresence=kp;exports.describeClause=Vs;exports.describeExpression=yu;exports.digitsOf=gr;exports.disabledIntentsFromCapabilities=Wf;exports.documentBodyBytes=Qn;exports.documentKindOf=Tp;exports.documentOutline=Jn;exports.documentToMarkdown=Ot;exports.documentToText=_p;exports.driftedFields=$o;exports.dueAtOf=Gu;exports.dueCharges=Ca;exports.dueDateFrom=Wd;exports.elapsedSeconds=cd;exports.emailDomain=fm;exports.emptyConditionLeaf=gu;exports.endpointKey=hm;exports.entityOwnerIds=Sa;exports.erlangC=io;exports.extractParams=Di;exports.extractTerms=ji;exports.failureLines=gc;exports.fieldVarPath=Ou;exports.fillDocument=pc;exports.fillText=Or;exports.filterByEndpoint=Xf;exports.filterByIntent=zf;exports.filterByTargetScheme=vi;exports.filterableDimensions=Ws;exports.findAiVendor=ee;exports.findEvent=Mu;exports.fixedLevelForName=qu;exports.fixedTypeForName=of;exports.fixedTypes=sf;exports.flattenLocales=Op;exports.floorToPeriod=V;exports.forecastIntervals=Ol;exports.formatActingIdentity=ho;exports.formatCents=P;exports.formatClock=dd;exports.formatHm=ud;exports.formatItemKey=lf;exports.formatMicros=Ka;exports.formatPeriod=W;exports.formatSeriesNumber=Gd;exports.formatSlaDuration=Wu;exports.freshSources=$f;exports.getActivitySeenUserIds=Es;exports.getContactEndpoints=Xa;exports.getShortTitle=Nc;exports.getUrgencyScore=Rc;exports.hasReacted=au;exports.healthCategory=Qu;exports.healthsInCategory=Ju;exports.heightOf=Dt;exports.helpCenterText=Pc;exports.humanizeAction=jl;exports.interactionIdOf=Oo;exports.isAgentUser=zd;exports.isAssigned=Cc;exports.isAssignmentTerminal=da;exports.isAssignmentTrigger=Ao;exports.isAssistantMode=$s;exports.isAuthoredCrmActivity=ac;exports.isAutoReady=eu;exports.isAutonomy=Fl;exports.isAwaitingThem=Vr;exports.isChatMessageActivity=Ss;exports.isClosed=kc;exports.isConnectedType=us;exports.isDeepLink=Bp;exports.isDescendant=qr;exports.isEligible=yc;exports.isEmailActivity=_s;exports.isFrozen=oi;exports.isHeldClock=Bu;exports.isHtmlBody=Pm;exports.isInFlight=nu;exports.isInteractionUnseen=Pr;exports.isLandingPath=jp;exports.isLikelyBulk=wr;exports.isMessageShape=At;exports.isMessageType=is;exports.isMoreSpecificPattern=xi;exports.isNoteShape=bt;exports.isOpenClock=jo;exports.isOutwardTool=Vt;exports.isParked=Br;exports.isPaused=wo;exports.isPlaybookAuthoredType=ls;exports.isPublicEmailDomain=mm;exports.isPublicPath=Vp;exports.isReminderActive=Gr;exports.isReplyableType=as;exports.isSettingsPath=Ni;exports.isShorter=Ta;exports.isSlaAtRisk=Mc;exports.isSupportedCron=_u;exports.isTerminal=tu;exports.isThreadLongEnough=Sc;exports.isTranscriptType=ds;exports.isWebhookEvent=Xd;exports.isWorkClosed=hf;exports.isWorkTypeVisible=pd;exports.isWriteTool=Qt;exports.itemDossierKeys=ff;exports.judgeRuleCase=Au;exports.kindFor=L;exports.ladderFor=yi;exports.levelIn=Yo;exports.levelOrder=ke;exports.lineNet=to;exports.lineStatus=or;exports.lineTerm=Ct;exports.linkLabel=xc;exports.listedTransactionKinds=Ed;exports.listeningAllowed=Us;exports.localeInstruction=Kc;exports.localeName=Uc;exports.localesOf=Bc;exports.looksLikeEmail=um;exports.lookup=Nt;exports.marginCents=va;exports.markdownToDocument=Ep;exports.matchApprovalPolicy=Qs;exports.matchContactToIntents=qf;exports.matchPublicRoute=Pi;exports.matchRate=hr;exports.matchRules=Po;exports.mcpCredentialScope=Wc;exports.mcpToolPrefix=Vc;exports.measureRatio=ed;exports.mergeDefaultFlags=Ts;exports.mergeShownKeys=nm;exports.messageCountsAs=xn;exports.metricOption=Ys;exports.minutesOn=Pt;exports.missingFieldPaths=vu;exports.modelAcceptsAttachment=Os;exports.mustAsk=$i;exports.narrowAutonomy=Gl;exports.needsPhoneRegion=gm;exports.nestsUnderParent=ss;exports.nextLevelBelow=Xu;exports.nextOccurrenceDates=kf;exports.nextSlaClock=ju;exports.nextStatuses=ri;exports.nextVersion=Od;exports.normalizeArtifactBlocks=qn;exports.normalizeBlocks=es;exports.normalizeDocumentBlocks=qn;exports.normalizeEmail=Jt;exports.normalizeExample=K;exports.normalizeGtin=lr;exports.normalizeMeter=_r;exports.normalizeUsageSource=Va;exports.notificationPrefKey=vp;exports.novelty=Hi;exports.operationDescriptor=hp;exports.operationsForKind=gp;exports.opsForFieldType=Iu;exports.organizationSender=mc;exports.outcomeOf=Sf;exports.overlap=kt;exports.overlapSeconds=ue;exports.overlaps=gl;exports.paceRatio=td;exports.parkMarksById=Ec;exports.parse=Do;exports.parseActingIdentity=Nl;exports.parseAmount=Oa;exports.parseClockMinutes=Nu;exports.parseCodedMessage=Zf;exports.parseCron=Bt;exports.parseItemKey=uf;exports.parseMicros=Rt;exports.parseRateCsv=Fa;exports.parseRatePrice=ct;exports.parseRecurrence=Cf;exports.pathToRegex=wi;exports.patternFor=Ut;exports.patternStartTime=$t;exports.pauseBitFor=wu;exports.pendingApprovers=Js;exports.periodAt=st;exports.periodShare=rr;exports.periodsInRange=js;exports.phoneSuffix=dm;exports.pickMailHeaders=Ac;exports.pickTemplate=uc;exports.placeLumps=Rl;exports.plainTextFromMarkdown=Dn;exports.planSlaEvent=Fu;exports.plannedBillable=yl;exports.plannedWorkTypeKey=uo;exports.procedureOf=Jl;exports.productHref=Pd;exports.productScopeKey=Ld;exports.projectDossierKeys=pf;exports.proposalRequestIds=qs;exports.publicBasePathFor=Li;exports.publicRoutePatterns=Wp;exports.quantityKey=wa;exports.rateRecords=Ga;exports.reactionWakesAssignment=ma;exports.readDefaultFlags=bs;exports.readPath=ge;exports.readStepError=le;exports.recencyOf=Fr;exports.recipientLocale=lc;exports.refKey=To;exports.registrableDomain=zi;exports.rejectExampleCandidate=ti;exports.relatedByDefault=Jc;exports.remainingMsOf=Ce;exports.repriceLines=Ua;exports.requiredAgents=co;exports.requirementFor=lo;exports.resolutionsFor=Lc;exports.resolveAccountCapabilities=Mi;exports.resolveActivityText=he;exports.resolveAutonomy=Bl;exports.resolveChannelIntents=Oi;exports.resolvePrice=dr;exports.resolveRateCard=Pa;exports.resolveRoute=Ms;exports.resolveSignature=Sr;exports.resolveTier=Fn;exports.resolveWorkMode=Np;exports.resourceKindOf=$p;exports.rhythmOf=sr;exports.rollupChildren=od;exports.roundHalfUp=N;exports.runActor=wl;exports.runApprovalKey=xl;exports.runEvalSuite=hc;exports.runIdOfApprovalRef=Pl;exports.runInteractionId=ou;exports.runKind=Zl;exports.runOutcome=Tu;exports.runSpans=Ra;exports.sanitizeInline=Xn;exports.sanitizeTranscript=Ui;exports.scheduleEntryScopeKey=Ml;exports.scoreInteraction=vc;exports.scoreWorkItem=ef;exports.segmentIsEmpty=nc;exports.selectLenses=Hc;exports.serialize=de;exports.serviceLevel=so;exports.sessionsHoldCannotReach=jf;exports.sessionsToHold=Gf;exports.settingsPath=Gp;exports.shadowByKey=Aa;exports.shareKeyForTeam=vt;exports.shareKeyForUser=Mt;exports.shareKeysForViewer=ca;exports.shortfalls=El;exports.shouldRunAudioPipeline=wp;exports.slaBadgeTone=Hu;exports.slaHoursByInbox=Oc;exports.slaHoursFor=Wr;exports.sortStatuses=_i;exports.sourceKey=Ii;exports.spreadOverWeights=go;exports.statusIn=mf;exports.statusRequiresApproval=_f;exports.stepDate=Ai;exports.stepsOf=Ql;exports.strategyAncestorKeysFor=Yu;exports.strategyDossierKeys=Vu;exports.strategyItemScopeKey=Gt;exports.stripHtml=Ln;exports.subjectKeyOf=ru;exports.subjectOf=Kt;exports.subjectRef=Ff;exports.suggestProjectKey=df;exports.suggestedHealth=nd;exports.summariseEval=Cr;exports.summarizeReactions=iu;exports.targetById=Ul;exports.targetForActivityType=$l;exports.targetOrder=sd;exports.taxRateFor=eo;exports.termsFor=oo;exports.tieredMicros=Er;exports.timingOf=ar;exports.toActingIdentity=Eo;exports.toE164=St;exports.toTransactionTerm=Vd;exports.toolBareName=bo;exports.toolDisplayName=Hl;exports.toolReversible=Pf;exports.toolSourceKinds=la;exports.toolVerdict=Jp;exports.topicOfferedForTeam=ni;exports.topicsForTeam=yd;exports.trafficIntensity=ao;exports.transactionContext=Md;exports.transactionDossierKeys=Fd;exports.transactionHref=xd;exports.transactionIdFromScope=Kd;exports.transactionKind=w;exports.transactionScopeKey=di;exports.transactionSlots=vd;exports.transactionTotals=el;exports.triggerFillsVar=Vl;exports.truncateExample=ei;exports.typeIn=rf;exports.typesFor=nf;exports.uniqueWorkStatusKey=yf;exports.uniqueWorkTypeKey=fd;exports.usageAccountOf=cr;exports.usageAccountsOf=Na;exports.usageMetricId=Hn;exports.usageMetrics=zs;exports.validateQuestions=vs;exports.validateStatuses=Ef;exports.valueAtPath=So;exports.waitHoursOf=De;exports.wakesAssignment=pa;exports.workActivityScopeKey=cf;exports.workItemScopeKey=hi;exports.workProjectScopeKey=Ht;exports.workRatio=rd;exports.workStatusKey=Si;exports.workTypeKey=qo;exports.workingMsBetween=Ie;exports.workstreamScopeKey=vl;
|
|
50
|
+
`).trim()}const Gi=/<\s*(html|body|div|p|table|br|span)\b/i;function Qh(e){return Gi.test(e)}function ey(e){return Vi(e,!1)}function ty(e){return Vi(e,!0)}function Vi(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const i of xh){const a=e.search(i);a>=0&&a<n&&(n=a)}const r=e.slice(0,n);let o=ir(sr(rr(r,t)));return o||(o=ir(sr(rr(e,t)))),Ph(o)||o}exports.ACTIVE_ASSIGNMENT_STATUSES=mc;exports.ACTIVITY_CATALOG=U;exports.AGING_BUCKETS=ri;exports.AGREEMENT_SCOPE_KIND=ei;exports.AI_ATTACHMENT_LIMITS=hi;exports.AI_ATTACHMENT_MAX_PER_TURN=Wm;exports.AI_ATTACHMENT_TURN_BUDGET=Vm;exports.AI_CAPABILITIES=Fe;exports.AI_TOOL_PROVIDER_GROUP=zm;exports.AI_VENDORS=Ut;exports.ALLOWED_LINK_SCHEMES=kr;exports.APP_PERMISSIONS=Wg;exports.ARTICLE_SCOPE_KIND=ol;exports.ARTIFACT_MAX_BLOCKS=Ce;exports.ARTIFACT_MAX_BODY_BYTES=Or;exports.ARTIFACT_MAX_CELL_LEN=z;exports.ARTIFACT_MAX_KPI_ITEMS=Me;exports.ARTIFACT_MAX_LIST_ITEMS=ve;exports.ARTIFACT_MAX_TABLE_COLUMNS=ke;exports.ARTIFACT_MAX_TABLE_ROWS=Oe;exports.ARTIFACT_MAX_TEXT_LEN=je;exports.ASSIGNMENT_SCOPE_KIND=xr;exports.ASSIST_BANDS=Zm;exports.ASSIST_SOURCE_PROVIDER_GROUP=qm;exports.ATTENTION_STATUSES=So;exports.AT_RISK_GAP=$s;exports.AUTH_APP_NAME=bn;exports.AUTO_READY_MIN_PROPOSALS=ys;exports.AUTO_READY_RATE=bs;exports.ActivityTypeRegistry=fr;exports.BOOKABLE_KINDS=Hs;exports.BOOKABLE_ROUTES=ng;exports.BOOKABLE_SOURCE_PROVIDER_GROUP=eg;exports.BOOKKEEPING_PROVIDER_GROUP=tg;exports.BOOKKEEPING_ROUTES=rg;exports.BUILT_IN_ONLY=la;exports.BULK_PENALTY=Io;exports.BUSINESS_ENTITY_LIST_SERVICE=Uc;exports.CADENCE_FLOOR_MS=wi;exports.CADENCE_MIN_NEW_SEGMENTS=xi;exports.CADENCE_MIN_NOVELTY=Li;exports.CADENCE_WINDOW_MS=Di;exports.CLASSIFY_VARS=Fd;exports.CLEARABLE_FIELDS=Ip;exports.COMPANY_RECEIVABLES_SERVICE=sm;exports.CONNECTOR_PROVIDER_GROUP=vg;exports.CONTEXT_COLLECT_SERVICE=Og;exports.CORE_DIMENSIONS=Va;exports.CRM_ACTIVITY_SCOPE_KIND=hu;exports.CRM_CALL_CHANNELS=bu;exports.CRM_CALL_LOGGED=so;exports.CRM_CALL_OUTCOMES=Eu;exports.CRM_NOTE_ADDED=oo;exports.CRM_STAGE_CHANGED=yu;exports.CUSTOM_RESOLUTION_PREFIX=el;exports.CommunicationScheme=Ai;exports.DAY_MS=go;exports.DEFAULT_CHECK_IN_DAYS=Ls;exports.DEFAULT_DUNNING_POLICY=xp;exports.DEFAULT_FORECAST_WEEKS=es;exports.DEFAULT_MEMORY_BUDGET=jl;exports.DEFAULT_NUMBER_PADDING=Vp;exports.DEFAULT_PHONE_REGION=Bi;exports.DEFAULT_QUOTE_TEMPLATE_BLOCKS=wp;exports.DEFAULT_TEMPLATE_CONDITIONS=Np;exports.DEMAND_SOURCE_PROVIDER_GROUP=od;exports.DOCUMENT_APPLY_SERVICE=Ug;exports.DOCUMENT_DESCRIBE_SERVICE=$g;exports.DOCUMENT_INSPECT_SERVICE=Kg;exports.DOCUMENT_MAX_BLOCKS=Ce;exports.DOCUMENT_MAX_BODY_BYTES=Or;exports.DOCUMENT_MAX_CELL_LEN=z;exports.DOCUMENT_MAX_KPI_ITEMS=Me;exports.DOCUMENT_MAX_LETTERHEAD_FIELDS=Et;exports.DOCUMENT_MAX_LIST_ITEMS=ve;exports.DOCUMENT_MAX_RECIPIENT_LINES=vr;exports.DOCUMENT_MAX_TABLE_COLUMNS=ke;exports.DOCUMENT_MAX_TABLE_ROWS=Oe;exports.DOCUMENT_MAX_TEXT_LEN=je;exports.DOCUMENT_MAX_TOTALS_ROWS=_t;exports.DOCUMENT_OPERATIONS=hn;exports.DRAFT_FIELDS=Sp;exports.DUTCH_SLOT_LABELS=Xs;exports.EMPTY_WORKFLOW=Vd;exports.ENABLED_TRANSACTION_KINDS=un;exports.EXCESSIVE_LENDING_THRESHOLD_CENTS=lo;exports.FEATURE_MESSAGE_REACTIONS=Tg;exports.FEATURE_REMOTE_SEARCH=Ig;exports.FIXED_KINDS=We;exports.FIXED_LEVELS=le;exports.FIXED_TYPES=qe;exports.FIXED_UNITS=eu;exports.FOLLOW_UP_HOURS=To;exports.FROZEN_WRITABLE_FIELDS=_p;exports.HOUR_MS=mo;exports.HTML_BODY_RE=Gi;exports.INELIGIBLE=G;exports.INSTALLATION_HEADER=Fg;exports.INTERACTION_KIND=fs;exports.InteractionParticipantRole=Ag;exports.KB_FALLBACK_LOCALE=Po;exports.KB_LOCALES=De;exports.LEAD_STATUSES=lu;exports.LEDGER_TEMPLATES=kl;exports.LEGAL_FORMS=Bc;exports.LIFECYCLE_STAGES=uu;exports.LOCALES=De;exports.LOOSE_STATUSES=Ze;exports.MAIL_HINT_HEADERS=_o;exports.MANUAL_PRICE_SOURCE=Hr;exports.MAX_ACTIONS=he;exports.MAX_ASSIGNMENT_TURNS=Lr;exports.MAX_BLOCKS=lt;exports.MAX_CHOICE_OPTIONS=gt;exports.MAX_COLLECTION_DEPTH=Xt;exports.MAX_DELEGATION_DEPTH=Pr;exports.MAX_EDITABLE_FILE_BYTES=lh;exports.MAX_FIELDS=me;exports.MAX_LIST_ITEMS=ge;exports.MAX_MEMORY_BROWSE=Kl;exports.MAX_MEMORY_BUDGET=Fl;exports.MAX_MEMORY_CHARS=Ul;exports.MAX_RULE_DEPTH=Nt;exports.MAX_SCORE_LEVELS=yt;exports.MAX_SHOWN_KEYS=Ui;exports.MAX_TOPIC_CANDIDATES=js;exports.MAX_TOPIC_EXAMPLES=Fs;exports.MAX_TOPIC_EXAMPLE_CHARS=_e;exports.MAX_VIEWABLE_FILE_BYTES=dh;exports.MICROS_PER_CENT=zr;exports.MIN_MEMORY_BUDGET=Bl;exports.MIN_SCORE_LEVELS=ht;exports.MODEL_TIERS=Y;exports.NAV_NOTICE_SLOT=Sh;exports.NL_BV_TEMPLATE=Uo;exports.NL_PAYMENT_TERMS=qp;exports.NL_TAX_CODES=Wl;exports.NL_TAX_RATES=Vl;exports.NL_VAT_BOXES=As;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=Gg;exports.OFF_TRACK_GAP=Ks;exports.ONBOARDING_SOURCE_PROVIDER_GROUP=Xl;exports.PAUSE_HOLD=$e;exports.PAUSE_SNOOZED=Le;exports.PAUSE_WAITING_FOR_CUSTOMER=Pe;exports.PAYMENT_TERM_METHODS=zp;exports.PHONE_REGIONS=Je;exports.PLAYBOOK_RUN_APPROVAL_ACT=kd;exports.PLAYBOOK_RUN_SCOPE_KIND=as;exports.PRESENCE_ONLINE_WINDOW_MS=yn;exports.PRESENCE_SURVIVES_OFFLINE=Si;exports.PRODUCT_SCOPE_KIND=Qs;exports.PROFILE_TOOL_DISPOSITIONS=Zl;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=_g;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=Eg;exports.PUBLIC_EMAIL_DOMAINS=ji;exports.READ_STEP_TYPES=It;exports.RECEIPT_BOOK_ACT=Dc;exports.RECEIPT_SCOPE_KIND=Nc;exports.RELATED_SUBJECT_KINDS=jo;exports.REPORT_VIEW_LAYOUTS=Ga;exports.RESERVED_STATUS_KEYS=mn;exports.RESERVED_TYPE_KEYS=mm;exports.RESOURCE_ATTACHED_SERVICE=Qg;exports.RESOURCE_DESCRIBE_SERVICE=qg;exports.RESOURCE_RESOLVE_SERVICE=Jg;exports.RESOURCE_SEARCH_SERVICE=Zg;exports.SCHEDULE_ENTRY_SCOPE_KIND=ts;exports.SCHEDULE_EVENT=Ts;exports.SCOPE_ACTS_ROUTE=rh;exports.SCOPE_READ_ROUTE=nh;exports.SCOPE_RELATED_ROUTE=th;exports.SEGMENT_FILTER_KEYS=fu;exports.SEGMENT_LAYOUTS=mu;exports.SEGMENT_LIST_FILTERS=no;exports.SEGMENT_PRESENCE_FILTERS=ro;exports.SEGMENT_SORT_FIELDS=pu;exports.SENDING_STALE_MS=$c;exports.SETTINGS_BASE_PATH=ie;exports.SETTINGS_CATEGORIES=Ah;exports.SIGNATURE_INTENTS=ou;exports.SLA_METRICS=Rf;exports.SLA_PAUSE_REASONS=Nf;exports.STATUS_NAMES=bp;exports.STEP_MAX_TOKENS_MAX=gs;exports.STEP_MAX_TOKENS_MIN=ms;exports.STEP_TYPES=Gd;exports.STRATEGY_ITEM_SCOPE_KIND=ws;exports.SUMMARY_MIN_LAST_CHARS=Eo;exports.SUMMARY_MIN_MESSAGES=bo;exports.SYNC_RUN_MAX_ERRORS=ph;exports.SYNC_TARGET_PROVIDER_GROUP=fh;exports.SYSTEM_ONE_NON_GOALS=wa;exports.SYSTEM_RESOLUTIONS=Do;exports.TERMINAL_ASSIGNMENT_STATUSES=wr;exports.TERMINAL_RUN_STATUSES=Es;exports.TRANSACTION_KINDS=Xe;exports.TRANSACTION_SCOPE_KINDS=Js;exports.TRIGGER_VARS=Ud;exports.UNARY_OPS=df;exports.UNKNOWN_KIND=Wo;exports.UNKNOWN_LEVEL_ORDER=xs;exports.UNSUPPORTED=Cg;exports.UNWORKED_RESOLUTIONS=Qu;exports.USAGE_DIMENSIONS=Sr;exports.USAGE_DIMENSION_IDS=Ir;exports.USAGE_RECORDS_ROUTE=nu;exports.USAGE_SOURCE_PROVIDER_GROUP=tu;exports.UnresolvedRefError=sn;exports.WEBHOOK_EVENTS=si;exports.WORKSTREAM_SCOPE_KIND=ns;exports.WORK_ACTIVITY_SCOPE_KIND=ci;exports.WORK_AREAS=ql;exports.WORK_COMMENT_ADDED=um;exports.WORK_CYCLE_SYNC_KIND=Em;exports.WORK_ITEM_ASSIGNED=lm;exports.WORK_ITEM_SCOPE_KIND=ii;exports.WORK_ITEM_STATUS_CHANGED=dm;exports.WORK_PROJECT_SCOPE_KIND=ai;exports.WORK_SORT_FIELDS=$m;exports.WORK_VIEW_FLAGS=Pm;exports.WORK_VIEW_LAYOUTS=Km;exports.WORK_VIEW_LIST_FILTERS=Lm;exports.W_PRIORITY=oe;exports.XAF_NAMESPACE=Bo;exports.acceptExampleCandidate=pp;exports.accountTotals=ll;exports.accountTypeOf=wl;exports.accrualPostings=Lu;exports.actingIdentityKey=ss;exports.activeWorkTypes=dp;exports.activityIconOf=qi;exports.activityJoinUrl=ia;exports.activitySnippet=lr;exports.activityTextParams=dr;exports.activityTimelineText=sa;exports.activityTimestamp=pr;exports.activityTypeInfo=w;exports.actorKey=Od;exports.addExampleCandidate=fp;exports.addMonths=ee;exports.addWorkingMs=He;exports.agePresenceEntry=zg;exports.aggregateUsage=Yr;exports.agingBucketOf=oi;exports.agingOf=om;exports.agreementHref=Fp;exports.agreementScopeKey=Bp;exports.aiAttachmentKind=gi;exports.aiAttachmentRejection=Hm;exports.aiBudgetLimit=bt;exports.aiBudgetPeriodKey=Ba;exports.aiBudgetPeriodStart=Ar;exports.aiBudgetState=Ua;exports.aiVendorAcceptsAttachment=Ka;exports.aiVendorDefaultModel=La;exports.aiVendorLabel=xa;exports.aiVendorNeedsBaseUrl=$a;exports.aiVendorsWith=Pa;exports.allocate=hr;exports.appNameFromPath=En;exports.applyApprovalDecision=rc;exports.applyRounding=ip;exports.applySignature=su;exports.approvalRate=hs;exports.artifactBodyBytes=Nr;exports.artifactOutline=Dr;exports.artifactToMarkdown=Ft;exports.assignmentMismatch=wd;exports.assignmentScopeKey=hc;exports.assignmentSubject=Ec;exports.availabilityByPerson=rd;exports.awaitsNumber=Ap;exports.balanceSheet=ml;exports.belongsOnCalendar=Jl;exports.belongsToEntity=Fc;exports.billableTimeGroups=op;exports.billedQuantity=Zr;exports.bindParams=cf;exports.bindValue=we;exports.bookingDocumentOf=hp;exports.bookingDocumentOfReceipt=xc;exports.bookingSyncKey=Lc;exports.buildActivityPreview=ca;exports.buildChannelIntents=lg;exports.buildShareKeys=dc;exports.buildWindow=Ki;exports.businessEntitySender=co;exports.calendarDaysBetween=Ho;exports.calendarOf=ze;exports.canConvert=Tp;exports.canNestUnder=al;exports.canParent=Wf;exports.canTransition=Ep;exports.canonicalJson=St;exports.capabilityDefaultFlag=Ca;exports.capacityTotal=td;exports.capacityWeights=Id;exports.carriesText=ta;exports.cashForecast=hl;exports.categoryLabel=ul;exports.categoryOf=di;exports.causedBy=yf;exports.channelKindForScheme=bg;exports.channelKindOf=Zi;exports.checkInOverdueMs=np;exports.clampStepMaxTokens=jd;exports.classifyMail=Wu;exports.cleanMessageMarkdown=ty;exports.cleanMessageText=ey;exports.codeQuery=Wc;exports.codedMessage=mg;exports.columnBalance=gl;exports.companyReceivablesOf=im;exports.compareAssistRank=Qm;exports.compareWorkTypes=Bs;exports.conditionHolds=ao;exports.contactName=du;exports.copyFrom=Ys;exports.correlationKeyFor=og;exports.countsAsPlanned=Q;exports.coverageByPerson=nd;exports.coverageFor=ld;exports.coversWorkstream=Qt;exports.crmActivityAt=Au;exports.cronMatches=Is;exports.currentLines=ha;exports.currentPeriod=Hp;exports.cycleDayIndex=en;exports.cycleOrder=wm;exports.cycleState=xm;exports.decideAssignmentState=_c;exports.decideCadence=_h;exports.decideEach=Qa;exports.decideIncomingCall=ag;exports.decisionBand=Da;exports.defaultLocaleOf=$o;exports.defaultStatusKey=Om;exports.defaultTemplateBlocks=qs;exports.defineIntent=Sg;exports.delegationRefusal=Ac;exports.depreciationPostings=xu;exports.depthOf=xo;exports.derivePresence=Hg;exports.describeClause=qa;exports.describeExpression=mf;exports.digitsOf=Xr;exports.disabledIntentsFromCapabilities=cg;exports.documentBodyBytes=Nr;exports.documentKindOf=Bg;exports.documentOutline=Dr;exports.documentToMarkdown=Ft;exports.documentToText=Pg;exports.driftedFields=vs;exports.dueAtOf=Uf;exports.dueCharges=_a;exports.dueDateFrom=Yp;exports.dunningRunOf=Pp;exports.dunningStateOf=Zs;exports.elapsedSeconds=sp;exports.emailDomain=Mh;exports.emptyConditionLeaf=ff;exports.endpointKey=wh;exports.entityOwnerIds=jc;exports.entryLinesOf=Tl;exports.entryNumber=El;exports.entryProblems=bl;exports.erlangC=Yo;exports.excessiveLending=Du;exports.extractParams=vi;exports.extractTerms=Pi;exports.failureLines=ku;exports.fieldVarPath=Sf;exports.fillDocument=vu;exports.fillText=io;exports.filterByEndpoint=fg;exports.filterByIntent=dg;exports.filterByTargetScheme=_i;exports.filterableDimensions=Xa;exports.findAiVendor=ae;exports.findEvent=If;exports.fixedLevelForName=zf;exports.fixedTypeForName=ym;exports.fixedTypes=bm;exports.flattenLocales=jg;exports.floorToPeriod=J;exports.forecastIntervals=Ed;exports.formatActingIdentity=os;exports.formatCents=B;exports.formatClock=cp;exports.formatHm=ap;exports.formatItemKey=Am;exports.formatMicros=qc;exports.formatPeriod=Z;exports.formatSeriesNumber=Wp;exports.formatSlaDuration=jf;exports.freshSources=Xm;exports.getActivitySeenUserIds=da;exports.getContactEndpoints=cu;exports.getShortTitle=Ju;exports.getUrgencyScore=Zu;exports.hasReacted=tf;exports.hashedPartOf=Al;exports.healthCategory=Yf;exports.healthsInCategory=Xf;exports.heightOf=qt;exports.helpCenterText=rl;exports.humanizeAction=$d;exports.interactionIdOf=ps;exports.interestOnDailyBalance=Ru;exports.interestPeriods=Nu;exports.isAgentUser=am;exports.isAssigned=Xu;exports.isAssignmentTerminal=gc;exports.isAssignmentTrigger=us;exports.isAssistantMode=Fa;exports.isAuthoredCrmActivity=_u;exports.isAutoReady=Yd;exports.isAutonomy=xd;exports.isAwaitingThem=No;exports.isBookable=gp;exports.isChatMessageActivity=pa;exports.isClosed=qu;exports.isConnectedType=ra;exports.isDeepLink=oh;exports.isDescendant=Lo;exports.isEligible=Ku;exports.isEmailActivity=fa;exports.isFrozen=ln;exports.isHeldClock=Kf;exports.isHtmlBody=Qh;exports.isInFlight=qd;exports.isInteractionUnseen=Ao;exports.isLandingPath=ih;exports.isLikelyBulk=yo;exports.isMessageShape=Lt;exports.isMessageType=Ji;exports.isMoreSpecificPattern=ki;exports.isNoteShape=Pt;exports.isOpenClock=Ds;exports.isOutstanding=fn;exports.isOutwardTool=gn;exports.isOverdueOn=Zp;exports.isParked=vo;exports.isPaused=_s;exports.isPlaybookAuthoredType=na;exports.isPublicEmailDomain=Nh;exports.isPublicPath=uh;exports.isReminderActive=Oo;exports.isReplyableType=ea;exports.isResultAccount=ce;exports.isSettingsPath=Ti;exports.isSettled=ni;exports.isShorter=ga;exports.isSlaAtRisk=zu;exports.isSupportedCron=hf;exports.isTerminal=Xd;exports.isThreadLongEnough=Fu;exports.isTranscriptType=oa;exports.isWebhookEvent=cm;exports.isWorkClosed=km;exports.isWorkTypeVisible=lp;exports.isWriteTool=_n;exports.itemDossierKeys=Tm;exports.itemKeyOf=Rc;exports.judgeRuleCase=bf;exports.kindFor=K;exports.ladderFor=li;exports.ledgerRuleFor=Kc;exports.levelIn=Ps;exports.levelOrder=Ue;exports.lineNet=Vo;exports.lineStatus=gr;exports.lineTerm=$t;exports.linkLabel=nl;exports.listedTransactionKinds=yp;exports.listeningAllowed=ja;exports.loanPostings=wu;exports.loanSchedule=zt;exports.localeInstruction=il;exports.localeName=sl;exports.localesOf=cl;exports.looksLikeEmail=Oh;exports.lookup=Wt;exports.manualSettlement=em;exports.marginCents=Ea;exports.markdownToDocument=Lg;exports.matchApprovalPolicy=tc;exports.matchContactToIntents=pg;exports.matchPublicRoute=Mi;exports.matchRate=qr;exports.matchRules=Cs;exports.mcpCredentialScope=Pl;exports.mcpToolPrefix=$l;exports.measureRatio=Zf;exports.mergeDefaultFlags=Oa;exports.mergeShownKeys=Eh;exports.messageCountsAs=ur;exports.metricOption=Za;exports.minutesOn=tn;exports.missingFieldPaths=Tf;exports.modelAcceptsAttachment=Ma;exports.monthEnd=fo;exports.monthlyPeriods=vl;exports.mustAsk=Ri;exports.narrowAutonomy=Pd;exports.needsPhoneRegion=Dh;exports.nestsUnderParent=Qi;exports.nextLevelBelow=Hf;exports.nextOccurrenceDates=Fm;exports.nextSlaClock=Bf;exports.nextStatuses=zs;exports.nextVersion=Cp;exports.normalizeArtifactBlocks=Rr;exports.normalizeBlocks=zi;exports.normalizeDocumentBlocks=Rr;exports.normalizeEmail=An;exports.normalizeExample=V;exports.normalizeGtin=Gr;exports.normalizeIban=to;exports.normalizeIbans=au;exports.normalizeMeter=Qr;exports.normalizeUsageSource=ru;exports.normalizeVatNumber=iu;exports.notificationPrefKey=Vg;exports.novelty=$i;exports.openCentsOf=Ic;exports.operationDescriptor=wg;exports.operationsForKind=Dg;exports.opsForFieldType=Af;exports.organizationSender=Ou;exports.outcomeOf=Dm;exports.overlap=Kt;exports.overlapSeconds=be;exports.overlaps=ud;exports.paceRatio=Jf;exports.parkMarksById=Uu;exports.parse=Ss;exports.parseActingIdentity=Cd;exports.parseAmount=ya;exports.parseCamt053=Kr;exports.parseClockMinutes=kf;exports.parseCodedMessage=hg;exports.parseCron=an;exports.parseItemKey=Sm;exports.parseMicros=Vt;exports.parseMt940=Br;exports.parseRateCsv=Zc;exports.parseRatePrice=At;exports.parseRecurrence=Bm;exports.parseStatement=Mc;exports.parseXafOpening=Dl;exports.pathToRegex=Ci;exports.patternFor=rn;exports.patternStartTime=nn;exports.pauseBitFor=Mf;exports.paymentOfItem=Cc;exports.paymentStateOf=dn;exports.pendingApprovers=nc;exports.periodAt=ft;exports.periodOf=Ol;exports.periodShare=mr;exports.periodsInRange=za;exports.phoneSuffix=kh;exports.pickMailHeaders=ju;exports.pickTemplate=Iu;exports.placeLumps=Td;exports.plainTextFromMarkdown=ar;exports.planSlaEvent=$f;exports.plannedBillable=dd;exports.plannedWorkTypeKey=Qo;exports.procedureOf=Hd;exports.productHref=Up;exports.productScopeKey=$p;exports.profitAndLoss=pl;exports.projectDossierKeys=Cm;exports.proposalRequestIds=ec;exports.proposeMatch=Sc;exports.publicBasePathFor=Oi;exports.publicRoutePatterns=ch;exports.quantityKey=Ta;exports.rateRecords=Qc;exports.reactionWakesAssignment=bc;exports.readDefaultFlags=va;exports.readPath=Ie;exports.readStepError=ye;exports.receiptGroupOf=wc;exports.receiptProblems=jr;exports.receiptTotals=Fr;exports.receivableRowOf=rm;exports.recencyOf=Co;exports.recipientLocale=Su;exports.reconciliationBalances=Tc;exports.refKey=ds;exports.registrableDomain=Fi;exports.rejectExampleCandidate=Vs;exports.relatedByDefault=Gl;exports.remainingMsOf=Ke;exports.repriceLines=Xc;exports.requiredAgents=Zo;exports.requirementFor=Jo;exports.resolutionsFor=tl;exports.resolveAccountCapabilities=Ei;exports.resolveActivityText=Te;exports.resolveAutonomy=Ld;exports.resolveChannelIntents=bi;exports.resolvePrice=Wr;exports.resolveRateCard=zc;exports.resolveRoute=Ra;exports.resolveSignature=eo;exports.resolveTier=_r;exports.resolveWorkMode=Yg;exports.resourceKindOf=eh;exports.retryDelayMinutes=Pc;exports.reversedLines=Sl;exports.rhythmOf=yr;exports.rollupChildren=tp;exports.roundHalfUp=L;exports.runActor=vd;exports.runApprovalKey=Md;exports.runEvalSuite=Mu;exports.runIdOfApprovalRef=Rd;exports.runInteractionId=Jd;exports.runKind=zd;exports.runOutcome=_f;exports.runSpans=Sa;exports.sanitizeInline=Mr;exports.sanitizeTranscript=Ni;exports.scheduleEntryScopeKey=_d;exports.scoreInteraction=Yu;exports.scoreWorkItem=pm;exports.segmentIsEmpty=gu;exports.selectLenses=Ll;exports.serialize=Ee;exports.serviceLevel=Xo;exports.sessionsHoldCannotReach=ig;exports.sessionsToHold=sg;exports.settingsPath=sh;exports.settlementPatch=Qp;exports.shadowByKey=Gc;exports.shareKeyForTeam=Gt;exports.shareKeyForUser=jt;exports.shareKeysForViewer=fc;exports.shortTermPrincipal=$u;exports.shortfalls=fd;exports.shouldRunAudioPipeline=Xg;exports.slaBadgeTone=Ff;exports.slaHoursByInbox=Hu;exports.slaHoursFor=Ro;exports.sortStatuses=fi;exports.sourceKey=yi;exports.spread=Yt;exports.spreadOverWeights=rs;exports.startingCents=Pu;exports.statusIn=vm;exports.statusRequiresApproval=Nm;exports.stepDate=mi;exports.stepsOf=Wd;exports.strategyAncestorKeysFor=Vf;exports.strategyDossierKeys=Gf;exports.strategyItemScopeKey=cn;exports.stripHtml=cr;exports.subjectKeyOf=Zd;exports.subjectOf=on;exports.subjectRef=Jm;exports.suggestProjectKey=Im;exports.suggestedHealth=Qf;exports.summariseEval=uo;exports.summarizeReactions=Qd;exports.targetById=Dd;exports.targetForActivityType=Nd;exports.targetOrder=rp;exports.taxCodeProblem=zl;exports.taxDateOf=X;exports.taxPercentOn=Jt;exports.taxRateFor=Go;exports.taxRatesOn=Hl;exports.termsFor=zo;exports.tieredMicros=Jr;exports.timingOf=br;exports.toActingIdentity=is;exports.toE164=xt;exports.toTransactionTerm=Xp;exports.toolBareName=ls;exports.toolDisplayName=Kd;exports.toolReversible=Ym;exports.toolSourceKinds=pc;exports.toolVerdict=gh;exports.topicOfferedForTeam=Ws;exports.topicsForTeam=mp;exports.trafficIntensity=qo;exports.transactionContext=vp;exports.transactionDossierKeys=Gp;exports.transactionHref=Kp;exports.transactionIdFromScope=jp;exports.transactionKind=x;exports.transactionScopeKey=ti;exports.transactionSlots=Op;exports.transactionTotals=Yl;exports.triggerFillsVar=Bd;exports.truncateExample=Gs;exports.typeIn=hm;exports.typesFor=gm;exports.uniqueWorkStatusKey=Mm;exports.uniqueWorkTypeKey=up;exports.usageAccountOf=Er;exports.usageAccountsOf=Ia;exports.usageMetricId=Tr;exports.usageMetrics=Ja;exports.validateQuestions=Na;exports.validateStatuses=Rm;exports.valueAtPath=cs;exports.vatPeriods=rf;exports.vatReturn=nf;exports.waitHoursOf=Ve;exports.wakesAssignment=yc;exports.workActivityScopeKey=_m;exports.workItemScopeKey=ui;exports.workProjectScopeKey=pn;exports.workRatio=ep;exports.workStatusKey=pi;exports.workTypeKey=Us;exports.workingMsBetween=xe;exports.workstreamScopeKey=Ad;exports.xafAuditfile=Rl;exports.xmlBlocks=$;exports.xmlText=S;exports.yearEndClosingLines=yl;
|