@opencxh/domain 1.228.0 → 1.231.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/keys.d.ts +9 -0
- package/dist/entities/work/types.d.ts +135 -0
- package/dist/index.cjs +10 -10
- package/dist/index.js +154 -145
- package/dist/platform/connector.d.ts +140 -1
- package/dist/platform/sync.d.ts +17 -0
- package/package.json +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -18,6 +18,15 @@ export declare const WORK_PROJECT_SCOPE_KIND = "work_project";
|
|
|
18
18
|
* comms' `activity:` inherits its conversation's: a comment is not a second boundary.
|
|
19
19
|
*/
|
|
20
20
|
export declare const WORK_ACTIVITY_SCOPE_KIND = "work_activity";
|
|
21
|
+
/**
|
|
22
|
+
* The landing kind for a cycle — and **deliberately not a scope kind**.
|
|
23
|
+
*
|
|
24
|
+
* It names one thing only: which app a `SyncRecord` of this sort belongs to. A cycle is never a
|
|
25
|
+
* `scopeKey`, is never authorised, linked, read as text or given memory; it is a column value on
|
|
26
|
+
* an item. This constant exists so that string is not written out by hand in two apps, not as a
|
|
27
|
+
* first step towards claiming the kind. There is no `workCycleScopeKey`, and there should not be.
|
|
28
|
+
*/
|
|
29
|
+
export declare const WORK_CYCLE_SYNC_KIND = "work_cycle";
|
|
21
30
|
export declare function workItemScopeKey(itemId: string): string;
|
|
22
31
|
export declare function workProjectScopeKey(projectId: string): string;
|
|
23
32
|
export declare function workActivityScopeKey(activityId: string): string;
|
|
@@ -119,16 +119,125 @@ export interface WorkProject {
|
|
|
119
119
|
* pipeline. Empty on a project created here.
|
|
120
120
|
*/
|
|
121
121
|
externalIds?: string[];
|
|
122
|
+
/**
|
|
123
|
+
* Where this project came from, in the same shape an item carries.
|
|
124
|
+
*
|
|
125
|
+
* Only the `connectionId` half is load-bearing here: creating an item or a cycle *inside* an
|
|
126
|
+
* imported project has to be written back with the credential that project arrived on, and
|
|
127
|
+
* `externalIds` says which system but not which link.
|
|
128
|
+
*/
|
|
129
|
+
source?: WorkItemSource;
|
|
122
130
|
createdBy: string;
|
|
123
131
|
createdAt?: number;
|
|
124
132
|
updatedAt?: number;
|
|
125
133
|
}
|
|
134
|
+
/**
|
|
135
|
+
* A cycle: a named, dated box of work inside one project.
|
|
136
|
+
*
|
|
137
|
+
* A software team calls it a sprint, a case team calls it a phase. The same thing, and the
|
|
138
|
+
* reason it is not a `WorkProject` with dates: a project has a *series* of these. Put the dates
|
|
139
|
+
* on the project and there is exactly one, and every next one costs you a new ladder, a new field
|
|
140
|
+
* set, a new key prefix and a new access gate. The project is the unit of *work*; the cycle is
|
|
141
|
+
* the unit of *time*.
|
|
142
|
+
*
|
|
143
|
+
* Deliberately **not** a scope kind. You do not link a cycle, read it as text or hang memory on
|
|
144
|
+
* it — it is a column value on the item, and the only screen that addresses it is the project's
|
|
145
|
+
* own. {@link WorkItem.cycleId} carries the membership.
|
|
146
|
+
*/
|
|
147
|
+
export interface WorkCycle {
|
|
148
|
+
id: string;
|
|
149
|
+
organizationId: string;
|
|
150
|
+
/** A cycle without a project does not exist; it inherits the project's `ownerScope`. */
|
|
151
|
+
projectId: string;
|
|
152
|
+
/** Free text — "Sprint 14", "Fase 3". No number column: the form suggests the next name. */
|
|
153
|
+
name: string;
|
|
154
|
+
/** One sentence. What this cycle is for. */
|
|
155
|
+
goal?: string;
|
|
156
|
+
/**
|
|
157
|
+
* Planned window, epoch ms. What it says it will be, not what it was.
|
|
158
|
+
*
|
|
159
|
+
* **Optional, because an imported one may genuinely not have it.** A Jira sprint that has not
|
|
160
|
+
* started yet carries no dates at all, and inventing a window would be making up the one fact
|
|
161
|
+
* this row exists to state. Sort with {@link cycleOrder}, never with a bare subtraction: `a -
|
|
162
|
+
* b` over an absent date yields `NaN`, and a comparator that returns `NaN` makes
|
|
163
|
+
* `Array.prototype.sort` implementation-defined — it reorders the *dated* rows too.
|
|
164
|
+
*/
|
|
165
|
+
startDate?: number;
|
|
166
|
+
endDate?: number;
|
|
167
|
+
/**
|
|
168
|
+
* When it actually began and ended, epoch ms.
|
|
169
|
+
*
|
|
170
|
+
* **These two are the state**, and there is deliberately no `state` column beside them:
|
|
171
|
+
* `completedAt` set *is* "completed" and `startedAt` without it *is* "active", so an enum
|
|
172
|
+
* next to them would be the same truth stored twice with nothing keeping the two in step.
|
|
173
|
+
* Read them through {@link cycleState}.
|
|
174
|
+
*
|
|
175
|
+
* And not derived from `startDate`/`endDate` either: starting and completing are **acts**. A
|
|
176
|
+
* cycle planned Mon–Fri and begun on Tuesday is running with a start date in the past, and one
|
|
177
|
+
* whose end date passed on Friday is still running until Monday's meeting. Dates would flip it
|
|
178
|
+
* at midnight and move the numbers out from under people.
|
|
179
|
+
*/
|
|
180
|
+
startedAt?: number;
|
|
181
|
+
completedAt?: number;
|
|
182
|
+
/**
|
|
183
|
+
* The promise, counted at the moment of starting — never at the end.
|
|
184
|
+
*
|
|
185
|
+
* That is the whole point of a cycle number: counted on completion, an item that was added on
|
|
186
|
+
* Wednesday is indistinguishable from what the team committed to on Monday, and making that
|
|
187
|
+
* difference visible is what these two exist for.
|
|
188
|
+
*/
|
|
189
|
+
committedCount?: number;
|
|
190
|
+
committedSeconds?: number;
|
|
191
|
+
/** Written once, when the cycle is completed. See {@link WorkCycleSummary}. */
|
|
192
|
+
summary?: WorkCycleSummary;
|
|
193
|
+
/** Ids of this cycle in source systems. Empty on one created here. */
|
|
194
|
+
externalIds?: string[];
|
|
195
|
+
createdBy: string;
|
|
196
|
+
createdAt?: number;
|
|
197
|
+
updatedAt?: number;
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* What a cycle delivered, frozen at completion.
|
|
201
|
+
*
|
|
202
|
+
* One row written once, not a nightly snapshot: items move, so a burndown needs a daily series —
|
|
203
|
+
* but "what did this team get done in the last eight cycles" needs eight rows and no rollup at
|
|
204
|
+
* all. Compare against {@link WorkCycle.committedCount}, which was counted at the start.
|
|
205
|
+
*/
|
|
206
|
+
export interface WorkCycleSummary {
|
|
207
|
+
completed: number;
|
|
208
|
+
/** Open items that moved on — to the next cycle or back to the backlog. */
|
|
209
|
+
carriedOver: number;
|
|
210
|
+
completedSeconds: number;
|
|
211
|
+
}
|
|
212
|
+
/** Where a cycle stands. Derived, because the two timestamps already say it. */
|
|
213
|
+
export type WorkCycleState = "planned" | "active" | "completed";
|
|
214
|
+
/**
|
|
215
|
+
* The sort key of a cycle: its start, or the far end of time when it has none.
|
|
216
|
+
*
|
|
217
|
+
* One function rather than a `?? 0` per call site, and the direction is deliberate. A cycle with
|
|
218
|
+
* no dates yet is one nobody has planned into the calendar, so it belongs *after* everything that
|
|
219
|
+
* is planned — `?? 0` would put it on top, which is exactly backwards.
|
|
220
|
+
*/
|
|
221
|
+
export declare function cycleOrder(cycle: Pick<WorkCycle, "startDate">): number;
|
|
222
|
+
export declare function cycleState(cycle: Pick<WorkCycle, "startedAt" | "completedAt">): WorkCycleState;
|
|
126
223
|
export type WorkPriority = "low" | "normal" | "high" | "urgent";
|
|
127
224
|
/** Where an item came from — a person or something automatic. */
|
|
128
225
|
export interface WorkItemSource {
|
|
129
226
|
initiator: "user" | "system";
|
|
130
227
|
/** Free-form reason with `system` ("missed_call", "stale_interaction"). */
|
|
131
228
|
systemReason?: string;
|
|
229
|
+
/**
|
|
230
|
+
* This row is a **headline index**, not a copy: its truth stays at the source.
|
|
231
|
+
*
|
|
232
|
+
* Absent = an ordinary row, which is what every row made before this field existed is. Set by
|
|
233
|
+
* the landing and only by the landing; see `apps/work/server/src/item/proxy.ts`.
|
|
234
|
+
*/
|
|
235
|
+
mode?: "proxy";
|
|
236
|
+
/**
|
|
237
|
+
* → `SyncConnection.id`. Which connection, not just which product: it carries the credential,
|
|
238
|
+
* and two links to the same Jira are two different answers.
|
|
239
|
+
*/
|
|
240
|
+
connectionId?: string;
|
|
132
241
|
}
|
|
133
242
|
/**
|
|
134
243
|
* A work item.
|
|
@@ -170,6 +279,32 @@ export interface WorkItem {
|
|
|
170
279
|
/** {@link WorkResolution.key}. Only meaningful when the status falls in category `done`. */
|
|
171
280
|
resolution?: string;
|
|
172
281
|
parentId?: string;
|
|
282
|
+
/**
|
|
283
|
+
* The {@link WorkCycle} this item is planned into. Absent = the backlog.
|
|
284
|
+
*
|
|
285
|
+
* A scalar column and not a key in {@link WorkItem.keys}, and the reason is not taste: that
|
|
286
|
+
* column is written down two paths that disagree. `restampKeys` **rebuilds** it from
|
|
287
|
+
* `deriveKeys(...)` on every link and unlink, while the import **unions** into it. A cycle key
|
|
288
|
+
* in there would survive or vanish depending on which path touched the row last.
|
|
289
|
+
*
|
|
290
|
+
* It is also the only shape that can answer the backlog's question. "Which items are in no
|
|
291
|
+
* cycle" is `cycleId: null` — this store has no `$exists`, and over an array column the
|
|
292
|
+
* question cannot be put at all.
|
|
293
|
+
*
|
|
294
|
+
* Only root items carry one; a subtask follows its parent.
|
|
295
|
+
*/
|
|
296
|
+
cycleId?: string;
|
|
297
|
+
/**
|
|
298
|
+
* The cycle this item is in **at the source**, for an imported item.
|
|
299
|
+
*
|
|
300
|
+
* Stored whether or not it resolved, exactly like {@link WorkItem.parentExternalId}: an issue
|
|
301
|
+
* can land before its sprint does, and the sprint's own landing then adopts it.
|
|
302
|
+
*
|
|
303
|
+
* Unlike the parent, the resolution **overwrites**. A parent is ours to keep once set ("a
|
|
304
|
+
* source must not re-hang work somebody organised here"); a sprint is the source's to move, so
|
|
305
|
+
* filling in only when empty would freeze an item in the sprint it was in a year ago.
|
|
306
|
+
*/
|
|
307
|
+
cycleExternalId?: string;
|
|
173
308
|
/**
|
|
174
309
|
* The id of the parent **at the source**, for an imported item.
|
|
175
310
|
*
|
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",Qo="work_cycle";function Nn(e){return`${wn}:${e}`}function Ce(e){return`${Rn}:${e}`}function ea(e){return`${Cn}:${e}`}function ta(e,t,n){const r=`${e}-${t}`;return n?`${r}-${n}`:r}function na(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 ra(e){return(e||"").normalize("NFD").replace(/[\u0300-\u036f]/g,"").toUpperCase().replace(/[^A-Z0-9]/g,"").slice(0,3)||"PRJ"}function ia(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 oa(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 aa(e,t){return t.find(n=>n.key===e)}function sa(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 ca(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 la(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 ua(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 da(e){return e.startDate??Number.MAX_SAFE_INTEGER}function pa(e){return e.completedAt?"completed":e.startedAt?"active":"planned"}const fa=new Set(["image/png","image/jpeg","image/jpg","image/gif","image/webp"]),ma=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?fa.has(t)?"image":t==="application/pdf"?"pdf":ma.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},ga=25*w,ha=5;function Ea(e,t){const n=Ln(e);return n==="unsupported"?"unsupported":t>Pn[n]?"too-large":null}function Aa(e){return e.access!=="read"&&e.effect!=="internal"}function Un(e){return`${e.kind}:${e.id||e.url||e.title}`}function Sa(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 _a="assist-source",ya=["blocking","due","open"];function Ta(e,t){const[n,r]=(e.subjectKey??"").split(":");return n===t&&r?r:void 0}const Xe={blocking:0,due:1,open:2};function ba(e,t){return Xe[e.band??"open"]-Xe[t.band??"open"]||(t.priority??0)-(e.priority??0)||e.id.localeCompare(t.id)}function Ia(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&e.canHold(t.providerId))}function Ma(e){return e.sessions.filter(t=>t.id!==e.exceptSessionId&&t.state==="connected"&&!e.canHold(t.providerId))}function Oa(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=>Ra(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 wa(e,t){const n=Kn(e,t);return Object.entries(n).filter(([,r])=>!r).map(([r])=>r)}function Ra(e,t){return t?{intent:t.intent??e.intent,targetSchemes:t.targetSchemes??e.targetSchemes,transport:t.transport??e.transport}:e}function Ca(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 Na(e,t){return t.filter(n=>n.capability.intent===e)}function Bn(e,t){return t.filter(n=>n.capability.targetSchemes.includes(e))}function ka(e,t){return Bn(e.scheme,t)}function va(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 Da={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 xa(e){return e?Da[e]??"note":"note"}const La="message_window",Pa="message_templates",Ua={FROM:"from",TO:"to",CC:"cc",BCC:"bcc",ORGANIZER:"organizer",PRESENTER:"presenter",ATTENDEE:"attendee",OWNER:"owner",MEMBER:"member",GUEST:"guest",HOST:"host",PARTICIPANT:"participant"},$a=(e,t)=>({intent:e,...t}),Ka="folder_management",Ba="remote_search",Fa="message_reactions",Ga={ok:!1,code:"UNSUPPORTED",message:"Provider does not support this op"},Ha="connector",Wa="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},Va=[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)],ja=[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)],Ya=[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)],za=[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=[...Va,...ja,...Ya,...za];function Xa(e){return ke.filter(t=>t.kinds.includes(e))}function qa(e){return ke.find(t=>t.op===e)}const Ja="documents.describe",Za="documents.inspect",Qa="documents.apply";function es(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 ts="installation-id";function ns(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 rs="notification-source",is=(e,t)=>`${e}.pref.${t}`,os={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 as(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 ss(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 cs(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 ls(e){return e.providerAvailable&&e.allowed}const us="resources.describe",ds="resources.search",ps="resources.resolve",fs="resources.attached";function ms(e){const t=e.indexOf(":");return t===-1?e:e.slice(0,t)}const gs="/provider/scope/related",hs="/provider/scope/read",De="auth";function xe(e){const t=typeof e=="string"?e.match(/apps\/([^/?#]+)/):null;return t?t[1]:null}function Es(e){const t=xe(e);return t?t!==De:typeof e=="string"&&e.startsWith("/wake")}function As(e){return typeof e!="string"||e===""||e==="/"?!0:xe(e)===De}function Ss(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function Wn(e){const n=e.split("/").filter(Boolean).map(r=>r.startsWith(":")?r.endsWith("?")?"(?:/[^/]+)?":"/[^/]+":`/${Ss(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 _s(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 ys(e,t){return zn(e,t)!==null}const Ts=10*1024*1024,bs=25*1024*1024,Is="sync-target",Ms=20,Os={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(Os).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,ws=3,Rs=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<ws||Rs.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 Cs(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 Ns(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 ks=["personal","workspace","connections","work","ai"],vs="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",Ds=15,xs=8,Ls=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>Ds)return null;for(const t of Ls){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<xs?null:`+${e}`}function Ps(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 Us(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=Ps(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 $s(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 Ks(e){const t=Le(e);return t?t.slice(t.lastIndexOf("@")+1):null}const Bs=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 Bs.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 Fs(e){const t=or(e);return t?ar.has(t):!1}function Gs(e){if(!e)return!1;const t=e.trim().toLowerCase();return t==="tel"||t==="sms"||t==="whatsapp"||t==="fax"}function Hs(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 Ws=[/<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,Vs=/^\s*(?:on|op)\b.{0,200}?\b(?:wrote|schreef|geschreven)\s*:?\s*$/i;function js(e){const t=e.split(`
|
|
10
|
+
`);for(let n=0;n<t.length;n++)if(Vs.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 Ys=/^(?:https?:|mailto:|tel:)/i,zs=/^(?: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 Xs=/(!\[[^\]]*\]\([^)]*\))/;function tt(e){return e.replace(/\s+/g," ").trim().split(Xs).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 qs(e){return e.replace(/<img\b([^>]*?)\/?>/gi,(n,r)=>{const i=ae(r,"src");return zs.test(i)?`})`:""}).replace(/<a\b([^>]*)>([\s\S]*?)<\/a\s*>/gi,(n,r,i)=>{const o=tt(i.replace(/<[^>]*>/g,"")),a=ae(r,"href");return Ys.test(a)?`[${o||se(a)}](${se(a)})`:o})}const Js=/<table\b[^>]*>((?:(?!<table\b)[\s\S])*?)<\/table\s*>/i,Zs=/<tr\b[^>]*>([\s\S]*?)<\/tr\s*>/gi,Qs=/<(t[dh])\b([^>]*)>([\s\S]*?)<\/\1\s*>/gi;function ec(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 tc=40,nc={left:"---",center:":---:",right:"---:"};function rc(e){const t=e.match(/align\s*[=:]\s*["']?\s*(right|center)/i);return t?t[1].toLowerCase():"left"}function ic(e){return e.replace(/<[^>]*>/g,"").replace(/\s+/g," ").trim().replace(/\|/g,"\\|")}function oc(e){const t=[];for(const a of e.matchAll(Zs)){const s=[];for(const c of a[1].matchAll(Qs)){const m=ic(c[3]);if(ec(c[3],m))return null;s.push({text:m,align:rc(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=>nc[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 ac(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 sc(e){let t=e;for(let n=0;n<tc;n++){const r=Js.exec(t);if(!r||r.index===void 0)break;const o=oc(r[1])??`
|
|
22
22
|
|
|
23
|
-
${
|
|
23
|
+
${ac(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=sc(qs(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 cc={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)=>cc[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 lc(e){return sr.test(e)}function uc(e){return cr(e,!1)}function dc(e){return cr(e,!0)}function cr(e,t){if(typeof e!="string"||!e)return"";let n=e.length;for(const a of Ws){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)))),js(i)||i}exports.ACTIVE_ASSIGNMENT_STATUSES=ai;exports.ACTIVITY_CATALOG=y;exports.AI_ATTACHMENT_LIMITS=Pn;exports.AI_ATTACHMENT_MAX_PER_TURN=ha;exports.AI_ATTACHMENT_TURN_BUDGET=ga;exports.AI_VENDORS=Te;exports.ALLOWED_LINK_SCHEMES=_t;exports.APP_PERMISSIONS=os;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=ya;exports.ASSIST_SOURCE_PROVIDER_GROUP=_a;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=Ha;exports.CONTEXT_COLLECT_SERVICE=Wa;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=Ja;exports.DOCUMENT_INSPECT_SERVICE=Za;exports.DOCUMENT_OPERATIONS=ke;exports.EMPTY_WORKFLOW=co;exports.FEATURE_FOLDER_MANAGEMENT=Ka;exports.FEATURE_MESSAGE_REACTIONS=Fa;exports.FEATURE_REMOTE_SEARCH=Ba;exports.FOLLOW_UP_HOURS=$t;exports.HOUR_MS=wt;exports.HTML_BODY_RE=sr;exports.INELIGIBLE=b;exports.INSTALLATION_HEADER=ts;exports.INTERACTION_KIND=on;exports.InteractionParticipantRole=Ua;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=Ts;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=bs;exports.MIN_MEMORY_BUDGET=Wi;exports.NAV_NOTICE_SLOT=vs;exports.NOTIFICATION_SOURCE_PROVIDER_GROUP=rs;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=Pa;exports.PROVIDER_FEATURE_MESSAGE_WINDOW=La;exports.PUBLIC_EMAIL_DOMAINS=ar;exports.READ_STEP_TYPES=he;exports.RELATED_SUBJECT_KINDS=Jt;exports.RESERVED_STATUS_KEYS=Ne;exports.RESOURCE_ATTACHED_SERVICE=fs;exports.RESOURCE_DESCRIBE_SERVICE=us;exports.RESOURCE_RESOLVE_SERVICE=ps;exports.RESOURCE_SEARCH_SERVICE=ds;exports.SCOPE_READ_ROUTE=hs;exports.SCOPE_RELATED_ROUTE=gs;exports.SETTINGS_CATEGORIES=ks;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=Ms;exports.SYNC_TARGET_PROVIDER_GROUP=Is;exports.TERMINAL_ASSIGNMENT_STATUSES=bt;exports.TERMINAL_RUN_STATUSES=pn;exports.TRIGGER_VARS=oo;exports.UNSUPPORTED=Ga;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_CYCLE_SYNC_KIND=Qo;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=ss;exports.aiAttachmentKind=Ln;exports.aiAttachmentRejection=Ea;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=Ca;exports.buildShareKeys=ri;exports.buildWindow=nr;exports.calendarOf=Q;exports.canNestUnder=Li;exports.carriesText=Sr;exports.categoryLabel=Ui;exports.categoryOf=vn;exports.channelKindForScheme=xa;exports.channelKindOf=gr;exports.clampStepMaxTokens=so;exports.classifyMail=bi;exports.cleanMessageMarkdown=dc;exports.cleanMessageText=uc;exports.compareAssistRank=ba;exports.compareWorkTypes=yn;exports.cycleOrder=da;exports.cycleState=pa;exports.decideAssignmentState=pi;exports.decideCadence=Ns;exports.decideIncomingCall=Oa;exports.defaultLocaleOf=qt;exports.defaultStatusKey=sa;exports.defineIntent=$a;exports.depthOf=Yt;exports.derivePresence=as;exports.disabledIntentsFromCapabilities=wa;exports.documentKindOf=es;exports.dueAtOf=Do;exports.elapsedSeconds=Uo;exports.emailDomain=Ks;exports.endpointKey=Hs;exports.extractParams=Vn;exports.extractTerms=er;exports.filterByEndpoint=ka;exports.filterByIntent=Na;exports.filterByTargetScheme=Bn;exports.findAiVendor=k;exports.flattenLocales=ns;exports.floorToPeriod=gt;exports.formatActingIdentity=Zt;exports.formatClock=Bo;exports.formatHm=Ko;exports.formatItemKey=ta;exports.formatPeriod=mt;exports.formatSlaDuration=Po;exports.freshSources=Sa;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=Es;exports.isDescendant=zt;exports.isEligible=hi;exports.isEmailActivity=Nr;exports.isHtmlBody=lc;exports.isInFlight=mo;exports.isInteractionUnseen=xt;exports.isLandingPath=As;exports.isLikelyBulk=Nt;exports.isMessageShape=_e;exports.isMessageType=hr;exports.isMoreSpecificPattern=Yn;exports.isNoteShape=ye;exports.isOpenClock=Sn;exports.isOutwardTool=Aa;exports.isParked=Bt;exports.isPaused=fn;exports.isPlaybookAuthoredType=_r;exports.isPublicEmailDomain=Fs;exports.isPublicPath=ys;exports.isReminderActive=Ft;exports.isReplyableType=Ar;exports.isSlaAtRisk=Mi;exports.isTerminal=fo;exports.isThreadLongEnough=Si;exports.isTranscriptType=Tr;exports.isWorkClosed=ca;exports.isWorkTypeVisible=Go;exports.itemDossierKeys=ia;exports.ladderFor=kn;exports.linkLabel=ki;exports.listeningAllowed=Kr;exports.localeInstruction=xi;exports.localeName=Di;exports.localesOf=Pi;exports.looksLikeEmail=Us;exports.matchContactToIntents=va;exports.matchPublicRoute=zn;exports.mcpCredentialScope=Bi;exports.mcpToolPrefix=Fi;exports.mergeShownKeys=Cs;exports.messageCountsAs=ct;exports.needsPhoneRegion=Gs;exports.nestsUnderParent=Er;exports.nextSlaClock=xo;exports.normalizeArtifactBlocks=Zr;exports.normalizeBlocks=dr;exports.normalizeEmail=Le;exports.normalizeExample=I;exports.notificationPrefKey=is;exports.novelty=tr;exports.operationDescriptor=qa;exports.operationsForKind=Xa;exports.parkMarksById=Ei;exports.parseActingIdentity=Ji;exports.parseClockMinutes=bo;exports.parseItemKey=na;exports.pathToRegex=Wn;exports.pauseBitFor=Io;exports.periodsInRange=Hr;exports.phoneSuffix=$s;exports.pickMailHeaders=_i;exports.plainTextFromMarkdown=at;exports.planSlaEvent=vo;exports.playbookActor=tn;exports.procedureOf=uo;exports.projectDossierKeys=oa;exports.publicBasePathFor=jn;exports.publicRoutePatterns=_s;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=cs;exports.resourceKindOf=ms;exports.runActor=Zi;exports.runInteractionId=ho;exports.sanitizeInline=Tt;exports.sanitizeTranscript=Xn;exports.scoreInteraction=Oi;exports.scoreWorkItem=Zo;exports.selectLenses=Ki;exports.sessionsHoldCannotReach=Ma;exports.sessionsToHold=Ia;exports.shareKeyForTeam=Me;exports.shareKeyForUser=Ie;exports.shareKeysForViewer=ii;exports.shouldRunAudioPipeline=ls;exports.slaBadgeTone=Lo;exports.slaHoursByInbox=Ii;exports.slaHoursFor=Wt;exports.sortStatuses=Dn;exports.sourceKey=Un;exports.statusIn=aa;exports.stepsOf=lo;exports.stripHtml=st;exports.subjectKeyOf=go;exports.subjectOf=Re;exports.subjectRef=Ta;exports.suggestProjectKey=ra;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=la;exports.uniqueWorkTypeKey=Fo;exports.usageMetricId=At;exports.usageMetrics=Wr;exports.validateStatuses=ua;exports.valueAtPath=eo;exports.waitHoursOf=J;exports.wakesAssignment=li;exports.workActivityScopeKey=ea;exports.workItemScopeKey=Nn;exports.workProjectScopeKey=Ce;exports.workStatusKey=xn;exports.workTypeKey=_n;exports.workingMsBetween=j;
|