@opencxh/domain 1.227.0 → 1.229.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/work/cycle.test.d.ts +1 -0
- package/dist/entities/work/types.d.ts +97 -0
- package/dist/index.cjs +10 -10
- package/dist/index.js +126 -122
- package/dist/platform/connector.d.ts +10 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -123,6 +123,79 @@ export interface WorkProject {
|
|
|
123
123
|
createdAt?: number;
|
|
124
124
|
updatedAt?: number;
|
|
125
125
|
}
|
|
126
|
+
/**
|
|
127
|
+
* A cycle: a named, dated box of work inside one project.
|
|
128
|
+
*
|
|
129
|
+
* A software team calls it a sprint, a case team calls it a phase. The same thing, and the
|
|
130
|
+
* reason it is not a `WorkProject` with dates: a project has a *series* of these. Put the dates
|
|
131
|
+
* on the project and there is exactly one, and every next one costs you a new ladder, a new field
|
|
132
|
+
* set, a new key prefix and a new access gate. The project is the unit of *work*; the cycle is
|
|
133
|
+
* the unit of *time*.
|
|
134
|
+
*
|
|
135
|
+
* Deliberately **not** a scope kind. You do not link a cycle, read it as text or hang memory on
|
|
136
|
+
* it — it is a column value on the item, and the only screen that addresses it is the project's
|
|
137
|
+
* own. {@link WorkItem.cycleId} carries the membership.
|
|
138
|
+
*/
|
|
139
|
+
export interface WorkCycle {
|
|
140
|
+
id: string;
|
|
141
|
+
organizationId: string;
|
|
142
|
+
/** A cycle without a project does not exist; it inherits the project's `ownerScope`. */
|
|
143
|
+
projectId: string;
|
|
144
|
+
/** Free text — "Sprint 14", "Fase 3". No number column: the form suggests the next name. */
|
|
145
|
+
name: string;
|
|
146
|
+
/** One sentence. What this cycle is for. */
|
|
147
|
+
goal?: string;
|
|
148
|
+
/** Planned window, epoch ms. What it says it will be, not what it was. */
|
|
149
|
+
startDate: number;
|
|
150
|
+
endDate: number;
|
|
151
|
+
/**
|
|
152
|
+
* When it actually began and ended, epoch ms.
|
|
153
|
+
*
|
|
154
|
+
* **These two are the state**, and there is deliberately no `state` column beside them:
|
|
155
|
+
* `completedAt` set *is* "completed" and `startedAt` without it *is* "active", so an enum
|
|
156
|
+
* next to them would be the same truth stored twice with nothing keeping the two in step.
|
|
157
|
+
* Read them through {@link cycleState}.
|
|
158
|
+
*
|
|
159
|
+
* And not derived from `startDate`/`endDate` either: starting and completing are **acts**. A
|
|
160
|
+
* cycle planned Mon–Fri and begun on Tuesday is running with a start date in the past, and one
|
|
161
|
+
* whose end date passed on Friday is still running until Monday's meeting. Dates would flip it
|
|
162
|
+
* at midnight and move the numbers out from under people.
|
|
163
|
+
*/
|
|
164
|
+
startedAt?: number;
|
|
165
|
+
completedAt?: number;
|
|
166
|
+
/**
|
|
167
|
+
* The promise, counted at the moment of starting — never at the end.
|
|
168
|
+
*
|
|
169
|
+
* That is the whole point of a cycle number: counted on completion, an item that was added on
|
|
170
|
+
* Wednesday is indistinguishable from what the team committed to on Monday, and making that
|
|
171
|
+
* difference visible is what these two exist for.
|
|
172
|
+
*/
|
|
173
|
+
committedCount?: number;
|
|
174
|
+
committedSeconds?: number;
|
|
175
|
+
/** Written once, when the cycle is completed. See {@link WorkCycleSummary}. */
|
|
176
|
+
summary?: WorkCycleSummary;
|
|
177
|
+
/** Ids of this cycle in source systems. Empty on one created here. */
|
|
178
|
+
externalIds?: string[];
|
|
179
|
+
createdBy: string;
|
|
180
|
+
createdAt?: number;
|
|
181
|
+
updatedAt?: number;
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* What a cycle delivered, frozen at completion.
|
|
185
|
+
*
|
|
186
|
+
* One row written once, not a nightly snapshot: items move, so a burndown needs a daily series —
|
|
187
|
+
* but "what did this team get done in the last eight cycles" needs eight rows and no rollup at
|
|
188
|
+
* all. Compare against {@link WorkCycle.committedCount}, which was counted at the start.
|
|
189
|
+
*/
|
|
190
|
+
export interface WorkCycleSummary {
|
|
191
|
+
completed: number;
|
|
192
|
+
/** Open items that moved on — to the next cycle or back to the backlog. */
|
|
193
|
+
carriedOver: number;
|
|
194
|
+
completedSeconds: number;
|
|
195
|
+
}
|
|
196
|
+
/** Where a cycle stands. Derived, because the two timestamps already say it. */
|
|
197
|
+
export type WorkCycleState = "planned" | "active" | "completed";
|
|
198
|
+
export declare function cycleState(cycle: Pick<WorkCycle, "startedAt" | "completedAt">): WorkCycleState;
|
|
126
199
|
export type WorkPriority = "low" | "normal" | "high" | "urgent";
|
|
127
200
|
/** Where an item came from — a person or something automatic. */
|
|
128
201
|
export interface WorkItemSource {
|
|
@@ -170,6 +243,30 @@ export interface WorkItem {
|
|
|
170
243
|
/** {@link WorkResolution.key}. Only meaningful when the status falls in category `done`. */
|
|
171
244
|
resolution?: string;
|
|
172
245
|
parentId?: string;
|
|
246
|
+
/**
|
|
247
|
+
* The {@link WorkCycle} this item is planned into. Absent = the backlog.
|
|
248
|
+
*
|
|
249
|
+
* A scalar column and not a key in {@link WorkItem.keys}, and the reason is not taste: that
|
|
250
|
+
* column is written down two paths that disagree. `restampKeys` **rebuilds** it from
|
|
251
|
+
* `deriveKeys(...)` on every link and unlink, while the import **unions** into it. A cycle key
|
|
252
|
+
* in there would survive or vanish depending on which path touched the row last.
|
|
253
|
+
*
|
|
254
|
+
* It is also the only shape that can answer the backlog's question. "Which items are in no
|
|
255
|
+
* cycle" is `cycleId: null` — this store has no `$exists`, and over an array column the
|
|
256
|
+
* question cannot be put at all.
|
|
257
|
+
*
|
|
258
|
+
* Only root items carry one; a subtask follows its parent.
|
|
259
|
+
*/
|
|
260
|
+
cycleId?: string;
|
|
261
|
+
/**
|
|
262
|
+
* The id of the parent **at the source**, for an imported item.
|
|
263
|
+
*
|
|
264
|
+
* Kept next to `parentId` because the two do not arrive together: a subtask can land before its
|
|
265
|
+
* parent does — a page is ordered by "last changed", not by hierarchy — and then there is no
|
|
266
|
+
* local id to point at yet. Storing what the source said is what lets the parent's own landing
|
|
267
|
+
* adopt it afterwards, instead of leaving a subtask flat forever.
|
|
268
|
+
*/
|
|
269
|
+
parentExternalId?: string;
|
|
173
270
|
/**
|
|
174
271
|
* The scopeKeys of *all* ancestors, flattened at write time
|
|
175
272
|
* (`["work_item:program-1", "work_item:project-7"]`, top to bottom).
|
package/dist/index.cjs
CHANGED
|
@@ -6,27 +6,27 @@
|
|
|
6
6
|
`)}
|
|
7
7
|
`}const Ie=e=>`user:${e}`,Me=e=>`team:${e}`;function ri(e){const t=new Set;for(const n of e??[])n?.id&&(n.kind==="user"&&t.add(Ie(n.id)),n.kind==="team"&&t.add(Me(n.id)));return[...t].sort()}function ii(e,t){return[Ie(e),...t.map(Me)]}function oi(e){const t=new Set;for(const n of e??[])n?.kind&&t.add(n.kind);return[...t]}const bt=["done","escalated"],ai=["open","waiting"];function si(e){return bt.includes(e)}const It="assignment";function ci(e){return`${It}:${e}`}function li(e,t,n,r){if(e.direction==="inbound")return!0;if(e.author?.type==="user"&&e.author.id===t)return!1;const i=e.payload?.mentions;return Array.isArray(i)&&i.includes(t)||r&&r===t?!0:n==="reply"}function ui(e){const{targetAuthorId:t,reactorId:n,agentId:r,on:i}=e;return!i||!t||t!==r?!1:n!==r}function di(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}const Mt=12;function pi(e,t,n=Mt){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 fi=new Set(["mail","message"]);function Ot(e,t){const n=e.settings?.signatures?.[t];return!n?.enabled||!n.body||n.body.trim()===""?null:n}function mi(e,t,n,r="html"){if(!e)return n;const i=Ot(e,t);return i?`${n}${r==="text"?`
|
|
8
8
|
|
|
9
|
-
`:t==="mail"?"<br><br>-- <br>":"<br><br>"}${i.body}`:n}function gi(e){return e.endpoints??[]}const wt=36e5,Rt=864e5,b=-1/0,hi=e=>e.score>b,C={urgent:40,high:25,normal:10,low:0};function Ei(e){return Object.fromEntries(e.map(t=>[t.resourceId,t]))}const Ai=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,Ct=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function Nt(e,t){return!!(e&&Ai.test(e)||t&&Ct.test(t))}const kt=3,vt=600;function Si(e,t){return e>=kt||t>=vt}const Dt=["list-unsubscribe","list-unsubscribe-post","list-id","precedence","auto-submitted","x-auto-response-suppress","feedback-id","x-mailer"];function _i(e){const t={};for(const n of e){const r=n.name?.toLowerCase();r&&n.value!==void 0&&Dt.includes(r)&&(t[r]=n.value)}return t}const yi=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i,Ti=/(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;function bi(e){const t=e.headers??{},n=e.from?.email,r=t["auto-submitted"]?.toLowerCase();if(r&&r!=="no"||t["x-auto-response-suppress"]||n&&yi.test(n))return"automated";const i=t.precedence?.toLowerCase();if(t["list-unsubscribe"]||t["list-unsubscribe-post"]||t["list-id"]||i==="bulk"||i==="list"||e.body&&Ct.test(e.body)||n&&Ti.test(n))return"marketing"}function xt(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const Lt=["open"],Pt=1e3,Ut={urgent:1,high:4,normal:8,low:24},$t=72;function Kt(e){return e.lastActivityAt??(e.createdAt?new Date(pt(e)).getTime():0)}function Bt(e,t){return Ft(t.remindersById?.[e.id],e,t.now)}function Ft(e,t,n){return!e||e.remindAt<=n?!1:!((t.lastActivityAt??0)>e.parkedAt&&t.lastActivityPreview?.direction==="inbound")}const Gt=e=>ct(e)==="outbound_message",Ht=e=>Lt.includes(e);function J(e,t){return Math.max(0,(t-Kt(e))/wt)}function Wt(e,t){const n=e.assignedInboxId?t?.[e.assignedInboxId]:void 0;return typeof n=="number"&&n>0?n:Ut[e.priority??"normal"]}function Ii(e){const t={};for(const n of e)typeof n.slaHours=="number"&&n.slaHours>0&&(t[n.id]=n.slaHours);return t}function Mi(e,t,n){return!Ht(e.status)||e.firstResponseAt?!1:J(e,t)>Wt(e,n)}function Vt(e,t){const n=e.lastActivityPreview;return n?.direction!=="outbound"||!Gt(n.type)?!1:J(e,t)<$t}function Oi(e,t){if(!Ht(e.status))return{score:b,reasons:[]};if(e.snoozedTill&&e.snoozedTill>t.now)return{score:b,reasons:[]};if(Vt(e,t.now))return{score:b,reasons:[]};if(Bt(e,t))return{score:b,reasons:[]};let n=0;const r=[],i=e.priority??"normal";C[i]>0&&(n+=C[i],r.push(`priority:${i}`)),xt(e,t.userId)&&(n+=20,r.push("unseen")),e.assignedUserId&&e.assignedUserId===t.userId&&(n+=15,r.push("assigned-to-you"));const o=J(e,t.now);if(o>0){const c=Math.min(o*2,30);n+=c,o>=1&&r.push(`waiting:${Math.round(o)}h`)}const a=e.lastActivityPreview;return a?.type==="AI_ACTION_PROPOSED"&&(n+=30,r.push("awaiting-approval")),a?.direction==="outbound"&&Gt(a.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")||Nt(e.remoteParty?.resource,e.lastActivityPreview?.snippet))&&(n-=Pt,r.push("bulk")),{score:n,reasons:r}}const wi=e=>!!e.assignedUserId||!!e.assignedInboxId,Ri=e=>e.status==="closed",Ci=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,Ni=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`;function ki(e,t){const n=e.labels??[];return n.find(r=>r.locale===t)?.label??n[0]?.label??e.url}function vi(e,t,n){const r=e.translations??[];return r.find(i=>i.locale===t)??(n?r.find(i=>i.locale===n):void 0)??{locale:t}}const ge=[{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 jt(e){const t=(e??"").toLowerCase();return ge.find(n=>n.code===t)??ge.find(n=>n.code===t.split("-")[0])}function Di(e){return jt(e)?.label??e}function xi(e){const t=jt(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const Oe=3;function Yt(e,t){const n=new Set;let r=1,i=t.get(e)?.parentId;for(;i;){if(n.has(i)||(n.add(i),r++,r>Oe+1))return 1/0;i=t.get(i)?.parentId}return r}function Li(e,t,n){if(!e)return!0;if(e===t)return!1;const r=new Map(n.map(a=>[a.id,a]));if(!r.has(e)||t&&zt(e,t,r))return!1;const i=Yt(e,r),o=t?we(t,n):1;return i+o<=Oe}function zt(e,t,n){const r=new Set;let i=n.get(e)?.parentId;for(;i;){if(i===t)return!0;if(r.has(i))return!1;r.add(i),i=n.get(i)?.parentId}return!1}function we(e,t,n=new Set){if(n.has(e))return 1;n.add(e);const r=t.filter(i=>i.parentId===e);return r.length?1+Math.max(...r.map(i=>we(i.id,t,n))):1}const Xt="en";function qt(e){return e.defaultLocale||e.locale||Xt}function Pi(e){const t=new Set,n=[];for(const r of[qt(e),...e.locales??[]])!r||t.has(r)||(t.add(r),n.push(r));return n}function Ui(e,t,n){const r=e.translations??[];return r.find(i=>i.locale===t)?.name??(n?r.find(i=>i.locale===n)?.name:void 0)??e.name}const he=["lookup","condition","parallel","for-each"];function Ee(e){for(const t of e){if(!he.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${he.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const r=Ee(n);if(r)return r}if(t.type==="for-each"){const n=Ee(t.body??[]);if(n)return n}}return null}function $i(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 Ki(e,t){return e.filter(n=>n.enabled&&$i(n.ownerScope,t))}function Bi(e){return e.credentialScope?e.credentialScope:(e.authMode??"header")==="header"||e.oauth?.scope==="org"?"shared":"per-user"}function Fi(e){return`mcp__${e}__`}const Gi=1e3,Hi=2e3,Wi=500,Vi=12e3,ji=4e3,Jt=["contact","company","work_item"];function Yi(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return Jt.includes(t)}const zi="onboarding-source",Xi=["support","billing","availability","sales","onboarding"],qi=["keep","replace"];function Zt(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Ji(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),i=t.slice(n+1).trim();if(i){if(r==="user")return{kind:"user",userId:i};if(r==="team")return{kind:"team",teamId:i}}}function Qt(e){return Zt(e)}function en(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"}}}const tn=en;function Zi(e){return e.agentId?{kind:"user",userId:e.agentId}:tn(e.ownerScope)}function Qi(e){return Qt(e)}function eo(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 to(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function no(e,t){if(t)return e.targets.find(n=>n.id===t)}function nn(e){return e?.kind==="assignment"}function ro(e){const{trigger:t,agentId:n,target:r,activityType:i,assigneeUserId:o,authorUserId:a}=e;return nn(t)?n?r?r.activityTypes.includes(i)?o?o!==n?"assigned to someone else":a&&a===n?"the agent assigned this to itself, which would restart its own run":null:`no assignee found at ${r.assigneePath}`:`activity type ${i} 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"}function io(e){return(e.startsWith("tool:")?e.slice(5):e).replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}const oo=[{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"},{name:"toStatus",type:"string"},{name:"toCategory",type:"string"},{name:"contactId",type:"string"},{name:"companyId",type:"string"},{name:"priority",type:"string"},{name:"inboxId",type:"string"},{name:"topicId",type:"string"},{name:"assigneeUserId",type:"string"}],ao={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 rn(e){return`${e.type}:${e.id}`}const on="interaction";function an(e){return e?.type===on?e.id:void 0}const sn=64,cn=8e3;function so(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),sn),cn)}const co={kind:"workflow",steps:[]};function lo(e){return e?.kind==="workflow"?e.steps:[]}function uo(e){return e?.kind==="procedure"?e.procedure:void 0}function ln(e){const t=e?.approved??0,n=t+(e?.rejected??0);return{total:n,rate:n?t/n:0}}const un=10,dn=.9;function po(e){const{total:t,rate:n}=ln(e);return t>=un&&n>=dn}const pn=["done","escalated","failed","stopped"];function fo(e){return pn.includes(e)}function fn(e){return e==="waiting"}function mo(e){return e==="running"||fn(e)}function Re(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function go(e){const t=Re(e);return t?rn(t):void 0}function ho(e){return an(Re(e))}function Eo(e){const t=[],n=new Map;for(const r of[...e].sort(Ao)){const i=n.get(r.emoji);if(i){i.push(r.actor);continue}t.push(r.emoji),n.set(r.emoji,[r.actor])}return t.map(r=>{const i=n.get(r);return{emoji:r,count:i.length,actors:i}}).sort((r,i)=>i.count-r.count||t.indexOf(r.emoji)-t.indexOf(i.emoji))}const Ao=(e,t)=>(e.createdAt??0)-(t.createdAt??0);function So(e,t){return t?e.actors.some(n=>n.type==="user"&&n.id===t):!1}const Ae=6e4,_o=36e5,N=864e5,mn=800;function je(e,t){const n=Date.UTC(e,t+1,0);return n-new Date(n).getUTCDay()*N+_o}function yo(e){const t=new Date(e).getUTCFullYear();return e>=je(t,2)&&e<je(t,9)}function gn(e,t){const n=t.dst==="eu"&&yo(e)?60:0;return(t.utcOffsetMinutes+n)*Ae}function To(e){return(e+3)%7+1}function hn(e,t){const n=gn(e,t),r=e+n,i=Math.floor(r/N);if(!t.days.includes(To(i)))return null;const o=i*N;return{open:o+t.fromMinutes*Ae-n,close:o+t.toMinutes*Ae-n}}function En(e,t){const n=gn(e,t),r=e+n;return(Math.floor(r/N)+1)*N-n}function j(e,t,n){if(t<=e)return 0;if(!n)return t-e;let r=0,i=e;for(let o=0;o<mn&&i<t;o++){const a=hn(i,n);if(a){const s=Math.max(i,a.open),c=Math.min(t,a.close);c>s&&(r+=c-s)}i=En(i,n)}return r}function Z(e,t,n){if(!n)return e+t;let r=t,i=e;for(let o=0;o<mn;o++){const a=hn(i,n);if(a){const s=Math.max(i,a.open);if(a.close>s){const c=a.close-s;if(r<=c)return s+r;r-=c}}i=En(i,n)}return e+t}function bo(e){const t=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);return t?Number(t[1])*60+Number(t[2]):null}const Y=1,z=2;function Io(e){return e==="snoozed"?Y:z}function Q(e){const t=e.calendar;return t&&Array.isArray(t.days)?t:null}const Mo=["speed_of_answer","first_response","next_response","resolution","close"],Oo=["snoozed","waiting_for_customer"],wo=6e4,An=["speed_of_answer","first_response","next_response"],Ro=[...An,"resolution","close"];function v(e){return e.state==="running"||e.state==="paused"}function Co(e,t){return v(e)?{state:(e.state==="paused"?e.remainingMs>0:t<=e.dueAt)?"hit":"missed",settledAt:Math.max(t,e.startedAt)}:null}function Ye(e){return v(e)?{state:"void"}:null}function No(e,t,n,r){if(!v(e)||(e.pauseBits&t)!==0)return null;const i=e.pauseBits|t;return e.state==="paused"?{pauseBits:i}:{pauseBits:i,state:"paused",remainingMs:j(n,e.dueAt,r)}}function ko(e,t,n,r){if(!v(e)||(e.pauseBits&t)===0)return null;const i=e.pauseBits&~t;return i!==0?{pauseBits:i}:{pauseBits:i,state:"running",dueAt:Z(n,e.remainingMs,r)}}function vo({event:e,at:t,now:n,clocks:r,profile:i}){const o=Q(i),a=Math.min(t,n),s=r.map(p=>({...p})),c=[],m=(p,f)=>{f&&(c.push({op:"patch",clockId:p.id,patch:f}),Object.assign(p,f))},h=p=>{for(const f of s)f.metric===p&&m(f,Co(f,a))},E=p=>{for(const f of s)p.includes(f.metric)&&m(f,Ye(f))},M=p=>{for(const f of s)m(f,No(f,p,a,o))},O=p=>{for(const f of s)m(f,ko(f,p,a,o))},ne=p=>s.reduce((f,T)=>T.metric===p?Math.max(f,T.attempt):f,0)+1,D=p=>s.some(f=>f.metric===p&&v(f)),x=(p,f)=>{const T=i.targets.find(lr=>lr.metric===p);if(!T)return;const Pe=T.minutes*wo;c.push({op:"start",metric:p,attempt:ne(p),startedAt:f,targetMs:Pe,dueAt:Z(f,Pe,o)})};switch(e){case"apply":{for(const p of s)p.profileId!==i.id&&m(p,Ye(p));for(const p of i.targets){if(p.metric==="next_response")continue;s.some(T=>T.metric===p.metric&&T.profileId===i.id)||x(p.metric,a)}break}case"answered":h("speed_of_answer");break;case"outbound":{h("first_response"),h("next_response"),i.pauseOn.includes("waiting_for_customer")&&M(z);break}case"inbound":{O(z),!D("first_response")&&!D("next_response")&&x("next_response",a);break}case"resolved":h("resolution");break;case"closed":h("close"),h("resolution"),E(An);break;case"reopened":D("resolution")||x("resolution",a),D("close")||x("close",a);break;case"snoozed":i.pauseOn.includes("snoozed")&&M(Y);break;case"unsnoozed":O(Y);break;case"discarded":E(Ro);break}return c}function Sn(e){return e.state==="running"||e.state==="paused"}function X(e,t){const n=Q(e);return e.state==="paused"?e.remainingMs:t>=e.dueAt?-j(e.dueAt,t,n):j(t,e.dueAt,n)}function Do(e,t){return e.state==="paused"?Z(t,e.remainingMs,Q(e)):e.dueAt}function xo(e,t){const n=e.filter(Sn);if(!n.length)return;const r=n.filter(o=>o.state==="running");return(r.length?r:n).reduce((o,a)=>X(a,t)<X(o,t)?a:o)}function Lo(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=X(e,t);return n<=0?"breached":n<=e.targetMs/5?"urgent":"running"}function Po(e){const t=Math.floor(Math.abs(e)/1e3),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),i=Math.floor(t%3600/60);return n?r?`${n}d ${r}u`:`${n}d`:r?i?`${r}u ${i}m`:`${r}u`:i?`${i}m`:`${t%60}s`}function Uo(e,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function $o(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 Ko(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function Bo(e){const t=Math.max(0,Math.floor(e)),n=o=>String(o).padStart(2,"0"),r=Math.floor(t/60)%60,i=Math.floor(t/3600);return i>0?`${i}:${n(r)}:${n(t%60)}`:`${n(r)}:${n(t%60)}`}function _n(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function Fo(e,t){const n=_n(e)||"werksoort",r=new Set(t);if(!r.has(n))return n;for(let i=2;i<500;i++){const o=`${n}-${i}`;if(!r.has(o))return o}return`${n}-${r.size+1}`}function Go(e,t){const n=e.ownerScope;return!n||n.kind==="org"?!0:t.includes(n.teamId)}function Ho(e){return e.filter(t=>!t.archived).sort(yn)}function yn(e,t){const n=(e.order??0)-(t.order??0);return n!==0?n:(e.label||"").localeCompare(t.label||"")}const Tn=20,bn=20,F=300;function I(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function In(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=F)return t;const n=t.slice(0,F),r=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return r>F*.6?n.slice(0,r+1):`${n.trimEnd()}…`}function Wo(e,t){const n=In(t.text),r=I(n);if(!r||(e.examples??[]).some(a=>I(a)===r))return null;const i=e.exampleCandidates??[],o=i.findIndex(a=>I(a.text)===r);if(o>=0){if(i[o].corrected||!t.corrected)return null;const a=[...i];return a[o]={...a[o],corrected:!0,addedAt:t.addedAt},ze(a)}return ze([{...t,text:n},...i]).slice(0,bn)}function ze(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function Vo(e,t){const n=I(t),r=(e.examples??[]).filter(o=>o.trim());return{examples:r.some(o=>I(o)===n)?r:[...r,t].slice(-Tn),exampleCandidates:Mn(e,t)}}function Mn(e,t){const n=I(t);return(e.exampleCandidates??[]).filter(r=>I(r.text)!==n)}function On(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function jo(e,t){return e.filter(n=>On(n,t))}function Yo(e){return e.type==="agent"}const zo="WORK_COMMENT_ADDED",Xo="WORK_ITEM_ASSIGNED",qo="WORK_ITEM_STATUS_CHANGED";function Jo(e,t){const n=r=>{const i=new Date(r);return i.setHours(0,0,0,0),i.getTime()};return Math.round((n(e)-n(t))/Rt)}function Zo(e,t){if(e.closedAt!=null)return{score:b,reasons:[]};const n=t.remindersById?.[e.id];if(n&&n.remindAt>t.now)return{score:b,reasons:[]};let r=0;const i=[],o=e.priority??"normal";if(C[o]>0&&(r+=C[o],i.push(`priority:${o}`)),typeof e.dueDate=="number"){const a=Jo(e.dueDate,t.now);a<0?(r+=35,i.push("overdue")):a===0&&(r+=20,i.push("due-today"))}return e.source?.initiator==="system"&&e.source.systemReason&&(r+=15,i.push(`auto:${e.source.systemReason}`)),{score:r,reasons:i}}const wn="work_item",Rn="work_project",Cn="work_activity";function Nn(e){return`${wn}:${e}`}function Ce(e){return`${Rn}:${e}`}function Qo(e){return`${Cn}:${e}`}function ea(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function ta(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 na(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function ra(e,t=25){const n=new Set([Nn(e.id)]);e.projectId&&n.add(Ce(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 ia(e){return[Ce(e.id)]}const ee=[{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}],Ne=ee.map(e=>e.key);function kn(e){return e?.statuses?.length?e.statuses:ee}function vn(e,t){return t.find(n=>n.key===e)?.category??"todo"}function oa(e,t){return t.find(n=>n.key===e)}function aa(e){const t=kn(e),n=e?.defaultStatusKey;return n&&t.some(r=>r.key===n)?n:Dn(t)[0]?.key??ee[0].key}function Dn(e){return[...e].sort((t,n)=>{const r=(t.order??0)-(n.order??0);return r!==0?r:(t.label||"").localeCompare(n.label||"")})}function sa(e,t){return vn(e,t)==="done"}function xn(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function ca(e,t){const n=xn(e)||"status",r=new Set([...t,...Ne]);if(!r.has(n))return n;for(let i=2;i<500;i++){const o=`${n}-${i}`;if(!r.has(o))return o}return`${n}-${r.size+1}`}function la(e){const t=[];if(!e.length)return[{index:-1,reason:"empty"}];const n=new Set;return e.forEach((r,i)=>{if(!r.key){t.push({index:i,reason:"missing_key"});return}Ne.includes(r.key)&&t.push({index:i,reason:"reserved_key",key:r.key}),n.has(r.key)&&t.push({index:i,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}const ua=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),da=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function Ln(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?ua.has(t)?"image":t==="application/pdf"?"pdf":da.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const w=1024*1024,Pn={image:5*w,pdf:20*w,text:1*w,audio:20*w},pa=25*w,fa=5;function ma(e,t){const n=Ln(e);return n==="unsupported"?"unsupported":t>Pn[n]?"too-large":null}function ga(e){return e.access!=="read"&&e.effect!=="internal"}function Un(e){return`${e.kind}:${e.id||e.url||e.title}`}function ha(e,t=[]){const n=new Set(t),r=[],i=[];for(const o of e){const a=Un(o);n.has(a)||(n.add(a),r.push(o),i.push(a))}return{sources:r,keys:i}}const Ea="assist-source",Aa=["blocking","due","open"];function Sa(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const Xe={blocking:0,due:1,open:2};function _a(e,t){return Xe[e.band??"open"]-Xe[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}function ya(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function Ta(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function ba(e){return e.sessions.some(n=>n.id!==e.exceptSessionId&&(n.state==="connected"||n.state==="on_hold"))?{admit:!1,reason:"busy"}:{admit:!0}}function $n(e,t){const n=new Set(e.disabledIntents??[]),r=e.intentOverrides??{},i=t.intents.filter(a=>!n.has(a.intent)).map(a=>Ma(a,r[a.intent]));if(!e.extraIntents||e.extraIntents.length===0)return i;const o=new Set(i.map(a=>a.intent));for(const a of e.extraIntents)o.has(a.intent)||(i.push(a),o.add(a.intent));return i}function Kn(e,t){const n={};for(const r of e.intents){if(!r.togglable)continue;const i=t?.[r.intent];n[r.intent]=i??r.defaultEnabled??!0}return n}function Ia(e,t){const n=Kn(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function Ma(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function Oa(e,t){const n=[];for(const r of e){if(!r.enabled)continue;const i=t[r.providerId];if(i)for(const o of $n(r,i))n.push({channel:r,description:i,capability:o})}return n}function wa(e,t){return t.filter(n=>n.capability.intent===e)}function Bn(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function Ra(e,t){return Bn(e.scheme,t)}function Ca(e,t,n){const r=[];for(const i of e)for(const o of n)o.capability.intent===t&&o.capability.targetSchemes.includes(i.scheme)&&r.push({channelIntent:o,endpoint:i});return r}var Fn=(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))(Fn||{});const Na={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 ka(e){return e?Na[e]??"note":"note"}const va="message_window",Da="message_templates",xa={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},La=(e,t)=>({intent:e,...t}),Pa="folder_management",Ua="remote_search",$a="message_reactions",Ka={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},Ba="connector",Fa="context.collect",d=e=>({type:"string",description:e}),u=e=>({type:"number",description:e}),G=e=>({type:"boolean",description:e}),_=d("Sheet name. Omit for the sheet the user is looking at."),qe=d("Slide id, as `inspect` reports it.");function l(e,t,n,r,i,o){return{op:e,kinds:t,summary:n,parameters:{type:"object",properties:r,required:i},undoable:o.undoable,visible:o.visible}}const R={undoable:!1,visible:!0},g={undoable:!0,visible:!0},Je={undoable:!1,visible:!0},q={undoable:!1,visible:!1},Ga=[l("pdf.goToPage",["pdf"],"Scroll the viewer to a page.",{page:u("1-based page number.")},["page"],R),l("pdf.search",["pdf"],"Search the document and highlight the matches, as the find bar does.",{query:d("Text to find."),next:G("Jump to the next match instead of the first.")},["query"],R),l("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"],R),l("pdf.fillField",["pdf"],"Fill one form field of a fillable PDF.",{field:d("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"],g),l("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"],Je),l("pdf.deletePages",["pdf"],"Remove pages, keeping the rest in order.",{pages:{type:"array",items:{type:"number"},description:"1-based page numbers."}},["pages"],Je),l("pdf.addNote",["pdf"],"Place a text note on a page. Written on save; not visible before that.",{page:u("1-based page number."),text:d("The note's text."),left:u("Distance from the left edge, in PDF points (72 per inch)."),top:u("Distance from the top edge, in PDF points."),width:u("Box width in points. Omit for a sensible default."),height:u("Box height in points. Omit for a sensible default."),fontSize:u("Font size in points. Omit for 12.")},["page","text","left","top"],q),l("pdf.highlightText",["pdf"],"Highlight a phrase on a page. Written on save; not visible before that.",{page:u("1-based page number."),text:d("The exact phrase to highlight, as it appears in the page's text."),occurrence:u("Which occurrence on that page, 1-based. Omit for the first.")},["page","text"],q)],Ha=[l("sheet.setValues",["sheet"],"Write a block of values. The block's shape must match the range.",{sheet:_,range:d("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"],g),l("sheet.setFormula",["sheet"],"Put a formula in every cell of a range.",{sheet:_,range:d("A1 notation."),formula:d("Including the leading `=`.")},["range","formula"],g),l("sheet.setStyle",["sheet"],"Change the look of a range. Only the properties you pass are touched.",{sheet:_,range:d("A1 notation."),bold:G("Bold on or off."),italic:G("Italic on or off."),fontSize:u("Point size."),fontColor:d("CSS colour, e.g. `#b91c1c`."),background:d("CSS colour for the cell fill."),horizontalAlignment:{type:"string",enum:["left","center","right"],description:"Horizontal alignment."},numberFormat:d("Number format pattern, e.g. `#,##0.00` or `0%`.")},["range"],g),l("sheet.insertRows",["sheet"],"Insert empty rows, pushing the rest down.",{sheet:_,at:u("1-based row number to insert before."),count:u("How many. Omit for 1.")},["at"],g),l("sheet.deleteRows",["sheet"],"Delete rows, pulling the rest up.",{sheet:_,at:u("1-based first row to delete."),count:u("How many. Omit for 1.")},["at"],g),l("sheet.insertColumns",["sheet"],"Insert empty columns, pushing the rest right.",{sheet:_,at:u("1-based column number to insert before."),count:u("How many. Omit for 1.")},["at"],g),l("sheet.deleteColumns",["sheet"],"Delete columns, pulling the rest left.",{sheet:_,at:u("1-based first column to delete."),count:u("How many. Omit for 1.")},["at"],g),l("sheet.merge",["sheet"],"Merge a range into one cell.",{sheet:_,range:d("A1 notation.")},["range"],g),l("sheet.unmerge",["sheet"],"Break merged cells in a range apart.",{sheet:_,range:d("A1 notation.")},["range"],g),l("sheet.sort",["sheet"],"Sort a range on one of its columns.",{sheet:_,range:d("A1 notation covering the rows to sort, header excluded."),column:u("1-based column *within the range*, not within the sheet."),ascending:G("Ascending. Omit for ascending.")},["range","column"],g),l("sheet.insertSheet",["sheet"],"Add a new sheet.",{name:d("Name for the new sheet.")},["name"],g),l("sheet.renameSheet",["sheet"],"Rename a sheet.",{sheet:d("Current name."),name:d("New name.")},["sheet","name"],g),l("sheet.deleteSheet",["sheet"],"Remove a sheet and everything on it.",{sheet:d("Name of the sheet to delete.")},["sheet"],g),l("sheet.activate",["sheet"],"Show the user a sheet and select a range on it.",{sheet:_,range:d("A1 notation to select. Omit to only switch sheets.")},[],R)],Wa=[l("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:u("The offset the paragraph starts at, exactly as `inspect` prints it."),text:d("The new text for that paragraph. A newline starts a further paragraph.")},["at","text"],g),l("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:u("Character offset where the replaced text starts, as `inspect` reports offsets."),end:u("Character offset just past the last character to replace."),text:d("The replacement text. A newline starts a new paragraph.")},["start","end","text"],g),l("word.insertText",["word"],"Insert text at a character offset, without removing anything.",{index:u("Character offset, as `inspect` reports offsets."),text:d("The text to insert.")},["index","text"],g),l("word.appendText",["word"],"Add text at the end of the document.",{text:d("The text to append.")},["text"],g),l("word.insertParagraph",["word"],"Start a new paragraph, optionally with text in it.",{text:d("Paragraph text. Newlines start further paragraphs."),index:u("Character offset to insert at. Omit for the end of the document.")},[],g),l("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:u("Start character offset."),end:u("End character offset. Omit for a caret.")},["start"],R)],Va=[l("slides.setText",["slides"],"Replace the text of one shape. Written on save; not visible before that, and not undoable.",{slide:qe,element:d("Element id, as `inspect` reports it."),text:d("The new text.")},["slide","element","text"],q),l("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:qe,element:d("Element id."),left:u("Distance from the left edge, in pixels."),top:u("Distance from the top edge, in pixels."),width:u("Width in pixels."),height:u("Height in pixels.")},["slide","element"],q)],ke=[...Ga,...Ha,...Wa,...Va];function ja(e){return ke.filter(t=>t.kinds.includes(e))}function Ya(e){return ke.find(t=>t.op===e)}const za="documents.describe",Xa="documents.inspect",qa="documents.apply";function Ja(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 Za="installation-id";function Qa(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 es="notification-source",ts=(e,t)=>`${e}.pref.${t}`,ns={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","attribute.read","attribute.write","calendar.read","calendar.write","channel.read","channel.write","custom-field.read","custom-field.write","folder.read","folder.write","inbox.read","inbox.write","interaction.read","interaction.write","reaction.read","reaction.write","reminder.read","template.read","template.write","topic.read","topic.write"],context:["kind.read","kind.write","memory.read","memory.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"]},ve=9e4,Gn=["out_of_office"],Hn=e=>Gn.includes(e);function rs(e,t,n){const r=n-e<ve,i=t?.status&&(!t.expiresAt||t.expiresAt>n)?t:void 0;if(!i?.status)return{online:r,status:r?"available":"offline"};const o=i.status;return!r&&!Hn(o)?{online:!1,status:"offline"}:{online:r,status:o,message:i.message}}function is(e,t){const n=t-e.lastSeenAt<ve,r=n||Hn(e.status)?e.status:"offline";return n===e.online&&r===e.status?e:{...e,online:n,status:r}}function os(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 as(e){return e.providerAvailable&&e.allowed}const ss="resources.describe",cs="resources.search",ls="resources.resolve",us="resources.attached";function ds(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const ps="/provider/scope/related",fs="/provider/scope/read",De="auth";function xe(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function ms(e){const t=xe(e);return t?t!==De:typeof e=="string"&&e.startsWith("/wake")}function gs(e){return typeof e!="string"||e===""||e==="/"?!0:xe(e)===De}function hs(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Wn(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${hs(r)}`).join("");return new RegExp(`^${n}\\/?$`)}function Vn(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean),i={};return n.forEach((o,a)=>{if(o.startsWith(":")){const s=o.endsWith("?")?o.slice(1,-1):o.slice(1),c=r[a];c&&(i[s]=c)}}),i}function jn(e){return e.publicBasePath??`/apps/${e.name}`}function Es(e){const t=[];for(const n of e){if(!n?.name)continue;const r=jn(n);for(const i of n.routes??[]){if(!i.public)continue;const o=i.path==="/"?"":i.path;t.push({appName:n.name,resource:i.resource,pattern:`${r}${o}`,props:i.props})}}return t}function Yn(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean);for(let i=0;i<Math.min(n.length,r.length);i++){const o=n[i].startsWith(":"),a=r[i].startsWith(":");if(o!==a)return a}return n.length>r.length}function zn(e,t){if(typeof e!="string")return null;let n=null;for(const r of t)Wn(r.pattern).test(e)&&(!n||Yn(r.pattern,n.pattern))&&(n=r);return n?{...n,params:{...n.props,...Vn(n.pattern,e)}}:null}function As(e,t){return zn(e,t)!==null}const Ss=10*1024*1024,_s=25*1024*1024,ys="sync-target",Ts=20,bs={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]"]},Xn=e=>{let t=e;return Object.values(bs).forEach(n=>{n.forEach(r=>{t=t.replaceAll(r,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},qn=6e4,Jn=8e3,Zn=2,Qn=.4,Is=3,Ms=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 er(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<Is||Ms.has(n)||t.add(n);return[...t]}function tr(e,t){if(!e.length)return 0;if(!t.length)return 1;const n=new Set(t),r=new Set(e);let i=0;for(const o of r)n.has(o)||(i+=1);return i/r.size}function nr(e,t=qn){const n=e.filter(a=>!a.partial&&typeof a.text=="string");if(!n.length)return{text:"",segmentCount:0};const i=n.reduce((a,s)=>Math.max(a,s.endedAt??0),0)-t;return{text:n.filter(a=>(a.endedAt??0)>=i).map(a=>Xn(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const rr=60;function Os(e,t,n=rr){const r=new Set(e),i=[...e];for(const o of t)!o||r.has(o)||(r.add(o),i.push(o));return i.slice(-n)}function ws(e){const{segments:t,now:n,state:r}=e;if(r.lastTriggerAt&&n-r.lastTriggerAt<Jn)return{trigger:!1,reason:"too_soon"};const i=nr(t,e.windowMs);if(!i.text)return{trigger:!1,reason:"no_speech"};const o=i.segmentCount-(r.lastSegmentCount??0);if(r.lastQueryTerms&&o<Zn)return{trigger:!1,reason:"too_few_new"};const a=er(i.text);return a.length?r.lastQueryTerms?.length&&tr(a,r.lastQueryTerms)<Qn?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:i.text,terms:a,segmentCount:i.segmentCount}:{trigger:!1,reason:"no_speech"}}const Rs=["personal","workspace","connections","work","ai"],Cs="navNotice",te={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}},ir="NL",Ns=15,ks=8,vs=Array.from(new Set(Object.values(te).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function Ze(e){if(e)return te[e.trim().toUpperCase()]}function H(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function Qe(e){if(e.length>Ns)return null;for(const t of vs){if(!e.startsWith(t))continue;const n=e.slice(t.length);for(const r of Object.values(te)){if(r.callingCode!==t)continue;const i=r.trunkPrefix,o=i&&n.startsWith(i)?n.slice(i.length):n;if(H(o,r))return`+${t}${o}`}return null}return e.length<ks?null:`+${e}`}function Ds(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 xs(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 Se(e,t){if(!e)return null;const n=Ds(e);if(!n)return null;const r=n.startsWith("+"),i=n.replace(/\D/g,"");if(!i)return null;if(r)return Qe(i);if(i.startsWith("00"))return Qe(i.slice(2));const o=Ze(t)??Ze(ir);if(!o)return null;const a=o.trunkPrefix;if(a&&i.startsWith(a)){const s=i.slice(a.length);return H(s,o)?`+${o.callingCode}${s}`:null}if(i.startsWith(o.callingCode)){const s=i.slice(o.callingCode.length);if(H(s,o))return`+${o.callingCode}${s}`}return!a&&H(i,o)?`+${o.callingCode}${i}`:null}function Ls(e,t=9){const n=(e??"").replace(/\D/g,"");return n.length<t?null:n.slice(-t)}function Le(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],i=t.slice(n+1);return!r||!i.includes(".")?null:`${r}@${i}`}function Ps(e){const t=Le(e);return t?t.slice(t.lastIndexOf("@")+1):null}const Us=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function or(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 Us.has(n)&&t.length>=3?t.slice(-3).join("."):n}const ar=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 $s(e){const t=or(e);return t?ar.has(t):!1}function Ks(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function Bs(e,t,n){if(!e||!t)return null;const r=e.trim().toLowerCase();if(r==="tel"||r==="sms"||r==="whatsapp"){const o=Se(t,n);return o?`tel:${o}`:null}if(r==="fax"){const o=Se(t,n);return o?`fax:${o}`:null}if(r==="mailto"||r==="email"){const o=Le(t);return o?`mailto:${o}`:null}const i=t.trim().toLowerCase();return i?`${r}:${i}`:null}const Fs=[/<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],et=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,Gs=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function Hs(e){const t=e.split(`
|
|
10
|
-
`);for(let n=0;n<t.length;n++)if(
|
|
11
|
-
`).trim();return e}const
|
|
9
|
+
`:t==="mail"?"<br><br>-- <br>":"<br><br>"}${i.body}`:n}function gi(e){return e.endpoints??[]}const wt=36e5,Rt=864e5,b=-1/0,hi=e=>e.score>b,C={urgent:40,high:25,normal:10,low:0};function Ei(e){return Object.fromEntries(e.map(t=>[t.resourceId,t]))}const Ai=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|newsletter|nieuwsbrief|mailer|mailing|notifications?|bounce|postmaster|marketing)@/i,Ct=/\b(unsubscribe|afmelden|uitschrijven|opt[\s-]?out|manage (your )?preferences|geen (e-?mails?|nieuwsbrief|berichten) meer)\b/i;function Nt(e,t){return!!(e&&Ai.test(e)||t&&Ct.test(t))}const kt=3,vt=600;function Si(e,t){return e>=kt||t>=vt}const Dt=["list-unsubscribe","list-unsubscribe-post","list-id","precedence","auto-submitted","x-auto-response-suppress","feedback-id","x-mailer"];function _i(e){const t={};for(const n of e){const r=n.name?.toLowerCase();r&&n.value!==void 0&&Dt.includes(r)&&(t[r]=n.value)}return t}const yi=/(^|[._+-])(no-?reply|noreply|donotreply|do-not-reply|notifications?|bounce|postmaster|mailer)@/i,Ti=/(^|[._+-])(newsletter|nieuwsbrief|marketing|mailing)@/i;function bi(e){const t=e.headers??{},n=e.from?.email,r=t["auto-submitted"]?.toLowerCase();if(r&&r!=="no"||t["x-auto-response-suppress"]||n&&yi.test(n))return"automated";const i=t.precedence?.toLowerCase();if(t["list-unsubscribe"]||t["list-unsubscribe-post"]||t["list-id"]||i==="bulk"||i==="list"||e.body&&Ct.test(e.body)||n&&Ti.test(n))return"marketing"}function xt(e,t){return e.lastActivityAt?!(e.seenBy??[]).includes(t):!1}const Lt=["open"],Pt=1e3,Ut={urgent:1,high:4,normal:8,low:24},$t=72;function Kt(e){return e.lastActivityAt??(e.createdAt?new Date(pt(e)).getTime():0)}function Bt(e,t){return Ft(t.remindersById?.[e.id],e,t.now)}function Ft(e,t,n){return!e||e.remindAt<=n?!1:!((t.lastActivityAt??0)>e.parkedAt&&t.lastActivityPreview?.direction==="inbound")}const Gt=e=>ct(e)==="outbound_message",Ht=e=>Lt.includes(e);function J(e,t){return Math.max(0,(t-Kt(e))/wt)}function Wt(e,t){const n=e.assignedInboxId?t?.[e.assignedInboxId]:void 0;return typeof n=="number"&&n>0?n:Ut[e.priority??"normal"]}function Ii(e){const t={};for(const n of e)typeof n.slaHours=="number"&&n.slaHours>0&&(t[n.id]=n.slaHours);return t}function Mi(e,t,n){return!Ht(e.status)||e.firstResponseAt?!1:J(e,t)>Wt(e,n)}function Vt(e,t){const n=e.lastActivityPreview;return n?.direction!=="outbound"||!Gt(n.type)?!1:J(e,t)<$t}function Oi(e,t){if(!Ht(e.status))return{score:b,reasons:[]};if(e.snoozedTill&&e.snoozedTill>t.now)return{score:b,reasons:[]};if(Vt(e,t.now))return{score:b,reasons:[]};if(Bt(e,t))return{score:b,reasons:[]};let n=0;const r=[],i=e.priority??"normal";C[i]>0&&(n+=C[i],r.push(`priority:${i}`)),xt(e,t.userId)&&(n+=20,r.push("unseen")),e.assignedUserId&&e.assignedUserId===t.userId&&(n+=15,r.push("assigned-to-you"));const o=J(e,t.now);if(o>0){const c=Math.min(o*2,30);n+=c,o>=1&&r.push(`waiting:${Math.round(o)}h`)}const a=e.lastActivityPreview;return a?.type==="AI_ACTION_PROPOSED"&&(n+=30,r.push("awaiting-approval")),a?.direction==="outbound"&&Gt(a.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")||Nt(e.remoteParty?.resource,e.lastActivityPreview?.snippet))&&(n-=Pt,r.push("bulk")),{score:n,reasons:r}}const wi=e=>!!e.assignedUserId||!!e.assignedInboxId,Ri=e=>e.status==="closed",Ci=e=>({urgent:10,high:5,normal:2,low:1})[e.priority]||0,Ni=(e,t=30)=>e.title?.length<=t?e.title:`${e.title.substring(0,t)}...`;function ki(e,t){const n=e.labels??[];return n.find(r=>r.locale===t)?.label??n[0]?.label??e.url}function vi(e,t,n){const r=e.translations??[];return r.find(i=>i.locale===t)??(n?r.find(i=>i.locale===n):void 0)??{locale:t}}const ge=[{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 jt(e){const t=(e??"").toLowerCase();return ge.find(n=>n.code===t)??ge.find(n=>n.code===t.split("-")[0])}function Di(e){return jt(e)?.label??e}function xi(e){const t=jt(e);return t?t.english===t.label?`${t.english} (${t.code})`:`${t.english} — ${t.label} (${t.code})`:e}const Oe=3;function Yt(e,t){const n=new Set;let r=1,i=t.get(e)?.parentId;for(;i;){if(n.has(i)||(n.add(i),r++,r>Oe+1))return 1/0;i=t.get(i)?.parentId}return r}function Li(e,t,n){if(!e)return!0;if(e===t)return!1;const r=new Map(n.map(a=>[a.id,a]));if(!r.has(e)||t&&zt(e,t,r))return!1;const i=Yt(e,r),o=t?we(t,n):1;return i+o<=Oe}function zt(e,t,n){const r=new Set;let i=n.get(e)?.parentId;for(;i;){if(i===t)return!0;if(r.has(i))return!1;r.add(i),i=n.get(i)?.parentId}return!1}function we(e,t,n=new Set){if(n.has(e))return 1;n.add(e);const r=t.filter(i=>i.parentId===e);return r.length?1+Math.max(...r.map(i=>we(i.id,t,n))):1}const Xt="en";function qt(e){return e.defaultLocale||e.locale||Xt}function Pi(e){const t=new Set,n=[];for(const r of[qt(e),...e.locales??[]])!r||t.has(r)||(t.add(r),n.push(r));return n}function Ui(e,t,n){const r=e.translations??[];return r.find(i=>i.locale===t)?.name??(n?r.find(i=>i.locale===n)?.name:void 0)??e.name}const he=["lookup","condition","parallel","for-each"];function Ee(e){for(const t of e){if(!he.includes(t.type))return`staptype "${t.type}" mag niet meelezen (alleen ${he.join(", ")})`;if(t.type==="parallel")for(const n of t.branches??[]){const r=Ee(n);if(r)return r}if(t.type==="for-each"){const n=Ee(t.body??[]);if(n)return n}}return null}function $i(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 Ki(e,t){return e.filter(n=>n.enabled&&$i(n.ownerScope,t))}function Bi(e){return e.credentialScope?e.credentialScope:(e.authMode??"header")==="header"||e.oauth?.scope==="org"?"shared":"per-user"}function Fi(e){return`mcp__${e}__`}const Gi=1e3,Hi=2e3,Wi=500,Vi=12e3,ji=4e3,Jt=["contact","company","work_item"];function Yi(e){if(!e)return!1;const t=e.slice(0,e.indexOf(":"));return Jt.includes(t)}const zi="onboarding-source",Xi=["support","billing","availability","sales","onboarding"],qi=["keep","replace"];function Zt(e){switch(e.kind){case"user":return`user:${e.userId}`;case"team":return`team:${e.teamId}`;case"org":return"org"}}function Ji(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),i=t.slice(n+1).trim();if(i){if(r==="user")return{kind:"user",userId:i};if(r==="team")return{kind:"team",teamId:i}}}function Qt(e){return Zt(e)}function en(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"}}}const tn=en;function Zi(e){return e.agentId?{kind:"user",userId:e.agentId}:tn(e.ownerScope)}function Qi(e){return Qt(e)}function eo(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 to(e,t){return e.targets.find(n=>n.activityTypes.includes(t))}function no(e,t){if(t)return e.targets.find(n=>n.id===t)}function nn(e){return e?.kind==="assignment"}function ro(e){const{trigger:t,agentId:n,target:r,activityType:i,assigneeUserId:o,authorUserId:a}=e;return nn(t)?n?r?r.activityTypes.includes(i)?o?o!==n?"assigned to someone else":a&&a===n?"the agent assigned this to itself, which would restart its own run":null:`no assignee found at ${r.assigneePath}`:`activity type ${i} 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"}function io(e){return(e.startsWith("tool:")?e.slice(5):e).replace(/__/g," · ").replace(/\./g," · ").replace(/_/g," ")}const oo=[{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"},{name:"toStatus",type:"string"},{name:"toCategory",type:"string"},{name:"contactId",type:"string"},{name:"companyId",type:"string"},{name:"priority",type:"string"},{name:"inboxId",type:"string"},{name:"topicId",type:"string"},{name:"assigneeUserId",type:"string"}],ao={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 rn(e){return`${e.type}:${e.id}`}const on="interaction";function an(e){return e?.type===on?e.id:void 0}const sn=64,cn=8e3;function so(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),sn),cn)}const co={kind:"workflow",steps:[]};function lo(e){return e?.kind==="workflow"?e.steps:[]}function uo(e){return e?.kind==="procedure"?e.procedure:void 0}function ln(e){const t=e?.approved??0,n=t+(e?.rejected??0);return{total:n,rate:n?t/n:0}}const un=10,dn=.9;function po(e){const{total:t,rate:n}=ln(e);return t>=un&&n>=dn}const pn=["done","escalated","failed","stopped"];function fo(e){return pn.includes(e)}function fn(e){return e==="waiting"}function mo(e){return e==="running"||fn(e)}function Re(e){return e.subjectKind&&e.subjectId?{type:e.subjectKind,id:e.subjectId}:void 0}function go(e){const t=Re(e);return t?rn(t):void 0}function ho(e){return an(Re(e))}function Eo(e){const t=[],n=new Map;for(const r of[...e].sort(Ao)){const i=n.get(r.emoji);if(i){i.push(r.actor);continue}t.push(r.emoji),n.set(r.emoji,[r.actor])}return t.map(r=>{const i=n.get(r);return{emoji:r,count:i.length,actors:i}}).sort((r,i)=>i.count-r.count||t.indexOf(r.emoji)-t.indexOf(i.emoji))}const Ao=(e,t)=>(e.createdAt??0)-(t.createdAt??0);function So(e,t){return t?e.actors.some(n=>n.type==="user"&&n.id===t):!1}const Ae=6e4,_o=36e5,N=864e5,mn=800;function je(e,t){const n=Date.UTC(e,t+1,0);return n-new Date(n).getUTCDay()*N+_o}function yo(e){const t=new Date(e).getUTCFullYear();return e>=je(t,2)&&e<je(t,9)}function gn(e,t){const n=t.dst==="eu"&&yo(e)?60:0;return(t.utcOffsetMinutes+n)*Ae}function To(e){return(e+3)%7+1}function hn(e,t){const n=gn(e,t),r=e+n,i=Math.floor(r/N);if(!t.days.includes(To(i)))return null;const o=i*N;return{open:o+t.fromMinutes*Ae-n,close:o+t.toMinutes*Ae-n}}function En(e,t){const n=gn(e,t),r=e+n;return(Math.floor(r/N)+1)*N-n}function j(e,t,n){if(t<=e)return 0;if(!n)return t-e;let r=0,i=e;for(let o=0;o<mn&&i<t;o++){const a=hn(i,n);if(a){const s=Math.max(i,a.open),c=Math.min(t,a.close);c>s&&(r+=c-s)}i=En(i,n)}return r}function Z(e,t,n){if(!n)return e+t;let r=t,i=e;for(let o=0;o<mn;o++){const a=hn(i,n);if(a){const s=Math.max(i,a.open);if(a.close>s){const c=a.close-s;if(r<=c)return s+r;r-=c}}i=En(i,n)}return e+t}function bo(e){const t=/^([01]\d|2[0-3]):([0-5]\d)$/.exec(e);return t?Number(t[1])*60+Number(t[2]):null}const Y=1,z=2;function Io(e){return e==="snoozed"?Y:z}function Q(e){const t=e.calendar;return t&&Array.isArray(t.days)?t:null}const Mo=["speed_of_answer","first_response","next_response","resolution","close"],Oo=["snoozed","waiting_for_customer"],wo=6e4,An=["speed_of_answer","first_response","next_response"],Ro=[...An,"resolution","close"];function v(e){return e.state==="running"||e.state==="paused"}function Co(e,t){return v(e)?{state:(e.state==="paused"?e.remainingMs>0:t<=e.dueAt)?"hit":"missed",settledAt:Math.max(t,e.startedAt)}:null}function Ye(e){return v(e)?{state:"void"}:null}function No(e,t,n,r){if(!v(e)||(e.pauseBits&t)!==0)return null;const i=e.pauseBits|t;return e.state==="paused"?{pauseBits:i}:{pauseBits:i,state:"paused",remainingMs:j(n,e.dueAt,r)}}function ko(e,t,n,r){if(!v(e)||(e.pauseBits&t)===0)return null;const i=e.pauseBits&~t;return i!==0?{pauseBits:i}:{pauseBits:i,state:"running",dueAt:Z(n,e.remainingMs,r)}}function vo({event:e,at:t,now:n,clocks:r,profile:i}){const o=Q(i),a=Math.min(t,n),s=r.map(p=>({...p})),c=[],m=(p,f)=>{f&&(c.push({op:"patch",clockId:p.id,patch:f}),Object.assign(p,f))},h=p=>{for(const f of s)f.metric===p&&m(f,Co(f,a))},E=p=>{for(const f of s)p.includes(f.metric)&&m(f,Ye(f))},M=p=>{for(const f of s)m(f,No(f,p,a,o))},O=p=>{for(const f of s)m(f,ko(f,p,a,o))},ne=p=>s.reduce((f,T)=>T.metric===p?Math.max(f,T.attempt):f,0)+1,D=p=>s.some(f=>f.metric===p&&v(f)),x=(p,f)=>{const T=i.targets.find(lr=>lr.metric===p);if(!T)return;const Pe=T.minutes*wo;c.push({op:"start",metric:p,attempt:ne(p),startedAt:f,targetMs:Pe,dueAt:Z(f,Pe,o)})};switch(e){case"apply":{for(const p of s)p.profileId!==i.id&&m(p,Ye(p));for(const p of i.targets){if(p.metric==="next_response")continue;s.some(T=>T.metric===p.metric&&T.profileId===i.id)||x(p.metric,a)}break}case"answered":h("speed_of_answer");break;case"outbound":{h("first_response"),h("next_response"),i.pauseOn.includes("waiting_for_customer")&&M(z);break}case"inbound":{O(z),!D("first_response")&&!D("next_response")&&x("next_response",a);break}case"resolved":h("resolution");break;case"closed":h("close"),h("resolution"),E(An);break;case"reopened":D("resolution")||x("resolution",a),D("close")||x("close",a);break;case"snoozed":i.pauseOn.includes("snoozed")&&M(Y);break;case"unsnoozed":O(Y);break;case"discarded":E(Ro);break}return c}function Sn(e){return e.state==="running"||e.state==="paused"}function X(e,t){const n=Q(e);return e.state==="paused"?e.remainingMs:t>=e.dueAt?-j(e.dueAt,t,n):j(t,e.dueAt,n)}function Do(e,t){return e.state==="paused"?Z(t,e.remainingMs,Q(e)):e.dueAt}function xo(e,t){const n=e.filter(Sn);if(!n.length)return;const r=n.filter(o=>o.state==="running");return(r.length?r:n).reduce((o,a)=>X(a,t)<X(o,t)?a:o)}function Lo(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=X(e,t);return n<=0?"breached":n<=e.targetMs/5?"urgent":"running"}function Po(e){const t=Math.floor(Math.abs(e)/1e3),n=Math.floor(t/86400),r=Math.floor(t%86400/3600),i=Math.floor(t%3600/60);return n?r?`${n}d ${r}u`:`${n}d`:r?i?`${r}u ${i}m`:`${r}u`:i?`${i}m`:`${t%60}s`}function Uo(e,t){const n=e.accumulatedSeconds||0;return e.runningSince?n+Math.max(0,Math.floor((t-e.runningSince)/1e3)):n}function $o(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 Ko(e){const t=Math.max(0,Math.round(e/60));return`${Math.floor(t/60)}:${String(t%60).padStart(2,"0")}`}function Bo(e){const t=Math.max(0,Math.floor(e)),n=o=>String(o).padStart(2,"0"),r=Math.floor(t/60)%60,i=Math.floor(t/3600);return i>0?`${i}:${n(r)}:${n(t%60)}`:`${n(r)}:${n(t%60)}`}function _n(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function Fo(e,t){const n=_n(e)||"werksoort",r=new Set(t);if(!r.has(n))return n;for(let i=2;i<500;i++){const o=`${n}-${i}`;if(!r.has(o))return o}return`${n}-${r.size+1}`}function Go(e,t){const n=e.ownerScope;return!n||n.kind==="org"?!0:t.includes(n.teamId)}function Ho(e){return e.filter(t=>!t.archived).sort(yn)}function yn(e,t){const n=(e.order??0)-(t.order??0);return n!==0?n:(e.label||"").localeCompare(t.label||"")}const Tn=20,bn=20,F=300;function I(e){return e.toLowerCase().replace(/[^\p{L}\p{N}\s]/gu," ").replace(/\s+/g," ").trim()}function In(e){const t=e.replace(/\s+/g," ").trim();if(t.length<=F)return t;const n=t.slice(0,F),r=Math.max(n.lastIndexOf(". "),n.lastIndexOf("! "),n.lastIndexOf("? "));return r>F*.6?n.slice(0,r+1):`${n.trimEnd()}…`}function Wo(e,t){const n=In(t.text),r=I(n);if(!r||(e.examples??[]).some(a=>I(a)===r))return null;const i=e.exampleCandidates??[],o=i.findIndex(a=>I(a.text)===r);if(o>=0){if(i[o].corrected||!t.corrected)return null;const a=[...i];return a[o]={...a[o],corrected:!0,addedAt:t.addedAt},ze(a)}return ze([{...t,text:n},...i]).slice(0,bn)}function ze(e){return[...e].sort((t,n)=>Number(n.corrected)-Number(t.corrected)||n.addedAt-t.addedAt)}function Vo(e,t){const n=I(t),r=(e.examples??[]).filter(o=>o.trim());return{examples:r.some(o=>I(o)===n)?r:[...r,t].slice(-Tn),exampleCandidates:Mn(e,t)}}function Mn(e,t){const n=I(t);return(e.exampleCandidates??[]).filter(r=>I(r.text)!==n)}function On(e,t){const n=e.ownerScope;return n?n.kind==="org"?!0:n.kind==="team"?!!t&&n.teamId===t:!1:!1}function jo(e,t){return e.filter(n=>On(n,t))}function Yo(e){return e.type==="agent"}const zo="WORK_COMMENT_ADDED",Xo="WORK_ITEM_ASSIGNED",qo="WORK_ITEM_STATUS_CHANGED";function Jo(e,t){const n=r=>{const i=new Date(r);return i.setHours(0,0,0,0),i.getTime()};return Math.round((n(e)-n(t))/Rt)}function Zo(e,t){if(e.closedAt!=null)return{score:b,reasons:[]};const n=t.remindersById?.[e.id];if(n&&n.remindAt>t.now)return{score:b,reasons:[]};let r=0;const i=[],o=e.priority??"normal";if(C[o]>0&&(r+=C[o],i.push(`priority:${o}`)),typeof e.dueDate=="number"){const a=Jo(e.dueDate,t.now);a<0?(r+=35,i.push("overdue")):a===0&&(r+=20,i.push("due-today"))}return e.source?.initiator==="system"&&e.source.systemReason&&(r+=15,i.push(`auto:${e.source.systemReason}`)),{score:r,reasons:i}}const wn="work_item",Rn="work_project",Cn="work_activity";function Nn(e){return`${wn}:${e}`}function Ce(e){return`${Rn}:${e}`}function Qo(e){return`${Cn}:${e}`}function ea(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function ta(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 na(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function ra(e,t=25){const n=new Set([Nn(e.id)]);e.projectId&&n.add(Ce(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 ia(e){return[Ce(e.id)]}const ee=[{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}],Ne=ee.map(e=>e.key);function kn(e){return e?.statuses?.length?e.statuses:ee}function vn(e,t){return t.find(n=>n.key===e)?.category??"todo"}function oa(e,t){return t.find(n=>n.key===e)}function aa(e){const t=kn(e),n=e?.defaultStatusKey;return n&&t.some(r=>r.key===n)?n:Dn(t)[0]?.key??ee[0].key}function Dn(e){return[...e].sort((t,n)=>{const r=(t.order??0)-(n.order??0);return r!==0?r:(t.label||"").localeCompare(n.label||"")})}function sa(e,t){return vn(e,t)==="done"}function xn(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toLowerCase().replace(/[^a-z0-9]+/g,"-").slice(0,48).replace(/^-+|-+$/g,"")}function ca(e,t){const n=xn(e)||"status",r=new Set([...t,...Ne]);if(!r.has(n))return n;for(let i=2;i<500;i++){const o=`${n}-${i}`;if(!r.has(o))return o}return`${n}-${r.size+1}`}function la(e){const t=[];if(!e.length)return[{index:-1,reason:"empty"}];const n=new Set;return e.forEach((r,i)=>{if(!r.key){t.push({index:i,reason:"missing_key"});return}Ne.includes(r.key)&&t.push({index:i,reason:"reserved_key",key:r.key}),n.has(r.key)&&t.push({index:i,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 ua(e){return e.completedAt?"completed":e.startedAt?"active":"planned"}const da=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),pa=new Set(["text/plain","text/markdown","text/csv","application/json","text/html","application/xml","text/xml"]);function Ln(e){const t=(e??"").trim().toLowerCase().split(";")[0];return t?da.has(t)?"image":t==="application/pdf"?"pdf":pa.has(t)?"text":t.startsWith("audio/")?"audio":"unsupported":"unsupported"}const w=1024*1024,Pn={image:5*w,pdf:20*w,text:1*w,audio:20*w},fa=25*w,ma=5;function ga(e,t){const n=Ln(e);return n==="unsupported"?"unsupported":t>Pn[n]?"too-large":null}function ha(e){return e.access!=="read"&&e.effect!=="internal"}function Un(e){return`${e.kind}:${e.id||e.url||e.title}`}function Ea(e,t=[]){const n=new Set(t),r=[],i=[];for(const o of e){const a=Un(o);n.has(a)||(n.add(a),r.push(o),i.push(a))}return{sources:r,keys:i}}const Aa="assist-source",Sa=["blocking","due","open"];function _a(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const Xe={blocking:0,due:1,open:2};function ya(e,t){return Xe[e.band??"open"]-Xe[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}function Ta(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function ba(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function Ia(e){return e.sessions.some(n=>n.id!==e.exceptSessionId&&(n.state==="connected"||n.state==="on_hold"))?{admit:!1,reason:"busy"}:{admit:!0}}function $n(e,t){const n=new Set(e.disabledIntents??[]),r=e.intentOverrides??{},i=t.intents.filter(a=>!n.has(a.intent)).map(a=>Oa(a,r[a.intent]));if(!e.extraIntents||e.extraIntents.length===0)return i;const o=new Set(i.map(a=>a.intent));for(const a of e.extraIntents)o.has(a.intent)||(i.push(a),o.add(a.intent));return i}function Kn(e,t){const n={};for(const r of e.intents){if(!r.togglable)continue;const i=t?.[r.intent];n[r.intent]=i??r.defaultEnabled??!0}return n}function Ma(e,t){const n=Kn(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function Oa(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function wa(e,t){const n=[];for(const r of e){if(!r.enabled)continue;const i=t[r.providerId];if(i)for(const o of $n(r,i))n.push({channel:r,description:i,capability:o})}return n}function Ra(e,t){return t.filter(n=>n.capability.intent===e)}function Bn(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function Ca(e,t){return Bn(e.scheme,t)}function Na(e,t,n){const r=[];for(const i of e)for(const o of n)o.capability.intent===t&&o.capability.targetSchemes.includes(i.scheme)&&r.push({channelIntent:o,endpoint:i});return r}var Fn=(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))(Fn||{});const ka={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 va(e){return e?ka[e]??"note":"note"}const Da="message_window",xa="message_templates",La={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},Pa=(e,t)=>({intent:e,...t}),Ua="folder_management",$a="remote_search",Ka="message_reactions",Ba={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},Fa="connector",Ga="context.collect",d=e=>({type:"string",description:e}),u=e=>({type:"number",description:e}),G=e=>({type:"boolean",description:e}),_=d("Sheet name. Omit for the sheet the user is looking at."),qe=d("Slide id, as `inspect` reports it.");function l(e,t,n,r,i,o){return{op:e,kinds:t,summary:n,parameters:{type:"object",properties:r,required:i},undoable:o.undoable,visible:o.visible}}const R={undoable:!1,visible:!0},g={undoable:!0,visible:!0},Je={undoable:!1,visible:!0},q={undoable:!1,visible:!1},Ha=[l("pdf.goToPage",["pdf"],"Scroll the viewer to a page.",{page:u("1-based page number.")},["page"],R),l("pdf.search",["pdf"],"Search the document and highlight the matches, as the find bar does.",{query:d("Text to find."),next:G("Jump to the next match instead of the first.")},["query"],R),l("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"],R),l("pdf.fillField",["pdf"],"Fill one form field of a fillable PDF.",{field:d("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"],g),l("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"],Je),l("pdf.deletePages",["pdf"],"Remove pages, keeping the rest in order.",{pages:{type:"array",items:{type:"number"},description:"1-based page numbers."}},["pages"],Je),l("pdf.addNote",["pdf"],"Place a text note on a page. Written on save; not visible before that.",{page:u("1-based page number."),text:d("The note's text."),left:u("Distance from the left edge, in PDF points (72 per inch)."),top:u("Distance from the top edge, in PDF points."),width:u("Box width in points. Omit for a sensible default."),height:u("Box height in points. Omit for a sensible default."),fontSize:u("Font size in points. Omit for 12.")},["page","text","left","top"],q),l("pdf.highlightText",["pdf"],"Highlight a phrase on a page. Written on save; not visible before that.",{page:u("1-based page number."),text:d("The exact phrase to highlight, as it appears in the page's text."),occurrence:u("Which occurrence on that page, 1-based. Omit for the first.")},["page","text"],q)],Wa=[l("sheet.setValues",["sheet"],"Write a block of values. The block's shape must match the range.",{sheet:_,range:d("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"],g),l("sheet.setFormula",["sheet"],"Put a formula in every cell of a range.",{sheet:_,range:d("A1 notation."),formula:d("Including the leading `=`.")},["range","formula"],g),l("sheet.setStyle",["sheet"],"Change the look of a range. Only the properties you pass are touched.",{sheet:_,range:d("A1 notation."),bold:G("Bold on or off."),italic:G("Italic on or off."),fontSize:u("Point size."),fontColor:d("CSS colour, e.g. `#b91c1c`."),background:d("CSS colour for the cell fill."),horizontalAlignment:{type:"string",enum:["left","center","right"],description:"Horizontal alignment."},numberFormat:d("Number format pattern, e.g. `#,##0.00` or `0%`.")},["range"],g),l("sheet.insertRows",["sheet"],"Insert empty rows, pushing the rest down.",{sheet:_,at:u("1-based row number to insert before."),count:u("How many. Omit for 1.")},["at"],g),l("sheet.deleteRows",["sheet"],"Delete rows, pulling the rest up.",{sheet:_,at:u("1-based first row to delete."),count:u("How many. Omit for 1.")},["at"],g),l("sheet.insertColumns",["sheet"],"Insert empty columns, pushing the rest right.",{sheet:_,at:u("1-based column number to insert before."),count:u("How many. Omit for 1.")},["at"],g),l("sheet.deleteColumns",["sheet"],"Delete columns, pulling the rest left.",{sheet:_,at:u("1-based first column to delete."),count:u("How many. Omit for 1.")},["at"],g),l("sheet.merge",["sheet"],"Merge a range into one cell.",{sheet:_,range:d("A1 notation.")},["range"],g),l("sheet.unmerge",["sheet"],"Break merged cells in a range apart.",{sheet:_,range:d("A1 notation.")},["range"],g),l("sheet.sort",["sheet"],"Sort a range on one of its columns.",{sheet:_,range:d("A1 notation covering the rows to sort, header excluded."),column:u("1-based column *within the range*, not within the sheet."),ascending:G("Ascending. Omit for ascending.")},["range","column"],g),l("sheet.insertSheet",["sheet"],"Add a new sheet.",{name:d("Name for the new sheet.")},["name"],g),l("sheet.renameSheet",["sheet"],"Rename a sheet.",{sheet:d("Current name."),name:d("New name.")},["sheet","name"],g),l("sheet.deleteSheet",["sheet"],"Remove a sheet and everything on it.",{sheet:d("Name of the sheet to delete.")},["sheet"],g),l("sheet.activate",["sheet"],"Show the user a sheet and select a range on it.",{sheet:_,range:d("A1 notation to select. Omit to only switch sheets.")},[],R)],Va=[l("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:u("The offset the paragraph starts at, exactly as `inspect` prints it."),text:d("The new text for that paragraph. A newline starts a further paragraph.")},["at","text"],g),l("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:u("Character offset where the replaced text starts, as `inspect` reports offsets."),end:u("Character offset just past the last character to replace."),text:d("The replacement text. A newline starts a new paragraph.")},["start","end","text"],g),l("word.insertText",["word"],"Insert text at a character offset, without removing anything.",{index:u("Character offset, as `inspect` reports offsets."),text:d("The text to insert.")},["index","text"],g),l("word.appendText",["word"],"Add text at the end of the document.",{text:d("The text to append.")},["text"],g),l("word.insertParagraph",["word"],"Start a new paragraph, optionally with text in it.",{text:d("Paragraph text. Newlines start further paragraphs."),index:u("Character offset to insert at. Omit for the end of the document.")},[],g),l("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:u("Start character offset."),end:u("End character offset. Omit for a caret.")},["start"],R)],ja=[l("slides.setText",["slides"],"Replace the text of one shape. Written on save; not visible before that, and not undoable.",{slide:qe,element:d("Element id, as `inspect` reports it."),text:d("The new text.")},["slide","element","text"],q),l("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:qe,element:d("Element id."),left:u("Distance from the left edge, in pixels."),top:u("Distance from the top edge, in pixels."),width:u("Width in pixels."),height:u("Height in pixels.")},["slide","element"],q)],ke=[...Ha,...Wa,...Va,...ja];function Ya(e){return ke.filter(t=>t.kinds.includes(e))}function za(e){return ke.find(t=>t.op===e)}const Xa="documents.describe",qa="documents.inspect",Ja="documents.apply";function Za(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 Qa="installation-id";function es(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 ts="notification-source",ns=(e,t)=>`${e}.pref.${t}`,rs={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","attribute.read","attribute.write","calendar.read","calendar.write","channel.read","channel.write","custom-field.read","custom-field.write","folder.read","folder.write","inbox.read","inbox.write","interaction.read","interaction.write","reaction.read","reaction.write","reminder.read","template.read","template.write","topic.read","topic.write"],context:["kind.read","kind.write","memory.read","memory.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"]},ve=9e4,Gn=["out_of_office"],Hn=e=>Gn.includes(e);function is(e,t,n){const r=n-e<ve,i=t?.status&&(!t.expiresAt||t.expiresAt>n)?t:void 0;if(!i?.status)return{online:r,status:r?"available":"offline"};const o=i.status;return!r&&!Hn(o)?{online:!1,status:"offline"}:{online:r,status:o,message:i.message}}function os(e,t){const n=t-e.lastSeenAt<ve,r=n||Hn(e.status)?e.status:"offline";return n===e.online&&r===e.status?e:{...e,online:n,status:r}}function as(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 ss(e){return e.providerAvailable&&e.allowed}const cs="resources.describe",ls="resources.search",us="resources.resolve",ds="resources.attached";function ps(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const fs="/provider/scope/related",ms="/provider/scope/read",De="auth";function xe(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function gs(e){const t=xe(e);return t?t!==De:typeof e=="string"&&e.startsWith("/wake")}function hs(e){return typeof e!="string"||e===""||e==="/"?!0:xe(e)===De}function Es(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Wn(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${Es(r)}`).join("");return new RegExp(`^${n}\\/?$`)}function Vn(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean),i={};return n.forEach((o,a)=>{if(o.startsWith(":")){const s=o.endsWith("?")?o.slice(1,-1):o.slice(1),c=r[a];c&&(i[s]=c)}}),i}function jn(e){return e.publicBasePath??`/apps/${e.name}`}function As(e){const t=[];for(const n of e){if(!n?.name)continue;const r=jn(n);for(const i of n.routes??[]){if(!i.public)continue;const o=i.path==="/"?"":i.path;t.push({appName:n.name,resource:i.resource,pattern:`${r}${o}`,props:i.props})}}return t}function Yn(e,t){const n=e.split("/").filter(Boolean),r=t.split("/").filter(Boolean);for(let i=0;i<Math.min(n.length,r.length);i++){const o=n[i].startsWith(":"),a=r[i].startsWith(":");if(o!==a)return a}return n.length>r.length}function zn(e,t){if(typeof e!="string")return null;let n=null;for(const r of t)Wn(r.pattern).test(e)&&(!n||Yn(r.pattern,n.pattern))&&(n=r);return n?{...n,params:{...n.props,...Vn(n.pattern,e)}}:null}function Ss(e,t){return zn(e,t)!==null}const _s=10*1024*1024,ys=25*1024*1024,Ts="sync-target",bs=20,Is={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]"]},Xn=e=>{let t=e;return Object.values(Is).forEach(n=>{n.forEach(r=>{t=t.replaceAll(r,"")})}),t=t.replace(/\(.*?\)/g,""),t=t.replace(/\[.*?\]/g,""),t},qn=6e4,Jn=8e3,Zn=2,Qn=.4,Ms=3,Os=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 er(e){const t=new Set;for(const n of e.toLowerCase().split(/[^a-z0-9À-ɏ]+/))n.length<Ms||Os.has(n)||t.add(n);return[...t]}function tr(e,t){if(!e.length)return 0;if(!t.length)return 1;const n=new Set(t),r=new Set(e);let i=0;for(const o of r)n.has(o)||(i+=1);return i/r.size}function nr(e,t=qn){const n=e.filter(a=>!a.partial&&typeof a.text=="string");if(!n.length)return{text:"",segmentCount:0};const i=n.reduce((a,s)=>Math.max(a,s.endedAt??0),0)-t;return{text:n.filter(a=>(a.endedAt??0)>=i).map(a=>Xn(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g," ").trim(),segmentCount:n.length}}const rr=60;function ws(e,t,n=rr){const r=new Set(e),i=[...e];for(const o of t)!o||r.has(o)||(r.add(o),i.push(o));return i.slice(-n)}function Rs(e){const{segments:t,now:n,state:r}=e;if(r.lastTriggerAt&&n-r.lastTriggerAt<Jn)return{trigger:!1,reason:"too_soon"};const i=nr(t,e.windowMs);if(!i.text)return{trigger:!1,reason:"no_speech"};const o=i.segmentCount-(r.lastSegmentCount??0);if(r.lastQueryTerms&&o<Zn)return{trigger:!1,reason:"too_few_new"};const a=er(i.text);return a.length?r.lastQueryTerms?.length&&tr(a,r.lastQueryTerms)<Qn?{trigger:!1,reason:"same_topic"}:{trigger:!0,text:i.text,terms:a,segmentCount:i.segmentCount}:{trigger:!1,reason:"no_speech"}}const Cs=["personal","workspace","connections","work","ai"],Ns="navNotice",te={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}},ir="NL",ks=15,vs=8,Ds=Array.from(new Set(Object.values(te).map(e=>e.callingCode))).sort((e,t)=>t.length-e.length);function Ze(e){if(e)return te[e.trim().toUpperCase()]}function H(e,t){return e.length>=t.nsnMin&&e.length<=t.nsnMax}function Qe(e){if(e.length>ks)return null;for(const t of Ds){if(!e.startsWith(t))continue;const n=e.slice(t.length);for(const r of Object.values(te)){if(r.callingCode!==t)continue;const i=r.trunkPrefix,o=i&&n.startsWith(i)?n.slice(i.length):n;if(H(o,r))return`+${t}${o}`}return null}return e.length<vs?null:`+${e}`}function xs(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 Ls(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 Se(e,t){if(!e)return null;const n=xs(e);if(!n)return null;const r=n.startsWith("+"),i=n.replace(/\D/g,"");if(!i)return null;if(r)return Qe(i);if(i.startsWith("00"))return Qe(i.slice(2));const o=Ze(t)??Ze(ir);if(!o)return null;const a=o.trunkPrefix;if(a&&i.startsWith(a)){const s=i.slice(a.length);return H(s,o)?`+${o.callingCode}${s}`:null}if(i.startsWith(o.callingCode)){const s=i.slice(o.callingCode.length);if(H(s,o))return`+${o.callingCode}${s}`}return!a&&H(i,o)?`+${o.callingCode}${i}`:null}function Ps(e,t=9){const n=(e??"").replace(/\D/g,"");return n.length<t?null:n.slice(-t)}function Le(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],i=t.slice(n+1);return!r||!i.includes(".")?null:`${r}@${i}`}function Us(e){const t=Le(e);return t?t.slice(t.lastIndexOf("@")+1):null}const $s=new Set(["co.uk","org.uk","gov.uk","ac.uk","com.au","co.nz","com.br","co.za"]);function or(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 $s.has(n)&&t.length>=3?t.slice(-3).join("."):n}const ar=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 Ks(e){const t=or(e);return t?ar.has(t):!1}function Bs(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function Fs(e,t,n){if(!e||!t)return null;const r=e.trim().toLowerCase();if(r==="tel"||r==="sms"||r==="whatsapp"){const o=Se(t,n);return o?`tel:${o}`:null}if(r==="fax"){const o=Se(t,n);return o?`fax:${o}`:null}if(r==="mailto"||r==="email"){const o=Le(t);return o?`mailto:${o}`:null}const i=t.trim().toLowerCase();return i?`${r}:${i}`:null}const Gs=[/<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],et=/^\s*(?:>+\s*)?(?:from|van|sent|verzonden|to|aan|cc|subject|onderwerp|date|datum)\s*:/i,Hs=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function Ws(e){const t=e.split(`
|
|
10
|
+
`);for(let n=0;n<t.length;n++)if(Hs.test(t[n])||et.test(t[n])&&t.slice(n+1,n+4).some(r=>et.test(r)))return t.slice(0,n).join(`
|
|
11
|
+
`).trim();return e}const Vs=/^(?:https?:|mailto:|tel:)/i,js=/^(?:https?:|cid:|data:image\/)/i;function ae(e,t){const n=e.match(new RegExp(`\\b${t}\\s*=\\s*(?:"([^"]*)"|'([^']*)'|([^\\s">]+))`,"i"));return(n?.[1]??n?.[2]??n?.[3]??"").trim()}const Ys=/(!\[[^\]]*\]\([^)]*\))/;function tt(e){return e.replace(/\s+/g," ").trim().split(Ys).map((t,n)=>n%2===1?t:t.replace(/[[\]]/g,"\\$&")).join("")}function se(e){return e.replace(/[()\s<>"]/g,t=>`%${t.charCodeAt(0).toString(16).toUpperCase().padStart(2,"0")}`)}function zs(e){return e.replace(/<img\b([^>]*?)\/?>/gi,(n,r)=>{const i=ae(r,"src");return js.test(i)?`})`:""}).replace(/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,(n,r,i)=>{const o=tt(i.replace(/<[^>]*>/g,"")),a=ae(r,"href");return Vs.test(a)?`[${o||se(a)}](${se(a)})`:o})}const Xs=/<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i,qs=/<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi,Js=/<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;function Zs(e,t){return/<table\b/i.test(e)||e.includes(`
|
|
12
12
|
|
|
13
|
-
|`)||t.includes("![")||t.length>200}const
|
|
13
|
+
|`)||t.includes("![")||t.length>200}const Qs=40,ec={left:"---",center:":---:",right:"---:"};function tc(e){const t=e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);return t?t[1].toLowerCase():"left"}function nc(e){return e.replace(/<[^>]*>/g,"").replace(/\s+/g," ").trim().replace(/\|/g,"\\|")}function rc(e){const t=[];for(const a of e.matchAll(qs)){const s=[];for(const c of a[1].matchAll(Js)){const m=nc(c[3]);if(Zs(c[3],m))return null;s.push({text:m,align:tc(c[2])})}if(s.length===0)return null;s.some(c=>c.text!=="")&&t.push(s)}const n=t[0]?.length??0;if(t.length<2||n<2||t.some(a=>a.length!==n))return null;const r=a=>`| ${a.map(s=>s.text).join(" | ")} |`,i=t[1].map(a=>ec[a.align]).join(" | "),o=t.slice(1).map(r).join(`
|
|
14
14
|
`);return`
|
|
15
15
|
|
|
16
16
|
${r(t[0])}
|
|
17
17
|
| ${i} |
|
|
18
18
|
${o}
|
|
19
19
|
|
|
20
|
-
`}function
|
|
21
|
-
`).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi,"").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi,"")}function
|
|
20
|
+
`}function ic(e){return e.replace(/<\/(t[dh])\s*>/gi," ").replace(/<\/tr\s*>/gi,`
|
|
21
|
+
`).replace(/<(?:tbody|thead|tfoot|caption|colgroup|col|tr|t[dh])\b[^>]*>/gi,"").replace(/<\/(?:tbody|thead|tfoot|caption|colgroup)\s*>/gi,"")}function oc(e){let t=e;for(let n=0;n<Qs;n++){const r=Xs.exec(t);if(!r||r.index===void 0)break;const o=rc(r[1])??`
|
|
22
22
|
|
|
23
|
-
${
|
|
23
|
+
${ic(r[1])}
|
|
24
24
|
|
|
25
25
|
`;t=t.slice(0,r.index)+o+t.slice(r.index+r[0].length)}return t}function nt(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,`
|
|
26
|
-
`),t&&(n=
|
|
26
|
+
`),t&&(n=oc(zs(n))),n=n.replace(/<\/(p|h[1-6]|ul|ol|table|blockquote)>/gi,`
|
|
27
27
|
|
|
28
28
|
`),n=n.replace(/<\/(div|li|tr)>/gi,`
|
|
29
|
-
`),n=n.replace(/<\/(td|th)>/gi," "),n=n.replace(/<[^>]+>/g,""),n=n.replace(/<[^>]*$/,""),n}function rt(e){return!Number.isInteger(e)||e<0||e>1114111?null:String.fromCodePoint(e)}const
|
|
29
|
+
`),n=n.replace(/<\/(td|th)>/gi," "),n=n.replace(/<[^>]+>/g,""),n=n.replace(/<[^>]*$/,""),n}function rt(e){return!Number.isInteger(e)||e<0||e>1114111?null:String.fromCodePoint(e)}const ac={euro:"€",pound:"£",yen:"¥",cent:"¢",copy:"©",reg:"®",trade:"™",deg:"°",plusmn:"±",times:"×",middot:"·",bull:"•",hellip:"…",mdash:"—",ndash:"–",lsquo:"‘",rsquo:"’",ldquo:"“",rdquo:"”",apos:"'"};function it(e){return e.replace(/ /gi," ").replace(/&([a-z]+);/gi,(t,n)=>ac[n.toLowerCase()]??t).replace(/</gi,"<").replace(/>/gi,">").replace(/"/gi,'"').replace(/&#(\d+);/g,(t,n)=>rt(Number(n))??t).replace(/&#x([0-9a-f]+);/gi,(t,n)=>rt(parseInt(n,16))??t).replace(/&/gi,"&")}function ot(e){return e.replace(/\r/g,"").replace(/[ \t]+/g," ").replace(/ *\n */g,`
|
|
30
30
|
`).replace(/\n{3,}/g,`
|
|
31
31
|
|
|
32
|
-
`).trim()}const sr=/<\s*(html|body|div|p|table|br|span)\b/i;function ac(e){return sr.test(e)}function sc(e){return cr(e,!1)}function cc(e){return cr(e,!0)}function cr(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const a of Fs){const s=e.search(a);s>=0&&s<n&&(n=s)}const r=e.slice(0,n);let i=ot(it(nt(r,t)));return i||(i=ot(it(nt(e,t)))),Hs(i)||i}exports.ACTIVE_ASSIGNMENT_STATUSES=ai;exports.ACTIVITY_CATALOG=y;exports.AI_ATTACHMENT_LIMITS=Pn;exports.AI_ATTACHMENT_MAX_PER_TURN=fa;exports.AI_ATTACHMENT_TURN_BUDGET=pa;exports.AI_VENDORS=Te;exports.ALLOWED_LINK_SCHEMES=_t;exports.APP_PERMISSIONS=ns;exports.ARTIFACT_MAX_BLOCKS=ue;exports.ARTIFACT_MAX_BODY_BYTES=Vr;exports.ARTIFACT_MAX_CELL_LEN=B;exports.ARTIFACT_MAX_KPI_ITEMS=me;exports.ARTIFACT_MAX_LIST_ITEMS=de;exports.ARTIFACT_MAX_TABLE_COLUMNS=fe;exports.ARTIFACT_MAX_TABLE_ROWS=pe;exports.ARTIFACT_MAX_TEXT_LEN=be;exports.ASSIGNMENT_SCOPE_KIND=It;exports.ASSIST_BANDS=Aa;exports.ASSIST_SOURCE_PROVIDER_GROUP=Ea;exports.ATTENTION_STATUSES=Lt;exports.AUTH_APP_NAME=De;exports.AUTO_READY_MIN_PROPOSALS=un;exports.AUTO_READY_RATE=dn;exports.ActivityTypeRegistry=dt;exports.BUILT_IN_ONLY=Rr;exports.BULK_PENALTY=Pt;exports.CADENCE_FLOOR_MS=Jn;exports.CADENCE_MIN_NEW_SEGMENTS=Zn;exports.CADENCE_MIN_NOVELTY=Qn;exports.CADENCE_WINDOW_MS=qn;exports.CLASSIFY_VARS=ao;exports.CONNECTOR_PROVIDER_GROUP=Ba;exports.CONTEXT_COLLECT_SERVICE=Fa;exports.CORE_DIMENSIONS=Br;exports.CommunicationScheme=Fn;exports.DAY_MS=Rt;exports.DEFAULT_MEMORY_BUDGET=ji;exports.DEFAULT_PHONE_REGION=ir;exports.DOCUMENT_APPLY_SERVICE=qa;exports.DOCUMENT_DESCRIBE_SERVICE=za;exports.DOCUMENT_INSPECT_SERVICE=Xa;exports.DOCUMENT_OPERATIONS=ke;exports.EMPTY_WORKFLOW=co;exports.FEATURE_FOLDER_MANAGEMENT=Pa;exports.FEATURE_MESSAGE_REACTIONS=$a;exports.FEATURE_REMOTE_SEARCH=Ua;exports.FOLLOW_UP_HOURS=$t;exports.HOUR_MS=wt;exports.HTML_BODY_RE=sr;exports.INELIGIBLE=b;exports.INSTALLATION_HEADER=Za;exports.INTERACTION_KIND=on;exports.InteractionParticipantRole=xa;exports.KB_FALLBACK_LOCALE=Xt;exports.KB_LOCALES=ge;exports.LOOSE_STATUSES=ee;exports.MAIL_HINT_HEADERS=Dt;exports.MAX_ACTIONS=K;exports.MAX_ASSIGNMENT_TURNS=Mt;exports.MAX_BLOCKS=ce;exports.MAX_COLLECTION_DEPTH=Oe;exports.MAX_EDITABLE_FILE_BYTES=Ss;exports.MAX_FIELDS=U;exports.MAX_LIST_ITEMS=$;exports.MAX_MEMORY_BROWSE=Gi;exports.MAX_MEMORY_BUDGET=Vi;exports.MAX_MEMORY_CHARS=Hi;exports.MAX_SHOWN_KEYS=rr;exports.MAX_TOPIC_CANDIDATES=bn;exports.MAX_TOPIC_EXAMPLES=Tn;exports.MAX_TOPIC_EXAMPLE_CHARS=F;exports.MAX_VIEWABLE_FILE_BYTES=_s;exports.MIN_MEMORY_BUDGET=Wi;exports.NAV_NOTICE_SLOT=Cs;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=es;exports.ONBOARDING_SOURCE_PROVIDER_GROUP=zi;exports.PAUSE_SNOOZED=Y;exports.PAUSE_WAITING_FOR_CUSTOMER=z;exports.PHONE_REGIONS=te;exports.PRESENCE_ONLINE_WINDOW_MS=ve;exports.PRESENCE_SURVIVES_OFFLINE=Gn;exports.PROFILE_TOOL_DISPOSITIONS=qi;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=Da;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=va;exports.PUBLIC_EMAIL_DOMAINS=ar;exports.READ_STEP_TYPES=he;exports.RELATED_SUBJECT_KINDS=Jt;exports.RESERVED_STATUS_KEYS=Ne;exports.RESOURCE_ATTACHED_SERVICE=us;exports.RESOURCE_DESCRIBE_SERVICE=ss;exports.RESOURCE_RESOLVE_SERVICE=ls;exports.RESOURCE_SEARCH_SERVICE=cs;exports.SCOPE_READ_ROUTE=fs;exports.SCOPE_RELATED_ROUTE=ps;exports.SETTINGS_CATEGORIES=Rs;exports.SIGNATURE_INTENTS=fi;exports.SLA_HOURS_BY_PRIORITY=Ut;exports.SLA_METRICS=Mo;exports.SLA_PAUSE_REASONS=Oo;exports.STEP_MAX_TOKENS_MAX=cn;exports.STEP_MAX_TOKENS_MIN=sn;exports.SUMMARY_MIN_LAST_CHARS=vt;exports.SUMMARY_MIN_MESSAGES=kt;exports.SYNC_RUN_MAX_ERRORS=Ts;exports.SYNC_TARGET_PROVIDER_GROUP=ys;exports.TERMINAL_ASSIGNMENT_STATUSES=bt;exports.TERMINAL_RUN_STATUSES=pn;exports.TRIGGER_VARS=oo;exports.UNSUPPORTED=Ka;exports.USAGE_DIMENSIONS=ht;exports.USAGE_DIMENSION_IDS=Et;exports.WORK_ACTIVITY_SCOPE_KIND=Cn;exports.WORK_AREAS=Xi;exports.WORK_COMMENT_ADDED=zo;exports.WORK_ITEM_ASSIGNED=Xo;exports.WORK_ITEM_SCOPE_KIND=wn;exports.WORK_ITEM_STATUS_CHANGED=qo;exports.WORK_PROJECT_SCOPE_KIND=Rn;exports.W_PRIORITY=C;exports.acceptExampleCandidate=Vo;exports.actingIdentityKey=Qt;exports.activeWorkTypes=Ho;exports.activityIconOf=mr;exports.activityJoinUrl=Ir;exports.activitySnippet=lt;exports.activityTextParams=ut;exports.activityTimelineText=br;exports.activityTimestamp=pt;exports.activityTypeInfo=A;exports.actorKey=Qi;exports.addExampleCandidate=Wo;exports.addWorkingMs=Z;exports.agePresenceEntry=is;exports.aiAttachmentKind=Ln;exports.aiAttachmentRejection=ma;exports.aiBudgetLimit=le;exports.aiBudgetPeriodKey=$r;exports.aiBudgetPeriodStart=ft;exports.aiBudgetState=Ur;exports.aiVendorAcceptsAttachment=Pr;exports.aiVendorDefaultModel=Dr;exports.aiVendorLabel=vr;exports.aiVendorNeedsBaseUrl=Lr;exports.aiVendorsWith=xr;exports.appNameFromPath=xe;exports.applyRounding=$o;exports.applySignature=mi;exports.approvalRate=ln;exports.artifactBodyBytes=Qr;exports.artifactOutline=ei;exports.artifactToMarkdown=ni;exports.assignmentMismatch=ro;exports.assignmentScopeKey=ci;exports.assignmentSubject=di;exports.buildActivityPreview=Or;exports.buildChannelIntents=Oa;exports.buildShareKeys=ri;exports.buildWindow=nr;exports.calendarOf=Q;exports.canNestUnder=Li;exports.carriesText=Sr;exports.categoryLabel=Ui;exports.categoryOf=vn;exports.channelKindForScheme=ka;exports.channelKindOf=gr;exports.clampStepMaxTokens=so;exports.classifyMail=bi;exports.cleanMessageMarkdown=cc;exports.cleanMessageText=sc;exports.compareAssistRank=_a;exports.compareWorkTypes=yn;exports.decideAssignmentState=pi;exports.decideCadence=ws;exports.decideIncomingCall=ba;exports.defaultLocaleOf=qt;exports.defaultStatusKey=aa;exports.defineIntent=La;exports.depthOf=Yt;exports.derivePresence=rs;exports.disabledIntentsFromCapabilities=Ia;exports.documentKindOf=Ja;exports.dueAtOf=Do;exports.elapsedSeconds=Uo;exports.emailDomain=Ps;exports.endpointKey=Bs;exports.extractParams=Vn;exports.extractTerms=er;exports.filterByEndpoint=Ra;exports.filterByIntent=wa;exports.filterByTargetScheme=Bn;exports.findAiVendor=k;exports.flattenLocales=Qa;exports.floorToPeriod=gt;exports.formatActingIdentity=Zt;exports.formatClock=Bo;exports.formatHm=Ko;exports.formatItemKey=ea;exports.formatPeriod=mt;exports.formatSlaDuration=Po;exports.freshSources=ha;exports.getActivitySeenUserIds=Cr;exports.getContactEndpoints=gi;exports.getShortTitle=Ni;exports.getUrgencyScore=Ci;exports.hasReacted=So;exports.heightOf=we;exports.helpCenterText=vi;exports.humanizeAction=io;exports.interactionIdOf=an;exports.isAgentUser=Yo;exports.isAssigned=wi;exports.isAssignmentTerminal=si;exports.isAssignmentTrigger=nn;exports.isAutoReady=po;exports.isAwaitingThem=Vt;exports.isChatMessageActivity=kr;exports.isClosed=Ri;exports.isConnectedType=yr;exports.isDeepLink=ms;exports.isDescendant=zt;exports.isEligible=hi;exports.isEmailActivity=Nr;exports.isHtmlBody=ac;exports.isInFlight=mo;exports.isInteractionUnseen=xt;exports.isLandingPath=gs;exports.isLikelyBulk=Nt;exports.isMessageShape=_e;exports.isMessageType=hr;exports.isMoreSpecificPattern=Yn;exports.isNoteShape=ye;exports.isOpenClock=Sn;exports.isOutwardTool=ga;exports.isParked=Bt;exports.isPaused=fn;exports.isPlaybookAuthoredType=_r;exports.isPublicEmailDomain=$s;exports.isPublicPath=As;exports.isReminderActive=Ft;exports.isReplyableType=Ar;exports.isSlaAtRisk=Mi;exports.isTerminal=fo;exports.isThreadLongEnough=Si;exports.isTranscriptType=Tr;exports.isWorkClosed=sa;exports.isWorkTypeVisible=Go;exports.itemDossierKeys=ra;exports.ladderFor=kn;exports.linkLabel=ki;exports.listeningAllowed=Kr;exports.localeInstruction=xi;exports.localeName=Di;exports.localesOf=Pi;exports.looksLikeEmail=xs;exports.matchContactToIntents=Ca;exports.matchPublicRoute=zn;exports.mcpCredentialScope=Bi;exports.mcpToolPrefix=Fi;exports.mergeShownKeys=Os;exports.messageCountsAs=ct;exports.needsPhoneRegion=Ks;exports.nestsUnderParent=Er;exports.nextSlaClock=xo;exports.normalizeArtifactBlocks=Zr;exports.normalizeBlocks=dr;exports.normalizeEmail=Le;exports.normalizeExample=I;exports.notificationPrefKey=ts;exports.novelty=tr;exports.operationDescriptor=Ya;exports.operationsForKind=ja;exports.parkMarksById=Ei;exports.parseActingIdentity=Ji;exports.parseClockMinutes=bo;exports.parseItemKey=ta;exports.pathToRegex=Wn;exports.pauseBitFor=Io;exports.periodsInRange=Hr;exports.phoneSuffix=Ls;exports.pickMailHeaders=_i;exports.plainTextFromMarkdown=at;exports.planSlaEvent=vo;exports.playbookActor=tn;exports.procedureOf=uo;exports.projectDossierKeys=ia;exports.publicBasePathFor=jn;exports.publicRoutePatterns=Es;exports.reactionWakesAssignment=ui;exports.readPath=W;exports.readStepError=Ee;exports.recencyOf=Kt;exports.refKey=rn;exports.registrableDomain=or;exports.rejectExampleCandidate=Mn;exports.relatedByDefault=Yi;exports.remainingMsOf=X;exports.resolveAccountCapabilities=Kn;exports.resolveActivityText=V;exports.resolveChannelIntents=$n;exports.resolveSignature=Ot;exports.resolveWorkMode=os;exports.resourceKindOf=ds;exports.runActor=Zi;exports.runInteractionId=ho;exports.sanitizeInline=Tt;exports.sanitizeTranscript=Xn;exports.scoreInteraction=Oi;exports.scoreWorkItem=Zo;exports.selectLenses=Ki;exports.sessionsHoldCannotReach=Ta;exports.sessionsToHold=ya;exports.shareKeyForTeam=Me;exports.shareKeyForUser=Ie;exports.shareKeysForViewer=ii;exports.shouldRunAudioPipeline=as;exports.slaBadgeTone=Lo;exports.slaHoursByInbox=Ii;exports.slaHoursFor=Wt;exports.sortStatuses=Dn;exports.sourceKey=Un;exports.statusIn=oa;exports.stepsOf=lo;exports.stripHtml=st;exports.subjectKeyOf=go;exports.subjectOf=Re;exports.subjectRef=Sa;exports.suggestProjectKey=na;exports.summarizeReactions=Eo;exports.targetById=no;exports.targetForActivityType=to;exports.toActingIdentity=en;exports.toE164=Se;exports.toolSourceKinds=oi;exports.topicOfferedForTeam=On;exports.topicsForTeam=jo;exports.truncateExample=In;exports.uniqueWorkStatusKey=ca;exports.uniqueWorkTypeKey=Fo;exports.usageMetricId=At;exports.usageMetrics=Wr;exports.validateStatuses=la;exports.valueAtPath=eo;exports.waitHoursOf=J;exports.wakesAssignment=li;exports.workActivityScopeKey=Qo;exports.workItemScopeKey=Nn;exports.workProjectScopeKey=Ce;exports.workStatusKey=xn;exports.workTypeKey=_n;exports.workingMsBetween=j;
|
|
32
|
+
`).trim()}const sr=/<\s*(html|body|div|p|table|br|span)\b/i;function sc(e){return sr.test(e)}function cc(e){return cr(e,!1)}function lc(e){return cr(e,!0)}function cr(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const a of Gs){const s=e.search(a);s>=0&&s<n&&(n=s)}const r=e.slice(0,n);let i=ot(it(nt(r,t)));return i||(i=ot(it(nt(e,t)))),Ws(i)||i}exports.ACTIVE_ASSIGNMENT_STATUSES=ai;exports.ACTIVITY_CATALOG=y;exports.AI_ATTACHMENT_LIMITS=Pn;exports.AI_ATTACHMENT_MAX_PER_TURN=ma;exports.AI_ATTACHMENT_TURN_BUDGET=fa;exports.AI_VENDORS=Te;exports.ALLOWED_LINK_SCHEMES=_t;exports.APP_PERMISSIONS=rs;exports.ARTIFACT_MAX_BLOCKS=ue;exports.ARTIFACT_MAX_BODY_BYTES=Vr;exports.ARTIFACT_MAX_CELL_LEN=B;exports.ARTIFACT_MAX_KPI_ITEMS=me;exports.ARTIFACT_MAX_LIST_ITEMS=de;exports.ARTIFACT_MAX_TABLE_COLUMNS=fe;exports.ARTIFACT_MAX_TABLE_ROWS=pe;exports.ARTIFACT_MAX_TEXT_LEN=be;exports.ASSIGNMENT_SCOPE_KIND=It;exports.ASSIST_BANDS=Sa;exports.ASSIST_SOURCE_PROVIDER_GROUP=Aa;exports.ATTENTION_STATUSES=Lt;exports.AUTH_APP_NAME=De;exports.AUTO_READY_MIN_PROPOSALS=un;exports.AUTO_READY_RATE=dn;exports.ActivityTypeRegistry=dt;exports.BUILT_IN_ONLY=Rr;exports.BULK_PENALTY=Pt;exports.CADENCE_FLOOR_MS=Jn;exports.CADENCE_MIN_NEW_SEGMENTS=Zn;exports.CADENCE_MIN_NOVELTY=Qn;exports.CADENCE_WINDOW_MS=qn;exports.CLASSIFY_VARS=ao;exports.CONNECTOR_PROVIDER_GROUP=Fa;exports.CONTEXT_COLLECT_SERVICE=Ga;exports.CORE_DIMENSIONS=Br;exports.CommunicationScheme=Fn;exports.DAY_MS=Rt;exports.DEFAULT_MEMORY_BUDGET=ji;exports.DEFAULT_PHONE_REGION=ir;exports.DOCUMENT_APPLY_SERVICE=Ja;exports.DOCUMENT_DESCRIBE_SERVICE=Xa;exports.DOCUMENT_INSPECT_SERVICE=qa;exports.DOCUMENT_OPERATIONS=ke;exports.EMPTY_WORKFLOW=co;exports.FEATURE_FOLDER_MANAGEMENT=Ua;exports.FEATURE_MESSAGE_REACTIONS=Ka;exports.FEATURE_REMOTE_SEARCH=$a;exports.FOLLOW_UP_HOURS=$t;exports.HOUR_MS=wt;exports.HTML_BODY_RE=sr;exports.INELIGIBLE=b;exports.INSTALLATION_HEADER=Qa;exports.INTERACTION_KIND=on;exports.InteractionParticipantRole=La;exports.KB_FALLBACK_LOCALE=Xt;exports.KB_LOCALES=ge;exports.LOOSE_STATUSES=ee;exports.MAIL_HINT_HEADERS=Dt;exports.MAX_ACTIONS=K;exports.MAX_ASSIGNMENT_TURNS=Mt;exports.MAX_BLOCKS=ce;exports.MAX_COLLECTION_DEPTH=Oe;exports.MAX_EDITABLE_FILE_BYTES=_s;exports.MAX_FIELDS=U;exports.MAX_LIST_ITEMS=$;exports.MAX_MEMORY_BROWSE=Gi;exports.MAX_MEMORY_BUDGET=Vi;exports.MAX_MEMORY_CHARS=Hi;exports.MAX_SHOWN_KEYS=rr;exports.MAX_TOPIC_CANDIDATES=bn;exports.MAX_TOPIC_EXAMPLES=Tn;exports.MAX_TOPIC_EXAMPLE_CHARS=F;exports.MAX_VIEWABLE_FILE_BYTES=ys;exports.MIN_MEMORY_BUDGET=Wi;exports.NAV_NOTICE_SLOT=Ns;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=ts;exports.ONBOARDING_SOURCE_PROVIDER_GROUP=zi;exports.PAUSE_SNOOZED=Y;exports.PAUSE_WAITING_FOR_CUSTOMER=z;exports.PHONE_REGIONS=te;exports.PRESENCE_ONLINE_WINDOW_MS=ve;exports.PRESENCE_SURVIVES_OFFLINE=Gn;exports.PROFILE_TOOL_DISPOSITIONS=qi;exports.PROVIDER_FEATURE_MESSAGE_TEMPLATES=xa;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=Da;exports.PUBLIC_EMAIL_DOMAINS=ar;exports.READ_STEP_TYPES=he;exports.RELATED_SUBJECT_KINDS=Jt;exports.RESERVED_STATUS_KEYS=Ne;exports.RESOURCE_ATTACHED_SERVICE=ds;exports.RESOURCE_DESCRIBE_SERVICE=cs;exports.RESOURCE_RESOLVE_SERVICE=us;exports.RESOURCE_SEARCH_SERVICE=ls;exports.SCOPE_READ_ROUTE=ms;exports.SCOPE_RELATED_ROUTE=fs;exports.SETTINGS_CATEGORIES=Cs;exports.SIGNATURE_INTENTS=fi;exports.SLA_HOURS_BY_PRIORITY=Ut;exports.SLA_METRICS=Mo;exports.SLA_PAUSE_REASONS=Oo;exports.STEP_MAX_TOKENS_MAX=cn;exports.STEP_MAX_TOKENS_MIN=sn;exports.SUMMARY_MIN_LAST_CHARS=vt;exports.SUMMARY_MIN_MESSAGES=kt;exports.SYNC_RUN_MAX_ERRORS=bs;exports.SYNC_TARGET_PROVIDER_GROUP=Ts;exports.TERMINAL_ASSIGNMENT_STATUSES=bt;exports.TERMINAL_RUN_STATUSES=pn;exports.TRIGGER_VARS=oo;exports.UNSUPPORTED=Ba;exports.USAGE_DIMENSIONS=ht;exports.USAGE_DIMENSION_IDS=Et;exports.WORK_ACTIVITY_SCOPE_KIND=Cn;exports.WORK_AREAS=Xi;exports.WORK_COMMENT_ADDED=zo;exports.WORK_ITEM_ASSIGNED=Xo;exports.WORK_ITEM_SCOPE_KIND=wn;exports.WORK_ITEM_STATUS_CHANGED=qo;exports.WORK_PROJECT_SCOPE_KIND=Rn;exports.W_PRIORITY=C;exports.acceptExampleCandidate=Vo;exports.actingIdentityKey=Qt;exports.activeWorkTypes=Ho;exports.activityIconOf=mr;exports.activityJoinUrl=Ir;exports.activitySnippet=lt;exports.activityTextParams=ut;exports.activityTimelineText=br;exports.activityTimestamp=pt;exports.activityTypeInfo=A;exports.actorKey=Qi;exports.addExampleCandidate=Wo;exports.addWorkingMs=Z;exports.agePresenceEntry=os;exports.aiAttachmentKind=Ln;exports.aiAttachmentRejection=ga;exports.aiBudgetLimit=le;exports.aiBudgetPeriodKey=$r;exports.aiBudgetPeriodStart=ft;exports.aiBudgetState=Ur;exports.aiVendorAcceptsAttachment=Pr;exports.aiVendorDefaultModel=Dr;exports.aiVendorLabel=vr;exports.aiVendorNeedsBaseUrl=Lr;exports.aiVendorsWith=xr;exports.appNameFromPath=xe;exports.applyRounding=$o;exports.applySignature=mi;exports.approvalRate=ln;exports.artifactBodyBytes=Qr;exports.artifactOutline=ei;exports.artifactToMarkdown=ni;exports.assignmentMismatch=ro;exports.assignmentScopeKey=ci;exports.assignmentSubject=di;exports.buildActivityPreview=Or;exports.buildChannelIntents=wa;exports.buildShareKeys=ri;exports.buildWindow=nr;exports.calendarOf=Q;exports.canNestUnder=Li;exports.carriesText=Sr;exports.categoryLabel=Ui;exports.categoryOf=vn;exports.channelKindForScheme=va;exports.channelKindOf=gr;exports.clampStepMaxTokens=so;exports.classifyMail=bi;exports.cleanMessageMarkdown=lc;exports.cleanMessageText=cc;exports.compareAssistRank=ya;exports.compareWorkTypes=yn;exports.cycleState=ua;exports.decideAssignmentState=pi;exports.decideCadence=Rs;exports.decideIncomingCall=Ia;exports.defaultLocaleOf=qt;exports.defaultStatusKey=aa;exports.defineIntent=Pa;exports.depthOf=Yt;exports.derivePresence=is;exports.disabledIntentsFromCapabilities=Ma;exports.documentKindOf=Za;exports.dueAtOf=Do;exports.elapsedSeconds=Uo;exports.emailDomain=Us;exports.endpointKey=Fs;exports.extractParams=Vn;exports.extractTerms=er;exports.filterByEndpoint=Ca;exports.filterByIntent=Ra;exports.filterByTargetScheme=Bn;exports.findAiVendor=k;exports.flattenLocales=es;exports.floorToPeriod=gt;exports.formatActingIdentity=Zt;exports.formatClock=Bo;exports.formatHm=Ko;exports.formatItemKey=ea;exports.formatPeriod=mt;exports.formatSlaDuration=Po;exports.freshSources=Ea;exports.getActivitySeenUserIds=Cr;exports.getContactEndpoints=gi;exports.getShortTitle=Ni;exports.getUrgencyScore=Ci;exports.hasReacted=So;exports.heightOf=we;exports.helpCenterText=vi;exports.humanizeAction=io;exports.interactionIdOf=an;exports.isAgentUser=Yo;exports.isAssigned=wi;exports.isAssignmentTerminal=si;exports.isAssignmentTrigger=nn;exports.isAutoReady=po;exports.isAwaitingThem=Vt;exports.isChatMessageActivity=kr;exports.isClosed=Ri;exports.isConnectedType=yr;exports.isDeepLink=gs;exports.isDescendant=zt;exports.isEligible=hi;exports.isEmailActivity=Nr;exports.isHtmlBody=sc;exports.isInFlight=mo;exports.isInteractionUnseen=xt;exports.isLandingPath=hs;exports.isLikelyBulk=Nt;exports.isMessageShape=_e;exports.isMessageType=hr;exports.isMoreSpecificPattern=Yn;exports.isNoteShape=ye;exports.isOpenClock=Sn;exports.isOutwardTool=ha;exports.isParked=Bt;exports.isPaused=fn;exports.isPlaybookAuthoredType=_r;exports.isPublicEmailDomain=Ks;exports.isPublicPath=Ss;exports.isReminderActive=Ft;exports.isReplyableType=Ar;exports.isSlaAtRisk=Mi;exports.isTerminal=fo;exports.isThreadLongEnough=Si;exports.isTranscriptType=Tr;exports.isWorkClosed=sa;exports.isWorkTypeVisible=Go;exports.itemDossierKeys=ra;exports.ladderFor=kn;exports.linkLabel=ki;exports.listeningAllowed=Kr;exports.localeInstruction=xi;exports.localeName=Di;exports.localesOf=Pi;exports.looksLikeEmail=Ls;exports.matchContactToIntents=Na;exports.matchPublicRoute=zn;exports.mcpCredentialScope=Bi;exports.mcpToolPrefix=Fi;exports.mergeShownKeys=ws;exports.messageCountsAs=ct;exports.needsPhoneRegion=Bs;exports.nestsUnderParent=Er;exports.nextSlaClock=xo;exports.normalizeArtifactBlocks=Zr;exports.normalizeBlocks=dr;exports.normalizeEmail=Le;exports.normalizeExample=I;exports.notificationPrefKey=ns;exports.novelty=tr;exports.operationDescriptor=za;exports.operationsForKind=Ya;exports.parkMarksById=Ei;exports.parseActingIdentity=Ji;exports.parseClockMinutes=bo;exports.parseItemKey=ta;exports.pathToRegex=Wn;exports.pauseBitFor=Io;exports.periodsInRange=Hr;exports.phoneSuffix=Ps;exports.pickMailHeaders=_i;exports.plainTextFromMarkdown=at;exports.planSlaEvent=vo;exports.playbookActor=tn;exports.procedureOf=uo;exports.projectDossierKeys=ia;exports.publicBasePathFor=jn;exports.publicRoutePatterns=As;exports.reactionWakesAssignment=ui;exports.readPath=W;exports.readStepError=Ee;exports.recencyOf=Kt;exports.refKey=rn;exports.registrableDomain=or;exports.rejectExampleCandidate=Mn;exports.relatedByDefault=Yi;exports.remainingMsOf=X;exports.resolveAccountCapabilities=Kn;exports.resolveActivityText=V;exports.resolveChannelIntents=$n;exports.resolveSignature=Ot;exports.resolveWorkMode=as;exports.resourceKindOf=ps;exports.runActor=Zi;exports.runInteractionId=ho;exports.sanitizeInline=Tt;exports.sanitizeTranscript=Xn;exports.scoreInteraction=Oi;exports.scoreWorkItem=Zo;exports.selectLenses=Ki;exports.sessionsHoldCannotReach=ba;exports.sessionsToHold=Ta;exports.shareKeyForTeam=Me;exports.shareKeyForUser=Ie;exports.shareKeysForViewer=ii;exports.shouldRunAudioPipeline=ss;exports.slaBadgeTone=Lo;exports.slaHoursByInbox=Ii;exports.slaHoursFor=Wt;exports.sortStatuses=Dn;exports.sourceKey=Un;exports.statusIn=oa;exports.stepsOf=lo;exports.stripHtml=st;exports.subjectKeyOf=go;exports.subjectOf=Re;exports.subjectRef=_a;exports.suggestProjectKey=na;exports.summarizeReactions=Eo;exports.targetById=no;exports.targetForActivityType=to;exports.toActingIdentity=en;exports.toE164=Se;exports.toolSourceKinds=oi;exports.topicOfferedForTeam=On;exports.topicsForTeam=jo;exports.truncateExample=In;exports.uniqueWorkStatusKey=ca;exports.uniqueWorkTypeKey=Fo;exports.usageMetricId=At;exports.usageMetrics=Wr;exports.validateStatuses=la;exports.valueAtPath=eo;exports.waitHoursOf=J;exports.wakesAssignment=li;exports.workActivityScopeKey=Qo;exports.workItemScopeKey=Nn;exports.workProjectScopeKey=Ce;exports.workStatusKey=xn;exports.workTypeKey=_n;exports.workingMsBetween=j;
|
package/dist/index.js
CHANGED
|
@@ -2041,6 +2041,9 @@ function Wa(e) {
|
|
|
2041
2041
|
st.includes(r.key) && t.push({ index: i, reason: "reserved_key", key: r.key }), n.has(r.key) && t.push({ index: i, reason: "duplicate_key", key: r.key }), n.add(r.key);
|
|
2042
2042
|
}), 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;
|
|
2043
2043
|
}
|
|
2044
|
+
function Va(e) {
|
|
2045
|
+
return e.completedAt ? "completed" : e.startedAt ? "active" : "planned";
|
|
2046
|
+
}
|
|
2044
2047
|
const cr = /* @__PURE__ */ new Set(["image/png", "image/jpeg", "image/jpg", "image/gif", "image/webp"]), lr = /* @__PURE__ */ new Set([
|
|
2045
2048
|
"text/plain",
|
|
2046
2049
|
"text/markdown",
|
|
@@ -2059,18 +2062,18 @@ const O = 1024 * 1024, dr = {
|
|
|
2059
2062
|
pdf: 20 * O,
|
|
2060
2063
|
text: 1 * O,
|
|
2061
2064
|
audio: 20 * O
|
|
2062
|
-
},
|
|
2063
|
-
function
|
|
2065
|
+
}, za = 25 * O, Xa = 5;
|
|
2066
|
+
function Ya(e, t) {
|
|
2064
2067
|
const n = ur(e);
|
|
2065
2068
|
return n === "unsupported" ? "unsupported" : t > dr[n] ? "too-large" : null;
|
|
2066
2069
|
}
|
|
2067
|
-
function
|
|
2070
|
+
function qa(e) {
|
|
2068
2071
|
return e.access !== "read" && e.effect !== "internal";
|
|
2069
2072
|
}
|
|
2070
2073
|
function pr(e) {
|
|
2071
2074
|
return `${e.kind}:${e.id || e.url || e.title}`;
|
|
2072
2075
|
}
|
|
2073
|
-
function
|
|
2076
|
+
function Ja(e, t = []) {
|
|
2074
2077
|
const n = new Set(t), r = [], i = [];
|
|
2075
2078
|
for (const o of e) {
|
|
2076
2079
|
const a = pr(o);
|
|
@@ -2078,26 +2081,26 @@ function qa(e, t = []) {
|
|
|
2078
2081
|
}
|
|
2079
2082
|
return { sources: r, keys: i };
|
|
2080
2083
|
}
|
|
2081
|
-
const
|
|
2082
|
-
function
|
|
2084
|
+
const Za = "assist-source", Qa = ["blocking", "due", "open"];
|
|
2085
|
+
function es(e, t) {
|
|
2083
2086
|
const [n, r] = (e.subjectKey ?? "").split(":");
|
|
2084
2087
|
return n === t && r ? r : void 0;
|
|
2085
2088
|
}
|
|
2086
2089
|
const Ce = { blocking: 0, due: 1, open: 2 };
|
|
2087
|
-
function
|
|
2090
|
+
function ts(e, t) {
|
|
2088
2091
|
return Ce[e.band ?? "open"] - Ce[t.band ?? "open"] || (t.priority ?? 0) - (e.priority ?? 0) || e.id.localeCompare(t.id);
|
|
2089
2092
|
}
|
|
2090
|
-
function
|
|
2093
|
+
function ns(e) {
|
|
2091
2094
|
return e.sessions.filter(
|
|
2092
2095
|
(t) => t.id !== e.exceptSessionId && t.state === "connected" && e.canHold(t.providerId)
|
|
2093
2096
|
);
|
|
2094
2097
|
}
|
|
2095
|
-
function
|
|
2098
|
+
function rs(e) {
|
|
2096
2099
|
return e.sessions.filter(
|
|
2097
2100
|
(t) => t.id !== e.exceptSessionId && t.state === "connected" && !e.canHold(t.providerId)
|
|
2098
2101
|
);
|
|
2099
2102
|
}
|
|
2100
|
-
function
|
|
2103
|
+
function is(e) {
|
|
2101
2104
|
return e.sessions.some(
|
|
2102
2105
|
(n) => n.id !== e.exceptSessionId && (n.state === "connected" || n.state === "on_hold")
|
|
2103
2106
|
) ? { admit: !1, reason: "busy" } : { admit: !0 };
|
|
@@ -2119,7 +2122,7 @@ function mr(e, t) {
|
|
|
2119
2122
|
}
|
|
2120
2123
|
return n;
|
|
2121
2124
|
}
|
|
2122
|
-
function
|
|
2125
|
+
function os(e, t) {
|
|
2123
2126
|
const n = mr(e, t);
|
|
2124
2127
|
return Object.entries(n).filter(([, r]) => !r).map(([r]) => r);
|
|
2125
2128
|
}
|
|
@@ -2130,7 +2133,7 @@ function gr(e, t) {
|
|
|
2130
2133
|
transport: t.transport ?? e.transport
|
|
2131
2134
|
} : e;
|
|
2132
2135
|
}
|
|
2133
|
-
function
|
|
2136
|
+
function as(e, t) {
|
|
2134
2137
|
const n = [];
|
|
2135
2138
|
for (const r of e) {
|
|
2136
2139
|
if (!r.enabled) continue;
|
|
@@ -2141,16 +2144,16 @@ function os(e, t) {
|
|
|
2141
2144
|
}
|
|
2142
2145
|
return n;
|
|
2143
2146
|
}
|
|
2144
|
-
function
|
|
2147
|
+
function ss(e, t) {
|
|
2145
2148
|
return t.filter((n) => n.capability.intent === e);
|
|
2146
2149
|
}
|
|
2147
2150
|
function hr(e, t) {
|
|
2148
2151
|
return t.filter((n) => n.capability.targetSchemes.includes(e));
|
|
2149
2152
|
}
|
|
2150
|
-
function
|
|
2153
|
+
function cs(e, t) {
|
|
2151
2154
|
return hr(e.scheme, t);
|
|
2152
2155
|
}
|
|
2153
|
-
function
|
|
2156
|
+
function ls(e, t, n) {
|
|
2154
2157
|
const r = [];
|
|
2155
2158
|
for (const i of e)
|
|
2156
2159
|
for (const o of n)
|
|
@@ -2179,10 +2182,10 @@ const br = {
|
|
|
2179
2182
|
id: "note",
|
|
2180
2183
|
custom: "note"
|
|
2181
2184
|
};
|
|
2182
|
-
function
|
|
2185
|
+
function us(e) {
|
|
2183
2186
|
return e ? br[e] ?? "note" : "note";
|
|
2184
2187
|
}
|
|
2185
|
-
const
|
|
2188
|
+
const ds = "message_window", ps = "message_templates", fs = {
|
|
2186
2189
|
// E-mail
|
|
2187
2190
|
FROM: "from",
|
|
2188
2191
|
TO: "to",
|
|
@@ -2199,11 +2202,11 @@ const us = "message_window", ds = "message_templates", ps = {
|
|
|
2199
2202
|
// Voice/conference
|
|
2200
2203
|
HOST: "host",
|
|
2201
2204
|
PARTICIPANT: "participant"
|
|
2202
|
-
},
|
|
2205
|
+
}, ms = (e, t) => ({ intent: e, ...t }), gs = "folder_management", hs = "remote_search", ys = "message_reactions", bs = {
|
|
2203
2206
|
ok: !1,
|
|
2204
2207
|
code: "UNSUPPORTED",
|
|
2205
2208
|
message: "Provider does not support this op"
|
|
2206
|
-
},
|
|
2209
|
+
}, As = "connector", Es = "context.collect", d = (e) => ({ type: "string", description: e }), u = (e) => ({ type: "number", description: e }), $ = (e) => ({ type: "boolean", description: e }), E = d("Sheet name. Omit for the sheet the user is looking at."), ke = d("Slide id, as `inspect` reports it.");
|
|
2207
2210
|
function l(e, t, n, r, i, o) {
|
|
2208
2211
|
return {
|
|
2209
2212
|
op: e,
|
|
@@ -2557,28 +2560,28 @@ const C = { undoable: !1, visible: !0 }, g = { undoable: !0, visible: !0 }, ve =
|
|
|
2557
2560
|
...Sr,
|
|
2558
2561
|
..._r
|
|
2559
2562
|
];
|
|
2560
|
-
function
|
|
2563
|
+
function Ss(e) {
|
|
2561
2564
|
return ct.filter((t) => t.kinds.includes(e));
|
|
2562
2565
|
}
|
|
2563
|
-
function
|
|
2566
|
+
function _s(e) {
|
|
2564
2567
|
return ct.find((t) => t.op === e);
|
|
2565
2568
|
}
|
|
2566
|
-
const
|
|
2567
|
-
function
|
|
2569
|
+
const Ts = "documents.describe", ws = "documents.inspect", Is = "documents.apply";
|
|
2570
|
+
function Ms(e) {
|
|
2568
2571
|
const t = e.indexOf(":");
|
|
2569
2572
|
if (t !== -1) return e.slice(0, t);
|
|
2570
2573
|
const n = e.indexOf(".");
|
|
2571
2574
|
return n === -1 ? e : e.slice(0, n);
|
|
2572
2575
|
}
|
|
2573
|
-
const
|
|
2574
|
-
function
|
|
2576
|
+
const Os = "installation-id";
|
|
2577
|
+
function Cs(e) {
|
|
2575
2578
|
const t = [];
|
|
2576
2579
|
for (const n of Object.keys(e))
|
|
2577
2580
|
for (const r of Object.keys(e[n]))
|
|
2578
2581
|
t.push({ lang: n, key: r, value: e[n][r] });
|
|
2579
2582
|
return t;
|
|
2580
2583
|
}
|
|
2581
|
-
const
|
|
2584
|
+
const ks = "notification-source", vs = (e, t) => `${e}.pref.${t}`, xs = {
|
|
2582
2585
|
ai: [
|
|
2583
2586
|
"account.read",
|
|
2584
2587
|
"account.write",
|
|
@@ -2714,37 +2717,37 @@ const Cs = "notification-source", ks = (e, t) => `${e}.pref.${t}`, vs = {
|
|
|
2714
2717
|
user: ["user.read", "user.write"],
|
|
2715
2718
|
work: ["item.read", "item.write", "project.read", "project.write"]
|
|
2716
2719
|
}, lt = 9e4, Tr = ["out_of_office"], ut = (e) => Tr.includes(e);
|
|
2717
|
-
function
|
|
2720
|
+
function Ns(e, t, n) {
|
|
2718
2721
|
const r = n - e < lt, i = t?.status && (!t.expiresAt || t.expiresAt > n) ? t : void 0;
|
|
2719
2722
|
if (!i?.status) return { online: r, status: r ? "available" : "offline" };
|
|
2720
2723
|
const o = i.status;
|
|
2721
2724
|
return !r && !ut(o) ? { online: !1, status: "offline" } : { online: r, status: o, message: i.message };
|
|
2722
2725
|
}
|
|
2723
|
-
function
|
|
2726
|
+
function Rs(e, t) {
|
|
2724
2727
|
const n = t - e.lastSeenAt < lt, r = n || ut(e.status) ? e.status : "offline";
|
|
2725
2728
|
return n === e.online && r === e.status ? e : { ...e, online: n, status: r };
|
|
2726
2729
|
}
|
|
2727
|
-
function
|
|
2730
|
+
function Ds(e, t) {
|
|
2728
2731
|
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 };
|
|
2729
2732
|
}
|
|
2730
|
-
function
|
|
2733
|
+
function $s(e) {
|
|
2731
2734
|
return e.providerAvailable && e.allowed;
|
|
2732
2735
|
}
|
|
2733
|
-
const
|
|
2734
|
-
function
|
|
2736
|
+
const Ls = "resources.describe", Ps = "resources.search", Us = "resources.resolve", Ks = "resources.attached";
|
|
2737
|
+
function Bs(e) {
|
|
2735
2738
|
const t = e.indexOf(":");
|
|
2736
2739
|
return t === -1 ? e : e.slice(0, t);
|
|
2737
2740
|
}
|
|
2738
|
-
const
|
|
2741
|
+
const js = "/provider/scope/related", Hs = "/provider/scope/read", dt = "auth";
|
|
2739
2742
|
function pt(e) {
|
|
2740
2743
|
const t = typeof e == "string" ? e.match(/apps\/([^/?#]+)/) : null;
|
|
2741
2744
|
return t ? t[1] : null;
|
|
2742
2745
|
}
|
|
2743
|
-
function
|
|
2746
|
+
function Fs(e) {
|
|
2744
2747
|
const t = pt(e);
|
|
2745
2748
|
return t ? t !== dt : typeof e == "string" && e.startsWith("/wake");
|
|
2746
2749
|
}
|
|
2747
|
-
function
|
|
2750
|
+
function Gs(e) {
|
|
2748
2751
|
return typeof e != "string" || e === "" || e === "/" ? !0 : pt(e) === dt;
|
|
2749
2752
|
}
|
|
2750
2753
|
function wr(e) {
|
|
@@ -2766,7 +2769,7 @@ function Mr(e, t) {
|
|
|
2766
2769
|
function Or(e) {
|
|
2767
2770
|
return e.publicBasePath ?? `/apps/${e.name}`;
|
|
2768
2771
|
}
|
|
2769
|
-
function
|
|
2772
|
+
function Ws(e) {
|
|
2770
2773
|
const t = [];
|
|
2771
2774
|
for (const n of e) {
|
|
2772
2775
|
if (!n?.name) continue;
|
|
@@ -2799,10 +2802,10 @@ function kr(e, t) {
|
|
|
2799
2802
|
Ir(r.pattern).test(e) && (!n || Cr(r.pattern, n.pattern)) && (n = r);
|
|
2800
2803
|
return n ? { ...n, params: { ...n.props, ...Mr(n.pattern, e) } } : null;
|
|
2801
2804
|
}
|
|
2802
|
-
function
|
|
2805
|
+
function Vs(e, t) {
|
|
2803
2806
|
return kr(e, t) !== null;
|
|
2804
2807
|
}
|
|
2805
|
-
const
|
|
2808
|
+
const zs = 10 * 1024 * 1024, Xs = 25 * 1024 * 1024, Ys = "sync-target", qs = 20, vr = {
|
|
2806
2809
|
afrikaans: [
|
|
2807
2810
|
"[Muziek]",
|
|
2808
2811
|
"(C) TV GELDERLAND 2021",
|
|
@@ -3093,13 +3096,13 @@ function Br(e, t = Nr) {
|
|
|
3093
3096
|
return { text: n.filter((a) => (a.endedAt ?? 0) >= i).map((a) => xr(a.text).trim()).filter(Boolean).join(" ").replace(/\s+/g, " ").trim(), segmentCount: n.length };
|
|
3094
3097
|
}
|
|
3095
3098
|
const jr = 60;
|
|
3096
|
-
function
|
|
3099
|
+
function Js(e, t, n = jr) {
|
|
3097
3100
|
const r = new Set(e), i = [...e];
|
|
3098
3101
|
for (const o of t)
|
|
3099
3102
|
!o || r.has(o) || (r.add(o), i.push(o));
|
|
3100
3103
|
return i.slice(-n);
|
|
3101
3104
|
}
|
|
3102
|
-
function
|
|
3105
|
+
function Zs(e) {
|
|
3103
3106
|
const { segments: t, now: n, state: r } = e;
|
|
3104
3107
|
if (r.lastTriggerAt && n - r.lastTriggerAt < Rr)
|
|
3105
3108
|
return { trigger: !1, reason: "too_soon" };
|
|
@@ -3111,13 +3114,13 @@ function Js(e) {
|
|
|
3111
3114
|
const a = Ur(i.text);
|
|
3112
3115
|
return a.length ? r.lastQueryTerms?.length && Kr(a, r.lastQueryTerms) < $r ? { trigger: !1, reason: "same_topic" } : { trigger: !0, text: i.text, terms: a, segmentCount: i.segmentCount } : { trigger: !1, reason: "no_speech" };
|
|
3113
3116
|
}
|
|
3114
|
-
const
|
|
3117
|
+
const Qs = [
|
|
3115
3118
|
"personal",
|
|
3116
3119
|
"workspace",
|
|
3117
3120
|
"connections",
|
|
3118
3121
|
"work",
|
|
3119
3122
|
"ai"
|
|
3120
|
-
],
|
|
3123
|
+
], ec = "navNotice", oe = {
|
|
3121
3124
|
// The lower bounds are deliberately generous: service ranges (0800/0900) are
|
|
3122
3125
|
// shorter than geographic numbers, and a too-strict minimum silently drops them.
|
|
3123
3126
|
// An over-permissive key is harmless — it simply matches nothing.
|
|
@@ -3171,7 +3174,7 @@ function Vr(e) {
|
|
|
3171
3174
|
const r = t.indexOf("@");
|
|
3172
3175
|
return r >= 0 && (t = t.slice(0, r)), t.trim();
|
|
3173
3176
|
}
|
|
3174
|
-
function
|
|
3177
|
+
function tc(e) {
|
|
3175
3178
|
if (!e) return !1;
|
|
3176
3179
|
const t = e.indexOf("@");
|
|
3177
3180
|
if (t <= 0) return !1;
|
|
@@ -3199,7 +3202,7 @@ function Re(e, t) {
|
|
|
3199
3202
|
}
|
|
3200
3203
|
return !a && L(i, o) ? `+${o.callingCode}${i}` : null;
|
|
3201
3204
|
}
|
|
3202
|
-
function
|
|
3205
|
+
function nc(e, t = 9) {
|
|
3203
3206
|
const n = (e ?? "").replace(/\D/g, "");
|
|
3204
3207
|
return n.length < t ? null : n.slice(-t);
|
|
3205
3208
|
}
|
|
@@ -3210,7 +3213,7 @@ function ft(e) {
|
|
|
3210
3213
|
const r = t.slice(0, n).split("+")[0], i = t.slice(n + 1);
|
|
3211
3214
|
return !r || !i.includes(".") ? null : `${r}@${i}`;
|
|
3212
3215
|
}
|
|
3213
|
-
function
|
|
3216
|
+
function rc(e) {
|
|
3214
3217
|
const t = ft(e);
|
|
3215
3218
|
return t ? t.slice(t.lastIndexOf("@") + 1) : null;
|
|
3216
3219
|
}
|
|
@@ -3276,16 +3279,16 @@ const Yr = /* @__PURE__ */ new Set([
|
|
|
3276
3279
|
"proximus.be",
|
|
3277
3280
|
"scarlet.be"
|
|
3278
3281
|
]);
|
|
3279
|
-
function
|
|
3282
|
+
function ic(e) {
|
|
3280
3283
|
const t = Xr(e);
|
|
3281
3284
|
return t ? Yr.has(t) : !1;
|
|
3282
3285
|
}
|
|
3283
|
-
function
|
|
3286
|
+
function oc(e) {
|
|
3284
3287
|
if (!e) return !1;
|
|
3285
3288
|
const t = e.trim().toLowerCase();
|
|
3286
3289
|
return t === "tel" || t === "sms" || t === "whatsapp" || t === "fax";
|
|
3287
3290
|
}
|
|
3288
|
-
function
|
|
3291
|
+
function ac(e, t, n) {
|
|
3289
3292
|
if (!e || !t) return null;
|
|
3290
3293
|
const r = e.trim().toLowerCase();
|
|
3291
3294
|
if (r === "tel" || r === "sms" || r === "whatsapp") {
|
|
@@ -3452,13 +3455,13 @@ function Ke(e) {
|
|
|
3452
3455
|
`).trim();
|
|
3453
3456
|
}
|
|
3454
3457
|
const gi = /<\s*(html|body|div|p|table|br|span)\b/i;
|
|
3455
|
-
function
|
|
3458
|
+
function sc(e) {
|
|
3456
3459
|
return gi.test(e);
|
|
3457
3460
|
}
|
|
3458
|
-
function
|
|
3461
|
+
function cc(e) {
|
|
3459
3462
|
return mt(e, !1);
|
|
3460
3463
|
}
|
|
3461
|
-
function
|
|
3464
|
+
function lc(e) {
|
|
3462
3465
|
return mt(e, !0);
|
|
3463
3466
|
}
|
|
3464
3467
|
function mt(e, t) {
|
|
@@ -3476,11 +3479,11 @@ export {
|
|
|
3476
3479
|
no as ACTIVE_ASSIGNMENT_STATUSES,
|
|
3477
3480
|
_ as ACTIVITY_CATALOG,
|
|
3478
3481
|
dr as AI_ATTACHMENT_LIMITS,
|
|
3479
|
-
|
|
3480
|
-
|
|
3482
|
+
Xa as AI_ATTACHMENT_MAX_PER_TURN,
|
|
3483
|
+
za as AI_ATTACHMENT_TURN_BUDGET,
|
|
3481
3484
|
He as AI_VENDORS,
|
|
3482
3485
|
Pt as ALLOWED_LINK_SCHEMES,
|
|
3483
|
-
|
|
3486
|
+
xs as APP_PERMISSIONS,
|
|
3484
3487
|
me as ARTIFACT_MAX_BLOCKS,
|
|
3485
3488
|
Xi as ARTIFACT_MAX_BODY_BYTES,
|
|
3486
3489
|
G as ARTIFACT_MAX_CELL_LEN,
|
|
@@ -3490,8 +3493,8 @@ export {
|
|
|
3490
3493
|
he as ARTIFACT_MAX_TABLE_ROWS,
|
|
3491
3494
|
Ge as ARTIFACT_MAX_TEXT_LEN,
|
|
3492
3495
|
Vt as ASSIGNMENT_SCOPE_KIND,
|
|
3493
|
-
|
|
3494
|
-
|
|
3496
|
+
Qa as ASSIST_BANDS,
|
|
3497
|
+
Za as ASSIST_SOURCE_PROVIDER_GROUP,
|
|
3495
3498
|
an as ATTENTION_STATUSES,
|
|
3496
3499
|
dt as AUTH_APP_NAME,
|
|
3497
3500
|
Nn as AUTO_READY_MIN_PROPOSALS,
|
|
@@ -3504,28 +3507,28 @@ export {
|
|
|
3504
3507
|
$r as CADENCE_MIN_NOVELTY,
|
|
3505
3508
|
Nr as CADENCE_WINDOW_MS,
|
|
3506
3509
|
Qo as CLASSIFY_VARS,
|
|
3507
|
-
|
|
3508
|
-
|
|
3510
|
+
As as CONNECTOR_PROVIDER_GROUP,
|
|
3511
|
+
Es as CONTEXT_COLLECT_SERVICE,
|
|
3509
3512
|
Wi as CORE_DIMENSIONS,
|
|
3510
3513
|
yr as CommunicationScheme,
|
|
3511
3514
|
qt as DAY_MS,
|
|
3512
3515
|
Ko as DEFAULT_MEMORY_BUDGET,
|
|
3513
3516
|
Hr as DEFAULT_PHONE_REGION,
|
|
3514
|
-
|
|
3515
|
-
|
|
3516
|
-
|
|
3517
|
+
Is as DOCUMENT_APPLY_SERVICE,
|
|
3518
|
+
Ts as DOCUMENT_DESCRIBE_SERVICE,
|
|
3519
|
+
ws as DOCUMENT_INSPECT_SERVICE,
|
|
3517
3520
|
ct as DOCUMENT_OPERATIONS,
|
|
3518
3521
|
ta as EMPTY_WORKFLOW,
|
|
3519
|
-
|
|
3520
|
-
|
|
3521
|
-
|
|
3522
|
+
gs as FEATURE_FOLDER_MANAGEMENT,
|
|
3523
|
+
ys as FEATURE_MESSAGE_REACTIONS,
|
|
3524
|
+
hs as FEATURE_REMOTE_SEARCH,
|
|
3522
3525
|
ln as FOLLOW_UP_HOURS,
|
|
3523
3526
|
Yt as HOUR_MS,
|
|
3524
3527
|
gi as HTML_BODY_RE,
|
|
3525
3528
|
w as INELIGIBLE,
|
|
3526
|
-
|
|
3529
|
+
Os as INSTALLATION_HEADER,
|
|
3527
3530
|
On as INTERACTION_KIND,
|
|
3528
|
-
|
|
3531
|
+
fs as InteractionParticipantRole,
|
|
3529
3532
|
yn as KB_FALLBACK_LOCALE,
|
|
3530
3533
|
_e as KB_LOCALES,
|
|
3531
3534
|
ie as LOOSE_STATUSES,
|
|
@@ -3534,7 +3537,7 @@ export {
|
|
|
3534
3537
|
zt as MAX_ASSIGNMENT_TURNS,
|
|
3535
3538
|
hi as MAX_BLOCKS,
|
|
3536
3539
|
Ze as MAX_COLLECTION_DEPTH,
|
|
3537
|
-
|
|
3540
|
+
zs as MAX_EDITABLE_FILE_BYTES,
|
|
3538
3541
|
yi as MAX_FIELDS,
|
|
3539
3542
|
bi as MAX_LIST_ITEMS,
|
|
3540
3543
|
$o as MAX_MEMORY_BROWSE,
|
|
@@ -3544,10 +3547,10 @@ export {
|
|
|
3544
3547
|
Yn as MAX_TOPIC_CANDIDATES,
|
|
3545
3548
|
Xn as MAX_TOPIC_EXAMPLES,
|
|
3546
3549
|
W as MAX_TOPIC_EXAMPLE_CHARS,
|
|
3547
|
-
|
|
3550
|
+
Xs as MAX_VIEWABLE_FILE_BYTES,
|
|
3548
3551
|
Po as MIN_MEMORY_BUDGET,
|
|
3549
|
-
|
|
3550
|
-
|
|
3552
|
+
ec as NAV_NOTICE_SLOT,
|
|
3553
|
+
ks as NOTIFICATION_SOURCE_PROVIDER_GROUP,
|
|
3551
3554
|
jo as ONBOARDING_SOURCE_PROVIDER_GROUP,
|
|
3552
3555
|
Z as PAUSE_SNOOZED,
|
|
3553
3556
|
Q as PAUSE_WAITING_FOR_CUSTOMER,
|
|
@@ -3555,19 +3558,19 @@ export {
|
|
|
3555
3558
|
lt as PRESENCE_ONLINE_WINDOW_MS,
|
|
3556
3559
|
Tr as PRESENCE_SURVIVES_OFFLINE,
|
|
3557
3560
|
Fo as PROFILE_TOOL_DISPOSITIONS,
|
|
3558
|
-
|
|
3559
|
-
|
|
3561
|
+
ps as PROVIDER_FEATURE_MESSAGE_TEMPLATES,
|
|
3562
|
+
ds as PROVIDER_FEATURE_MESSAGE_WINDOW,
|
|
3560
3563
|
Yr as PUBLIC_EMAIL_DOMAINS,
|
|
3561
3564
|
Te as READ_STEP_TYPES,
|
|
3562
3565
|
En as RELATED_SUBJECT_KINDS,
|
|
3563
3566
|
st as RESERVED_STATUS_KEYS,
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
|
|
3567
|
-
|
|
3568
|
-
|
|
3569
|
-
|
|
3570
|
-
|
|
3567
|
+
Ks as RESOURCE_ATTACHED_SERVICE,
|
|
3568
|
+
Ls as RESOURCE_DESCRIBE_SERVICE,
|
|
3569
|
+
Us as RESOURCE_RESOLVE_SERVICE,
|
|
3570
|
+
Ps as RESOURCE_SEARCH_SERVICE,
|
|
3571
|
+
Hs as SCOPE_READ_ROUTE,
|
|
3572
|
+
js as SCOPE_RELATED_ROUTE,
|
|
3573
|
+
Qs as SETTINGS_CATEGORIES,
|
|
3571
3574
|
lo as SIGNATURE_INTENTS,
|
|
3572
3575
|
cn as SLA_HOURS_BY_PRIORITY,
|
|
3573
3576
|
fa as SLA_METRICS,
|
|
@@ -3576,12 +3579,12 @@ export {
|
|
|
3576
3579
|
kn as STEP_MAX_TOKENS_MIN,
|
|
3577
3580
|
en as SUMMARY_MIN_LAST_CHARS,
|
|
3578
3581
|
Qt as SUMMARY_MIN_MESSAGES,
|
|
3579
|
-
|
|
3580
|
-
|
|
3582
|
+
qs as SYNC_RUN_MAX_ERRORS,
|
|
3583
|
+
Ys as SYNC_TARGET_PROVIDER_GROUP,
|
|
3581
3584
|
Wt as TERMINAL_ASSIGNMENT_STATUSES,
|
|
3582
3585
|
Dn as TERMINAL_RUN_STATUSES,
|
|
3583
3586
|
Zo as TRIGGER_VARS,
|
|
3584
|
-
|
|
3587
|
+
bs as UNSUPPORTED,
|
|
3585
3588
|
Rt as USAGE_DIMENSIONS,
|
|
3586
3589
|
Dt as USAGE_DIMENSION_IDS,
|
|
3587
3590
|
nr as WORK_ACTIVITY_SCOPE_KIND,
|
|
@@ -3605,9 +3608,9 @@ export {
|
|
|
3605
3608
|
Vo as actorKey,
|
|
3606
3609
|
Oa as addExampleCandidate,
|
|
3607
3610
|
ne as addWorkingMs,
|
|
3608
|
-
|
|
3611
|
+
Rs as agePresenceEntry,
|
|
3609
3612
|
ur as aiAttachmentKind,
|
|
3610
|
-
|
|
3613
|
+
Ya as aiAttachmentRejection,
|
|
3611
3614
|
fe as aiBudgetLimit,
|
|
3612
3615
|
Fi as aiBudgetPeriodKey,
|
|
3613
3616
|
Ct as aiBudgetPeriodStart,
|
|
@@ -3628,7 +3631,7 @@ export {
|
|
|
3628
3631
|
io as assignmentScopeKey,
|
|
3629
3632
|
so as assignmentSubject,
|
|
3630
3633
|
Ni as buildActivityPreview,
|
|
3631
|
-
|
|
3634
|
+
as as buildChannelIntents,
|
|
3632
3635
|
Qi as buildShareKeys,
|
|
3633
3636
|
Br as buildWindow,
|
|
3634
3637
|
re as calendarOf,
|
|
@@ -3636,35 +3639,36 @@ export {
|
|
|
3636
3639
|
Mi as carriesText,
|
|
3637
3640
|
xo as categoryLabel,
|
|
3638
3641
|
or as categoryOf,
|
|
3639
|
-
|
|
3642
|
+
us as channelKindForScheme,
|
|
3640
3643
|
_i as channelKindOf,
|
|
3641
3644
|
ea as clampStepMaxTokens,
|
|
3642
3645
|
yo as classifyMail,
|
|
3643
|
-
|
|
3644
|
-
|
|
3645
|
-
|
|
3646
|
+
lc as cleanMessageMarkdown,
|
|
3647
|
+
cc as cleanMessageText,
|
|
3648
|
+
ts as compareAssistRank,
|
|
3646
3649
|
zn as compareWorkTypes,
|
|
3650
|
+
Va as cycleState,
|
|
3647
3651
|
co as decideAssignmentState,
|
|
3648
|
-
|
|
3649
|
-
|
|
3652
|
+
Zs as decideCadence,
|
|
3653
|
+
is as decideIncomingCall,
|
|
3650
3654
|
bn as defaultLocaleOf,
|
|
3651
3655
|
Ha as defaultStatusKey,
|
|
3652
|
-
|
|
3656
|
+
ms as defineIntent,
|
|
3653
3657
|
gn as depthOf,
|
|
3654
|
-
|
|
3655
|
-
|
|
3656
|
-
|
|
3658
|
+
Ns as derivePresence,
|
|
3659
|
+
os as disabledIntentsFromCapabilities,
|
|
3660
|
+
Ms as documentKindOf,
|
|
3657
3661
|
ha as dueAtOf,
|
|
3658
3662
|
Ea as elapsedSeconds,
|
|
3659
|
-
|
|
3660
|
-
|
|
3663
|
+
rc as emailDomain,
|
|
3664
|
+
ac as endpointKey,
|
|
3661
3665
|
Mr as extractParams,
|
|
3662
3666
|
Ur as extractTerms,
|
|
3663
|
-
|
|
3664
|
-
|
|
3667
|
+
cs as filterByEndpoint,
|
|
3668
|
+
ss as filterByIntent,
|
|
3665
3669
|
hr as filterByTargetScheme,
|
|
3666
3670
|
K as findAiVendor,
|
|
3667
|
-
|
|
3671
|
+
Cs as flattenLocales,
|
|
3668
3672
|
vt as floorToPeriod,
|
|
3669
3673
|
Sn as formatActingIdentity,
|
|
3670
3674
|
Ta as formatClock,
|
|
@@ -3672,7 +3676,7 @@ export {
|
|
|
3672
3676
|
La as formatItemKey,
|
|
3673
3677
|
kt as formatPeriod,
|
|
3674
3678
|
Aa as formatSlaDuration,
|
|
3675
|
-
|
|
3679
|
+
Ja as freshSources,
|
|
3676
3680
|
Di as getActivitySeenUserIds,
|
|
3677
3681
|
po as getContactEndpoints,
|
|
3678
3682
|
wo as getShortTitle,
|
|
@@ -3691,26 +3695,26 @@ export {
|
|
|
3691
3695
|
Li as isChatMessageActivity,
|
|
3692
3696
|
_o as isClosed,
|
|
3693
3697
|
Ci as isConnectedType,
|
|
3694
|
-
|
|
3698
|
+
Fs as isDeepLink,
|
|
3695
3699
|
hn as isDescendant,
|
|
3696
3700
|
fo as isEligible,
|
|
3697
3701
|
$i as isEmailActivity,
|
|
3698
|
-
|
|
3702
|
+
sc as isHtmlBody,
|
|
3699
3703
|
aa as isInFlight,
|
|
3700
3704
|
on as isInteractionUnseen,
|
|
3701
|
-
|
|
3705
|
+
Gs as isLandingPath,
|
|
3702
3706
|
Zt as isLikelyBulk,
|
|
3703
3707
|
Be as isMessageShape,
|
|
3704
3708
|
Ti as isMessageType,
|
|
3705
3709
|
Cr as isMoreSpecificPattern,
|
|
3706
3710
|
je as isNoteShape,
|
|
3707
3711
|
Wn as isOpenClock,
|
|
3708
|
-
|
|
3712
|
+
qa as isOutwardTool,
|
|
3709
3713
|
dn as isParked,
|
|
3710
3714
|
$n as isPaused,
|
|
3711
3715
|
Oi as isPlaybookAuthoredType,
|
|
3712
|
-
|
|
3713
|
-
|
|
3716
|
+
ic as isPublicEmailDomain,
|
|
3717
|
+
Vs as isPublicPath,
|
|
3714
3718
|
pn as isReminderActive,
|
|
3715
3719
|
Ii as isReplyableType,
|
|
3716
3720
|
Ao as isSlaAtRisk,
|
|
@@ -3726,24 +3730,24 @@ export {
|
|
|
3726
3730
|
Co as localeInstruction,
|
|
3727
3731
|
Oo as localeName,
|
|
3728
3732
|
vo as localesOf,
|
|
3729
|
-
|
|
3730
|
-
|
|
3733
|
+
tc as looksLikeEmail,
|
|
3734
|
+
ls as matchContactToIntents,
|
|
3731
3735
|
kr as matchPublicRoute,
|
|
3732
3736
|
Ro as mcpCredentialScope,
|
|
3733
3737
|
Do as mcpToolPrefix,
|
|
3734
|
-
|
|
3738
|
+
Js as mergeShownKeys,
|
|
3735
3739
|
St as messageCountsAs,
|
|
3736
|
-
|
|
3740
|
+
oc as needsPhoneRegion,
|
|
3737
3741
|
wi as nestsUnderParent,
|
|
3738
3742
|
ya as nextSlaClock,
|
|
3739
3743
|
Yi as normalizeArtifactBlocks,
|
|
3740
3744
|
Ei as normalizeBlocks,
|
|
3741
3745
|
ft as normalizeEmail,
|
|
3742
3746
|
I as normalizeExample,
|
|
3743
|
-
|
|
3747
|
+
vs as notificationPrefKey,
|
|
3744
3748
|
Kr as novelty,
|
|
3745
|
-
|
|
3746
|
-
|
|
3749
|
+
_s as operationDescriptor,
|
|
3750
|
+
Ss as operationsForKind,
|
|
3747
3751
|
mo as parkMarksById,
|
|
3748
3752
|
Go as parseActingIdentity,
|
|
3749
3753
|
da as parseClockMinutes,
|
|
@@ -3751,7 +3755,7 @@ export {
|
|
|
3751
3755
|
Ir as pathToRegex,
|
|
3752
3756
|
pa as pauseBitFor,
|
|
3753
3757
|
Vi as periodsInRange,
|
|
3754
|
-
|
|
3758
|
+
nc as phoneSuffix,
|
|
3755
3759
|
ho as pickMailHeaders,
|
|
3756
3760
|
At as plainTextFromMarkdown,
|
|
3757
3761
|
ga as planSlaEvent,
|
|
@@ -3759,7 +3763,7 @@ export {
|
|
|
3759
3763
|
ra as procedureOf,
|
|
3760
3764
|
Ba as projectDossierKeys,
|
|
3761
3765
|
Or as publicBasePathFor,
|
|
3762
|
-
|
|
3766
|
+
Ws as publicRoutePatterns,
|
|
3763
3767
|
ao as reactionWakesAssignment,
|
|
3764
3768
|
X as readPath,
|
|
3765
3769
|
we as readStepError,
|
|
@@ -3773,8 +3777,8 @@ export {
|
|
|
3773
3777
|
Y as resolveActivityText,
|
|
3774
3778
|
fr as resolveChannelIntents,
|
|
3775
3779
|
Xt as resolveSignature,
|
|
3776
|
-
|
|
3777
|
-
|
|
3780
|
+
Ds as resolveWorkMode,
|
|
3781
|
+
Bs as resourceKindOf,
|
|
3778
3782
|
Wo as runActor,
|
|
3779
3783
|
ca as runInteractionId,
|
|
3780
3784
|
jt as sanitizeInline,
|
|
@@ -3782,12 +3786,12 @@ export {
|
|
|
3782
3786
|
Eo as scoreInteraction,
|
|
3783
3787
|
Da as scoreWorkItem,
|
|
3784
3788
|
No as selectLenses,
|
|
3785
|
-
|
|
3786
|
-
|
|
3789
|
+
rs as sessionsHoldCannotReach,
|
|
3790
|
+
ns as sessionsToHold,
|
|
3787
3791
|
ze as shareKeyForTeam,
|
|
3788
3792
|
Ve as shareKeyForUser,
|
|
3789
3793
|
eo as shareKeysForViewer,
|
|
3790
|
-
|
|
3794
|
+
$s as shouldRunAudioPipeline,
|
|
3791
3795
|
ba as slaBadgeTone,
|
|
3792
3796
|
bo as slaHoursByInbox,
|
|
3793
3797
|
fn as slaHoursFor,
|
|
@@ -3798,7 +3802,7 @@ export {
|
|
|
3798
3802
|
Et as stripHtml,
|
|
3799
3803
|
sa as subjectKeyOf,
|
|
3800
3804
|
et as subjectOf,
|
|
3801
|
-
|
|
3805
|
+
es as subjectRef,
|
|
3802
3806
|
Ua as suggestProjectKey,
|
|
3803
3807
|
la as summarizeReactions,
|
|
3804
3808
|
Yo as targetById,
|
|
@@ -271,6 +271,16 @@ export interface FieldDescriptor {
|
|
|
271
271
|
value: string;
|
|
272
272
|
label: string;
|
|
273
273
|
}[];
|
|
274
|
+
/** `select` only: several at once — Jira's labels, a multi-select custom field. */
|
|
275
|
+
multiValued?: boolean;
|
|
276
|
+
/**
|
|
277
|
+
* What the record holds now, in the same vocabulary as {@link FieldDescriptor.options}.
|
|
278
|
+
*
|
|
279
|
+
* Here and not in {@link ConnectorGetResponse.extra} because this is the *editable* view: an
|
|
280
|
+
* editor has to start from the current value, and a display string cannot be edited back into
|
|
281
|
+
* an option id. A connector that only wants to show something uses `extra`.
|
|
282
|
+
*/
|
|
283
|
+
value?: unknown;
|
|
274
284
|
required?: boolean;
|
|
275
285
|
/** Shown, never sent. A vendor field a person may read but not change. */
|
|
276
286
|
readOnly?: boolean;
|