@entrydesk/cli 2.1.0 → 2.2.0-beta
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/README.md +97 -29
- package/dist/add-A1EZKhMH.js +10 -0
- package/dist/agents-CZzVru0_.js +10 -0
- package/dist/billing-DHV0Wfwm.js +10 -0
- package/dist/budget-Dvl1Q6_g.js +10 -0
- package/dist/{build-task-request-config-C62XneUL.js → build-task-request-config-B_mlDg_c.js} +1 -1
- package/dist/{commands-D5BrzwFc.js → commands-ghS7KAQr.js} +1 -1
- package/dist/commands-qNH4DlB_.js +10 -0
- package/dist/config-B3pbK-VP.js +11 -0
- package/dist/connectors-Dqa8qg7s.js +11 -0
- package/dist/file-upload-CgLvxPGL.js +24 -0
- package/dist/format-BaXJBAlk.js +10 -0
- package/dist/index.js +40 -25
- package/dist/{instruction-BzftVNfK.js → instruction-DaoJgFgE.js} +1 -1
- package/dist/login-CVUzJp76.js +10 -0
- package/dist/{logout-BFFnjWjY.js → logout-B6Bb4w2Y.js} +1 -1
- package/dist/marketplace-C-7CArF7.js +12 -0
- package/dist/{mcp-D2zejorr.js → mcp-BnFLUTG-.js} +2 -2
- package/dist/mcp-client-CPFC6TCy.js +10 -0
- package/dist/meeting-B5-UQSO3.js +11 -0
- package/dist/message-utils-DRHsMlj2.js +15 -0
- package/dist/models-pzt8nNX7.js +11 -0
- package/dist/notifications-Bo7oPqK5.js +10 -0
- package/dist/{paginate-C9ixtica.js → paginate-DetNe5nU.js} +1 -1
- package/dist/{paths-CZAS8cbS.js → paths-CLGwOhp4.js} +1 -1
- package/dist/profile-Cth2_rzi.js +10 -0
- package/dist/profile-storage-BVSyHoBn.js +68 -0
- package/dist/project-CPKxduou.js +10 -0
- package/dist/{project-context-C0ozCzKH.js → project-context-D8YawkvR.js} +1 -1
- package/dist/project-governance-EFbI_Qan.js +10 -0
- package/dist/{project-sources-DFn7Tn7u.js → project-sources-CFgB4loh.js} +1 -1
- package/dist/project-sources-write-DUx1voCZ.js +10 -0
- package/dist/project-tasks-Bk8-wOyn.js +10 -0
- package/dist/{push-mojEdys2.js → push-4Y4mjxO7.js} +1 -1
- package/dist/recordings-DtgXMjp2.js +11 -0
- package/dist/remove-DUFnCuRT.js +10 -0
- package/dist/resolve-yAqzT64X.js +14 -0
- package/dist/{resource-grants-CtIINiDN.js → resource-grants-DMj0dy5m.js} +1 -1
- package/dist/schedules-6T2-994t.js +29 -0
- package/dist/skills-C56S2Z62.js +10 -0
- package/dist/status-BBvz4l0p.js +10 -0
- package/dist/status-DHllWQ7c.js +10 -0
- package/dist/task-Hcgf0oDf.js +110 -0
- package/dist/{tasks-CA2QZ8rX.js → tasks-CLlI3fiV.js} +1 -1
- package/dist/tasks-D2CtxbpJ.js +22 -0
- package/dist/team-aQszguLF.js +11 -0
- package/dist/terminal-text-cBPBiP3x.js +10 -0
- package/dist/tool-CASBzR_z.js +17 -0
- package/dist/update-CSh9DfHK.js +10 -0
- package/dist/usage-BLPq7c6l.js +11 -0
- package/dist/usage-audit-BYvZgTJp.js +12 -0
- package/dist/{version-C1OwBsCd.js → version-jPJWKUcc.js} +1 -1
- package/dist/webhook-BxPA95wd.js +11 -0
- package/dist/workflow-DJkPvmuA.js +14 -0
- package/dist/workspaces-CDotU443.js +11 -0
- package/package.json +5 -5
- package/dist/add-D4yZrlJH.js +0 -10
- package/dist/agents-3dOJzTmM.js +0 -10
- package/dist/billing-Cyk-IzGv.js +0 -10
- package/dist/budget-znTQ0rkG.js +0 -10
- package/dist/commands--5Ein-MI.js +0 -10
- package/dist/config-D-9dIy19.js +0 -11
- package/dist/connectors-B7smri5B.js +0 -11
- package/dist/file-upload-D2s_clGk.js +0 -24
- package/dist/format-DCvznP70.js +0 -10
- package/dist/isRecord-BNZWvqVS.js +0 -10
- package/dist/login-Ch3S9nh6.js +0 -10
- package/dist/marketplace-DNm78dKX.js +0 -12
- package/dist/mcp-client-ltOwvE7T.js +0 -10
- package/dist/meeting-BdLr54zK.js +0 -11
- package/dist/message-utils-DiNLK_84.js +0 -15
- package/dist/models-6WioEQKB.js +0 -11
- package/dist/notifications-DIokyl4e.js +0 -10
- package/dist/profile-CWsA2P_O.js +0 -10
- package/dist/profile-storage-CuiJZpFD.js +0 -68
- package/dist/project-c8F30d-Q.js +0 -10
- package/dist/project-governance-DRDjqvX8.js +0 -10
- package/dist/project-sources-write-Bz0lGCid.js +0 -10
- package/dist/project-tasks-DnOrMxr3.js +0 -10
- package/dist/recordings-BbeRVH0H.js +0 -11
- package/dist/remove-BLF3muSH.js +0 -10
- package/dist/resolve-BoqGhxVK.js +0 -14
- package/dist/schedules-ec4cS2A0.js +0 -29
- package/dist/skills-C0xCUb-M.js +0 -10
- package/dist/status-Bfh5hjTq.js +0 -10
- package/dist/status-DpYhlJPA.js +0 -10
- package/dist/task-DfLoMsmZ.js +0 -108
- package/dist/tasks-Bl8A2HW6.js +0 -22
- package/dist/tool-B8CuZYYb.js +0 -17
- package/dist/update-BVBj3leV.js +0 -10
- package/dist/usage-CIhTZm98.js +0 -11
- package/dist/usage-audit-BUcbqdAc.js +0 -12
- package/dist/workflow-DJSq8hY5.js +0 -14
- package/dist/workspaces-BM_3Miqs.js +0 -11
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
var __entrydeskNodeFloor = 24;
|
|
3
|
+
if (parseInt(process.versions.node, 10) < __entrydeskNodeFloor) {
|
|
4
|
+
process.stderr.write(
|
|
5
|
+
'entrydesk: Node.js ' + __entrydeskNodeFloor + ' or newer is required, but this is Node ' + process.versions.node + '.\n' +
|
|
6
|
+
'Upgrade Node (https://nodejs.org/en/download), then reinstall @entrydesk/cli.\n'
|
|
7
|
+
);
|
|
8
|
+
process.exit(1);
|
|
9
|
+
}
|
|
10
|
+
import{n as e,t}from"./rolldown-runtime-CiM6yMNq.js";import n from"node:fs";import r from"node:os";import i from"node:path";import a,{HTTPError as o,TimeoutError as s,isHTTPError as c,isTimeoutError as l}from"ky";import{getToolName as u,isToolUIPart as d}from"ai";import{lookup as f}from"node:dns/promises";import{isIP as p}from"node:net";import{Agent as ee,fetch as te}from"undici";import ne from"node:crypto";import{execFile as re}from"node:child_process";import{setTimeout as ie}from"node:timers/promises";import{decodeJwt as ae}from"jose";let oe;function se(){return oe===void 0&&(oe=typeof Intl<`u`&&typeof Intl.Segmenter==`function`?new Intl.Segmenter(void 0,{granularity:`grapheme`}):null),oe}function ce(e){let t=0;for(let n of e)t+=1;return t}function le(e){let t=[];for(let n of e)t.push(n);return t}function ue(e){let t=se();return t?Array.from(t.segment(e),e=>e.segment):le(e)}function de(e,t){let n=se();if(!n)return le(e).slice(0,t).join(``);let r=0,i=0;for(let{segment:a,index:o}of n.segment(e)){let e=ce(a);if(r+e>t)break;r+=e,i=o+a.length}return i===0&&e.length>0?le(e).slice(0,t).join(``):e.slice(0,i)}function fe(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function pe(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?fe(Object(n),!0).forEach(function(t){me(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):fe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function me(e,t,n){return t=he(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function he(e){var t=ge(e,`string`);return typeof t==`symbol`?t:String(t)}function ge(e,t){if(typeof e!=`object`||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t||`default`);if(typeof r!=`object`)return r;throw TypeError(`@@toPrimitive must return a primitive value.`)}return(t===`string`?String:Number)(e)}_e({});function _e(e){return t.withOptions=t=>_e(pe(pe({},e),t)),t;function t(t,...n){let r=typeof t==`string`?[t]:t.raw,{alignValues:i=!1,escapeSpecialCharacters:a=Array.isArray(t),trimWhitespace:o=!0}=e,s=``;for(let e=0;e<r.length;e++){let t=r[e];if(a&&(t=t.replace(/\\\n[ \t]*/g,``).replace(/\\`/g,"`").replace(/\\\$/g,`$`).replace(/\\\{/g,`{`)),s+=t,e<n.length){let t=i?ve(n[e],s):n[e];s+=t}}let c=s.split(`
|
|
11
|
+
`),l=null;for(let e of c){let t=e.match(/^(\s+)\S+/);if(t){let e=t[1].length;l=l?Math.min(l,e):e}}if(l!==null){let e=l;s=c.map(t=>t[0]===` `||t[0]===` `?t.slice(e):t).join(`
|
|
12
|
+
`)}return o&&(s=s.trim()),a&&(s=s.replace(/\\n/g,`
|
|
13
|
+
`).replace(/\\t/g,` `).replace(/\\r/g,`\r`).replace(/\\v/g,`\v`).replace(/\\b/g,`\b`).replace(/\\f/g,`\f`).replace(/\\0/g,`\0`).replace(/\\x([\da-fA-F]{2})/g,(e,t)=>String.fromCharCode(parseInt(t,16))).replace(/\\u\{([\da-fA-F]{1,6})\}/g,(e,t)=>String.fromCodePoint(parseInt(t,16))).replace(/\\u([\da-fA-F]{4})/g,(e,t)=>String.fromCharCode(parseInt(t,16)))),typeof Bun<`u`&&(s=s.replace(/\\u(?:\{([\da-fA-F]{1,6})\}|([\da-fA-F]{4}))/g,(e,t,n)=>{let r=t??n??``;return String.fromCodePoint(parseInt(r,16))})),s}}function ve(e,t){if(typeof e!=`string`||!e.includes(`
|
|
14
|
+
`))return e;let n=t.slice(t.lastIndexOf(`
|
|
15
|
+
`)+1).match(/^(\s+)/);if(n){let t=n[1];return e.replace(/\n/g,`\n${t}`)}return e}const ye={blue:`#0360f0`,yellow:`#ffce25`,cyan:`#00d2ff`},be={width:570.45,height:120.05};`${be.width}${be.height}`;const xe=[{tag:`polygon`,points:`893.15 145.4 764.8 145.4 764.8 171.11 816.12 171.11 816.12 265.19 841.83 265.19 841.83 171.11 893.15 171.11 893.15 145.4`},{tag:`path`,commands:`M935.9,183.97c0-7.1,5.76-12.86,12.86-12.86h86.93v-25.71h-95.26c-16.7,0-30.24,13.54-30.24,30.24v59.31c0,16.7,13.54,30.24,30.24,30.24h95.26v-25.71h-86.93c-7.1,0-12.86-5.76-12.86-12.86v-42.65Z`},{tag:`path`,commands:`M717.67,145.14v89.92l-66.31-85.23h0c-2.36-2.86-5.93-4.68-9.92-4.68-.33,0-13.61,0-13.61,0-7.1,0-12.86,5.76-12.86,12.86v107.19h25.71v-89l66.31,84.32h0c2.36,2.86,5.93,4.68,9.92,4.68q1.25,0,0,0h13.62q-2.5,0,0,0c7.04,0,12.75-5.66,12.85-12.68v-107.37h-25.71Z`},{tag:`path`,commands:`M495.48,145.14c-16.7,0-30.24,13.54-30.24,30.24v59.57c0,16.07,12.53,29.2,28.35,30.18h87.25c7.07,0,12.81-5.76,12.81-12.87v-47.1c0-7.11-5.73-12.87-12.81-12.87h-64.29v25.71h51.39v21.44h-64.15c-7.06,0-12.78-5.69-12.86-12.73v-43.1c.07-7.04,5.8-12.73,12.86-12.73l89.85-.02v-25.71h-98.17`}],Se=[{tag:`path`,commands:`M1378.44,219.45c0,30.39-18.05,46.04-44.94,46.04s-44.94-15.47-44.94-46.04v-47.33h21.92v47.33c0,17.31,9.21,25.6,23.02,25.6s23.02-8.29,23.02-25.6v-47.33h21.92v47.33Z`},{tag:`path`,commands:`M1396.49,230.5v-88.22h21.92v32.23h46.96v19.89h-46.96v36.1c0,12.15,6.26,16.94,15.29,16.94s15.29-4.6,15.29-16.94v-2.39h21.92v2.39c0,25.23-15.1,37.39-37.2,37.39s-37.2-12.16-37.2-37.39Z`},{tag:`path`,commands:`M1485.49,218.16c0-30.39,18.05-46.04,44.94-46.04s44.94,15.47,44.94,46.04v47.33h-21.92v-47.33c0-17.31-9.21-25.6-23.02-25.6s-23.02,8.29-23.02,25.6v47.33h-21.92v-47.33Z`},{tag:`rect`,x:`1485.49`,y:`133.11`,width:`21.92`,height:`132.38`},{tag:`path`,commands:`M1172.56,217.04c0-29.54,22.45-48.9,48.41-48.9s48.61,19.36,48.61,48.9-22.64,49.1-48.61,49.1-48.41-19.56-48.41-49.1ZM1248.03,217.04c0-16.77-12.3-28.71-27.06-28.71s-26.85,11.95-26.85,28.71,12.09,28.92,26.85,28.92,27.06-11.74,27.06-28.92Z`},{tag:`rect`,x:`1248.21`,y:`172.2`,width:`21.92`,height:`93.29`},{tag:`rect`,x:`1077.07`,y:`193.92`,width:`55.68`,height:`21.92`}],Ce=[{tag:`polygon`,fill:ye.cyan,points:`232.67 341.7 241.66 346.89 250.66 341.68 361.69 277.59 297.18 240.35 297.17 240.35 250.66 267.2 241.66 272.4 232.67 267.21 186.15 240.35 121.63 277.59 232.67 341.7`},{tag:`polygon`,fill:ye.yellow,points:`177.15 224.77 177.15 160.66 186.14 155.47 232.67 128.6 232.67 54.11 121.63 118.23 112.64 123.42 112.64 262.01 177.15 224.77`},{tag:`polygon`,fill:ye.blue,points:`306.17 160.66 306.17 224.77 370.68 262.01 370.68 123.42 361.69 118.23 250.66 54.12 250.66 128.61 297.18 155.47 306.17 160.66`}];[...xe,...Se,...Ce];function we(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}new TextEncoder,new TextDecoder(`utf-8`,{fatal:!1});function Te(e){let t=Object.values(e).filter(e=>typeof e==`number`);return Object.entries(e).filter(([e,n])=>t.indexOf(+e)===-1).map(([e,t])=>t)}function Ee(e,t=`|`){return e.map(e=>Ue(e)).join(t)}function De(e,t){return typeof t==`bigint`?t.toString():t}function Oe(e){return{get value(){{let t=e();return Object.defineProperty(this,"value",{value:t}),t}}}}function ke(e){return e==null}function Ae(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function je(e,t){let n=e/t,r=Math.round(n),i=4*2**-52*Math.max(Math.abs(n),1);return Math.abs(n-r)<i?0:n-r}function m(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Me(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function Ne(e){return JSON.stringify(e)}function Pe(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const Fe=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Ie(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Le=Oe(()=>{if(v.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Re(e){if(Ie(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Ie(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function ze(e){return Re(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Be=new Set([`string`,`number`,`symbol`]);function Ve(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function He(e,t,n){let r=new e._zod.constr(t??e._zod.def);return(!t||n?.parent)&&(r._zod.parent=e),r}function h(e){let t=e;if(!t)return{};if(typeof t==`string`)return{error:()=>t};if(t?.message!==void 0){if(t?.error!==void 0)throw Error("Cannot specify both `message` and `error` params");t.error=t.message}return delete t.message,typeof t.error==`string`?{...t,error:()=>t.error}:t}function Ue(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function We(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}const Ge={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]};function Ke(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.pick() cannot be used on object schemas containing refinements`);return He(e,Me(e._zod.def,{get shape(){let e={};for(let r of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(n.shape,r))throw Error(`Unrecognized key: "${String(r)}"`);t[r]&&m(e,r,n.shape[r])}return m(this,`shape`,e),e},checks:[]}))}function qe(e,t){let n=e._zod.def,r=n.checks;if(r&&r.length>0)throw Error(`.omit() cannot be used on object schemas containing refinements`);return He(e,Me(e._zod.def,{get shape(){let r={...e._zod.def.shape};for(let e of Reflect.ownKeys(t)){if(!Object.prototype.hasOwnProperty.call(n.shape,e))throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&delete r[e]}return m(this,`shape`,r),r},checks:[]}))}function Je(e,t){if(!Re(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=e._zod.def.shape;for(let e of Reflect.ownKeys(t))if(Object.getOwnPropertyDescriptor(n,e)!==void 0)throw Error("Cannot overwrite keys on object schemas containing refinements. Use `.safeExtend()` instead.")}return He(e,Me(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return m(this,`shape`,n),n}}))}function Ye(e,t){if(!Re(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return He(e,Me(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t};return m(this,`shape`,n),n}}))}function Xe(e,t){if(!t?._zod?.def)throw Error("Invalid input to merge: expected an object schema. To merge a plain shape, use `.extend()`.");if(e._zod.def.checks?.length)throw Error(`.merge() cannot be used on object schemas containing refinements. Use .safeExtend() instead.`);return He(e,Me(e._zod.def,{get shape(){let n={...e._zod.def.shape,...t._zod.def.shape};return m(this,`shape`,n),n},get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function Ze(e,t,n,r=`partial`){let i=t._zod.def.checks;if(i&&i.length>0)throw Error(`.${r}() cannot be used on object schemas containing refinements`);return He(t,Me(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t of Reflect.ownKeys(n)){if(!Object.prototype.hasOwnProperty.call(r,t))throw Error(`Unrecognized key: "${String(t)}"`);n[t]&&(i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t])}else for(let t of Reflect.ownKeys(r))i[t]=e?new e({type:`optional`,innerType:r[t]}):r[t];return m(this,`shape`,i),i},checks:[]}))}function Qe(e,t,n){return He(t,Me(t._zod.def,{get shape(){let r=t._zod.def.shape,i={...r};if(n)for(let t of Reflect.ownKeys(n)){if(!Object.prototype.hasOwnProperty.call(i,t))throw Error(`Unrecognized key: "${String(t)}"`);n[t]&&(i[t]=new e({type:`nonoptional`,innerType:r[t]}))}else for(let t of Reflect.ownKeys(r))i[t]=new e({type:`nonoptional`,innerType:r[t]});return m(this,`shape`,i),i}}))}function $e(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue!==!0)return!0;return!1}function et(e,t=0){if(e.aborted===!0)return!0;for(let n=t;n<e.issues.length;n++)if(e.issues[n]?.continue===!1)return!0;return!1}function tt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function nt(e){return typeof e==`string`?e:e?.message}function rt(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function it(e,t,n){var r;let i=e.inst?._zod?.traits;i?.has(`$ZodType`)&&(i.has(`$ZodCheck`)?(r=e).schema??(r.schema=e.inst):e.schema=e.inst);let a=e.schema===e.inst?void 0:e.schema?._zod.def?.error,o=e.message?e.message:nt(e.inst?._zod.def?.error?.(e))??nt(a?.(e))??nt(t?.error?.(e))??nt(n.customError?.(e))??nt(n.localeError?.(e))??`Invalid input`,{inst:s,schema:c,continue:l,input:u,...d}=e;return d.path??=[],d.message=o,t?.reportInput&&(d.input=u),d}const at=/[\uD800-\uDBFF]/;function ot(e){let t=e.length;if(!at.test(e))return t;let n=t;for(let r=0;r<t-1;r++)(e.charCodeAt(r)&64512)==55296&&(e.charCodeAt(r+1)&64512)==56320&&(n--,r++);return n}function st(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function ct(e){let t=typeof e;switch(t){case`number`:return Number.isNaN(e)?`nan`:`number`;case`object`:{if(e===null)return`null`;if(Array.isArray(e))return`array`;let t=e;if(t&&Object.getPrototypeOf(t)!==Object.prototype&&`constructor`in t&&t.constructor)return t.constructor.name}}return t}function lt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function ut(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):pt(e,n,r.value)}}function dt(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function ft(e,t,n){return dt(e,t,n,!1)}function pt(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:dt(this,t,n.bind(this))},set(e){dt(this,t,e)}})}function mt(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let ht,gt=!1;const _t={configurable:!0,get(){gt=!0}};function g(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&ht!==e._zod){ht=void 0;return}ht=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,_t);let e=gt;gt=!1;try{let r=n(this);return gt?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),gt||=e,r}catch(n){throw delete this[t],gt||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function vt(e,t,n,r){let i=mt(e,t);i&&Object.defineProperty(i,t,{configurable:!0,get(){let e={configurable:!0,writable:!0,enumerable:r,value:void 0};return Object.defineProperty(this,t,e),e.value=n(this),Object.defineProperty(this,t,e),e.value},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,enumerable:r,value:e})}})}function yt(e){let t=()=>e;return t[`~constantCatch`]=!0,t}var bt;const xt={value:void 0,enumerable:!1};let St=`captureStackTrace`in Error?Error:null;function Ct(e){let t=St;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return St=null,new e}try{return new e}finally{t.stackTraceLimit=n}}}return new e}function _(e,t,n,r){let i={};function a(e){this.def=e,this.constr=d,this.traits=new Set}a.prototype=i;let o=n,s=o&&new WeakSet;function c(n,r){if(!n._zod){xt.value=new a(r);try{Object.defineProperty(n,"_zod",xt)}finally{xt.value=void 0}}if(n._zod.traits.has(e))return;if(n._zod.traits.add(e),t(n,r),s){let e=Object.getPrototypeOf(n),t=n._zod.constr.prototype,r=e;for(;r&&r!==t;)r=Object.getPrototypeOf(r);let i=r??e;s.has(i)||(s.add(i),ut(i,o))}let i=d.prototype;for(let e in i)Object.prototype.hasOwnProperty.call(i,e)&&(e in n||(n[e]=i[e].bind(n)))}let l=r?.Parent??Object;class u extends l{}Object.defineProperty(u,"name",{value:e});function d(e){let t=r?.Parent?Ct(u):this;c(t,e);let n=t._zod.deferred;if(n){for(let e of n)e();t._zod.deferred=void 0}let i=globalThis.__zod_globalConfig?.postProcessor;return i&&i(t),t}return Object.defineProperty(d,"init",{value:c}),Object.defineProperty(d,Symbol.hasInstance,{value:t=>r?.Parent&&t instanceof r.Parent?!0:t?._zod?.traits?.has(e)}),Object.defineProperty(d,"name",{value:e}),d}var wt=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Tt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(bt=globalThis).__zod_globalConfig??(bt.__zod_globalConfig={});const v=globalThis.__zod_globalConfig;function Et(e){return e&&Object.assign(v,e),v}function Dt(){let e=this._zod;return e.message??=JSON.stringify(e.def,De,2),e.message}function Ot(e){this._zod.message=e}const kt={get:Dt,set:Ot,enumerable:!0,configurable:!0},At={value:void 0,enumerable:!1},jt={value:void 0,enumerable:!1},Mt=new WeakSet([Object.prototype,Error.prototype]),Nt=(e,t)=>{e.name=`$ZodError`,At.value=e._zod,Object.defineProperty(e,"_zod",At),jt.value=t,Object.defineProperty(e,"issues",jt),At.value=void 0,jt.value=void 0,Object.defineProperty(e,"message",kt);let n=Object.getPrototypeOf(e);Mt.has(n)||(Mt.add(n),Object.defineProperty(n,"toString",{configurable:!0,enumerable:!1,get(){let e=()=>this.message;return Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,"toString",{value:e,configurable:!0,writable:!0})}}))},Pt=_(`$ZodError`,Nt),Ft=_(`$ZodError`,Nt,void 0,{Parent:Error});function It(e,t,n){return Object.prototype.hasOwnProperty.call(e,t)||(t===`__proto__`?Object.defineProperty(e,t,{value:n(),writable:!0,enumerable:!0,configurable:!0}):e[t]=n()),e[t]}function Lt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?It(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Rt(e,t=e=>e.message){let n={_errors:[]},r=(e,i=[])=>{for(let a of e.issues)if(a.code===`invalid_union`&&a.errors.length)a.errors.map(e=>r({issues:e},[...i,...a.path]));else if(a.code===`invalid_key`)r({issues:a.issues},[...i,...a.path]);else if(a.code===`invalid_element`)r({issues:a.issues},[...i,...a.path]);else{let e=[...i,...a.path];if(e.length===0)n._errors.push(t(a));else{let r=n,i=0;for(;i<e.length;){let n=e[i],o=i===e.length-1;if(n===`_errors`){o&&r._errors.push(t(a)),i++;continue}Object.prototype.hasOwnProperty.call(r,n)||Object.defineProperty(r,n,{value:{_errors:[]},enumerable:!0,writable:!0,configurable:!0});let s=r[n];o&&s._errors.push(t(a)),r=s,i++}}}};return r(e),n}function zt(e,t){return{callee:t?.callee??e,Err:t?.Err}}const Bt=e=>{let t=(n,r,i,a)=>{let o=i?{...i,async:!1}:{async:!1},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise)throw new wt;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>it(e,o,Et())));throw Fe(n,a?.callee??t),n}return s.value};return t},Vt=e=>{let t=async(n,r,i,a)=>{let o=i?{...i,async:!0}:{async:!0},s=n._zod.run({value:r,issues:[]},o);if(s instanceof Promise&&(s=await s),s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>it(e,o,Et())));throw Fe(n,a?.callee??t),n}return s.value};return t},Ht=e=>(t,n,r)=>{let i=r?{...r,async:!1}:{async:!1},a=t._zod.run({value:n,issues:[]},i);if(a instanceof Promise)throw new wt;return a.issues.length?{success:!1,error:new(e??Pt)(a.issues.map(e=>it(e,i,Et())))}:{success:!0,data:a.value}},Ut=Ht(Ft),Wt=e=>async(t,n,r)=>{let i=r?{...r,async:!0}:{async:!0},a=t._zod.run({value:n,issues:[]},i);return a instanceof Promise&&(a=await a),a.issues.length?{success:!1,error:new e(a.issues.map(e=>it(e,i,Et())))}:{success:!0,data:a.value}},Gt=Wt(Ft),Kt=e=>{let t=Bt(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,zt(n,a))};return n},qt=e=>{let t=Bt(e),n=(e,r,i,a)=>t(e,r,i,zt(n,a));return n},Jt=e=>{let t=Vt(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,zt(n,a))};return n},Yt=e=>{let t=Vt(e),n=async(e,r,i,a)=>await t(e,r,i,zt(n,a));return n},Xt=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Ht(e)(t,n,i)},Zt=e=>(t,n,r)=>Ht(e)(t,n,r),Qt=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return Wt(e)(t,n,i)},$t=e=>async(t,n,r)=>Wt(e)(t,n,r),en=/^[cC][0-9a-z]{6,}$/,tn=/^[0-9a-z]+$/,nn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,rn=/^[0-9a-vA-V]{20}$/,an=/^[A-Za-z0-9]{27}$/,on=/^[a-zA-Z0-9_-]{21}$/;function sn(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const cn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,ln=/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$/,un=e=>e?RegExp(`^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-${e}[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$`):/^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$/,dn=/^(?!\.)(?!.*\.\.)([A-Za-z0-9_'+\-\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function fn(){return RegExp(`^[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`,`u`)}const pn=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,mn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/,hn=/^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/,gn=/^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,_n=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,vn=/^[A-Za-z0-9_-]*$/,yn=/^https?$/,bn=/^\+[1-9]\d{6,14}$/,xn=`(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))`;function Sn(e){return RegExp(`^${e}$`)}const Cn=Sn(xn);function wn(e){let t=`(?:[01]\\d|2[0-3]):[0-5]\\d`;return typeof e.precision==`number`?e.precision===-1?`${t}`:e.precision===0?`${t}:[0-5]\\d`:`${t}:[0-5]\\d\\.\\d{${e.precision}}`:e.seconds?`${t}:[0-5]\\d(?:\\.\\d+)?`:`${t}(?::[0-5]\\d(?:\\.\\d+)?)?`}function Tn(e){return RegExp(`^${wn(e)}$`)}function En(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${wn({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${wn({precision:e.precision})}`:n;return RegExp(`^${xn}T(?:${r})$`)}const Dn=e=>{let t=e?`[\\s\\S]{${e?.minimum??0},${e?.maximum??``}}`:`[\\s\\S]*`;return RegExp(`^${t}$`)},On=/^-?\d+$/,kn=/^-?\d+(?:\.\d+)?$/,An=/^(?:true|false)$/i,jn=/^null$/i,Mn=/^[^A-Z]*$/,Nn=/^[^a-z]*$/,y=_(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Pn=e=>{let t=e.value;return!ke(t)&&t.length!==void 0},Fn={number:`number`,bigint:`bigint`,object:`date`},In=_(`$ZodCheckLessThan`,(e,t)=>{y.init(e,t);let n=Fn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.maximum:n.exclusiveMaximum)??1/0;t.value<r&&(t.inclusive?n.maximum=t.value:n.exclusiveMaximum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Fn[typeof r.value]??n,code:`too_big`,maximum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Ln=_(`$ZodCheckGreaterThan`,(e,t)=>{y.init(e,t);let n=Fn[typeof t.value];e._zod.onattach.push(e=>{let n=e._zod.bag,r=(t.inclusive?n.minimum:n.exclusiveMinimum)??-1/0;t.value>r&&(t.inclusive?n.minimum=t.value:n.exclusiveMinimum=t.value)}),e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Fn[typeof r.value]??n,code:`too_small`,minimum:typeof t.value==`object`?t.value.getTime():t.value,input:r.value,inclusive:t.inclusive,inst:e,continue:!t.abort})}}),Rn=_(`$ZodCheckMultipleOf`,(e,t)=>{y.init(e,t),e._zod.onattach.push(e=>{var n;(n=e._zod.bag).multipleOf??(n.multipleOf=t.value)}),e._zod.check=n=>{if(typeof n.value!=typeof t.value)throw Error(`Cannot mix number and bigint in multiple_of check.`);(typeof n.value==`bigint`?t.value!==BigInt(0)&&n.value%t.value===BigInt(0):je(n.value,t.value)===0)||n.issues.push({origin:typeof n.value,code:`not_multiple_of`,divisor:t.value,input:n.value,inst:e,continue:!t.abort})}}),zn=_(`$ZodCheckNumberFormat`,(e,t)=>{y.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=Ge[t.format];e._zod.onattach.push(e=>{let r=e._zod.bag;r.format=t.format,r.minimum=i,r.maximum=a,n&&(r.pattern=On)}),e._zod.check=o=>{let s=o.value;if(n){if(!Number.isInteger(s)){o.issues.push({expected:r,format:t.format,code:`invalid_type`,continue:!1,input:s,inst:e});return}if(!Number.isSafeInteger(s)){s>0?o.issues.push({input:s,code:`too_big`,maximum:2**53-1,note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort}):o.issues.push({input:s,code:`too_small`,minimum:-(2**53-1),note:`Integers must be within the safe integer range.`,inst:e,origin:r,inclusive:!0,continue:!t.abort});return}}s<i&&o.issues.push({origin:`number`,input:s,code:`too_small`,minimum:i,inclusive:!0,inst:e,continue:!t.abort}),s>a&&o.issues.push({origin:`number`,input:s,code:`too_big`,maximum:a,inclusive:!0,inst:e,continue:!t.abort})}}),Bn=_(`$ZodCheckMaxLength`,(e,t)=>{var n;y.init(e,t),(n=e._zod.def).when??(n.when=Pn),e._zod.onattach.push(e=>{let n=e._zod.bag.maximum??1/0;t.maximum<n&&(e._zod.bag.maximum=t.maximum)}),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?ot(r):i)<=t.maximum)return;let a=st(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Vn=_(`$ZodCheckMinLength`,(e,t)=>{var n;y.init(e,t),(n=e._zod.def).when??(n.when=Pn),e._zod.onattach.push(e=>{let n=e._zod.bag.minimum??-1/0;t.minimum>n&&(e._zod.bag.minimum=t.minimum)}),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?ot(r):i)>=t.minimum)return;let a=st(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),Hn=_(`$ZodCheckLengthEquals`,(e,t)=>{var n;y.init(e,t),(n=e._zod.def).when??(n.when=Pn),e._zod.onattach.push(e=>{let n=e._zod.bag;n.minimum=t.length,n.maximum=t.length,n.length=t.length}),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?ot(r):i;if(a===t.length)return;let o=st(r),s=a>t.length;n.issues.push({origin:o,...s?{code:`too_big`,maximum:t.length}:{code:`too_small`,minimum:t.length},inclusive:!0,exact:!0,input:n.value,inst:e,continue:!t.abort})}}),Un=_(`$ZodCheckStringFormat`,(e,t)=>{var n,r;y.init(e,t),e._zod.onattach.push(e=>{let n=e._zod.bag;n.format=t.format,t.pattern&&(n.patterns??=new Set,n.patterns.add(t.pattern))}),t.pattern?(n=e._zod).check??(n.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:t.format,input:n.value,...t.pattern?{pattern:t.pattern.toString()}:{},inst:e,continue:!t.abort})}):(r=e._zod).check??(r.check=()=>{})}),Wn=_(`$ZodCheckRegex`,(e,t)=>{Un.init(e,t),e._zod.check=n=>{t.pattern.lastIndex=0,!t.pattern.test(n.value)&&n.issues.push({origin:`string`,code:`invalid_format`,format:`regex`,input:n.value,pattern:t.pattern.toString(),inst:e,continue:!t.abort})}}),Gn=_(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Mn,Un.init(e,t)}),Kn=_(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Nn,Un.init(e,t)}),qn=_(`$ZodCheckIncludes`,(e,t)=>{y.init(e,t);let n=Ve(t.includes),r=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n);t.pattern=r,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(r)}),e._zod.check=n=>{n.value.includes(t.includes,t.position)||n.issues.push({origin:`string`,code:`invalid_format`,format:`includes`,includes:t.includes,input:n.value,inst:e,continue:!t.abort})}}),Jn=_(`$ZodCheckStartsWith`,(e,t)=>{y.init(e,t);let n=RegExp(`^${Ve(t.prefix)}.*`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.startsWith(t.prefix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`starts_with`,prefix:t.prefix,input:n.value,inst:e,continue:!t.abort})}}),Yn=_(`$ZodCheckEndsWith`,(e,t)=>{y.init(e,t);let n=RegExp(`.*${Ve(t.suffix)}$`);t.pattern??=n,e._zod.onattach.push(e=>{let t=e._zod.bag;t.patterns??=new Set,t.patterns.add(n)}),e._zod.check=n=>{n.value.endsWith(t.suffix)||n.issues.push({origin:`string`,code:`invalid_format`,format:`ends_with`,suffix:t.suffix,input:n.value,inst:e,continue:!t.abort})}}),Xn=_(`$ZodCheckOverwrite`,(e,t)=>{y.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var Zn=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1,e(this),--this.indent}write(e){if(typeof e==`function`){e(this,{execution:`sync`}),e(this,{execution:`async`});return}let t=e.split(`
|
|
16
|
+
`).filter(e=>e),n=Math.min(...t.map(e=>e.length-e.trimStart().length)),r=t.map(e=>e.slice(n)).map(e=>` `.repeat(this.indent*2)+e);for(let e of r)this.content.push(e)}compile(){let e=Function,t=this?.content??[``];return new e(...Object.keys(this.closed),`return function (${this.args.join(`, `)}) {\n${t.join(`
|
|
17
|
+
`)}\n};`)(...Object.values(this.closed))}};const Qn={major:4,minor:5,patch:4},b=_(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=Qn;let r=e._zod.def.checks,i=e._zod.traits.has(`$ZodCheck`)?[e,...r??[]]:r?.length?[...r]:[];for(let t of i)for(let n of t._zod.onattach)n(e);if(i.length===0)(n=e._zod).deferred??(n.deferred=[]),e._zod.deferred?.push(()=>{e._zod.run=e._zod.parse});else{let t=(t,n,r)=>{if(t.memo)return t;let i=$e(t),a;for(let o of n){if(o._zod.def.when){if(et(t)||!o._zod.def.when(t))continue}else if(i)continue;let n=t.issues.length,s=o._zod.check(t);if(s instanceof Promise&&r?.async===!1)throw new wt;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(rt(t.issues,n,e),i||=$e(t,n))});else{if(t.issues.length===n)continue;rt(t.issues,n,e),i||=$e(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if($e(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new wt;return o.then(t=>e._zod.parse(t,a))}return e._zod.parse(o,a)};e._zod.run=(r,a)=>{if(a.skipChecks)return e._zod.parse(r,a);if(a.direction===`backward`){let t=e._zod.parse({value:r.value,issues:[]},{...a,skipChecks:!0});return t instanceof Promise?t.then(e=>n(e,r,a)):n(t,r,a)}let o=e._zod.parse(r,a);if(o instanceof Promise){if(a.async===!1)throw new wt;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return ft(this,`~standard`,er(this))},set"~standard"(e){dt(this,`~standard`,e)}}),$n=e=>e.success?{value:e.data}:{issues:e.error?.issues};function er(e){return{validate:t=>{try{return $n(Ut(e,t))}catch{return Gt(e,t).then($n)}},vendor:`zod`,version:1}}const tr=_(`$ZodString`,(e,t)=>{b.init(e,t),e._zod.pattern=[...e?._zod.bag?.patterns??[]].pop()??Dn(e._zod.bag),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=String(n.value)}catch{}return typeof n.value==`string`||n.issues.push({expected:`string`,code:`invalid_type`,input:n.value,inst:e}),n}}),x=_(`$ZodStringFormat`,(e,t)=>{Un.init(e,t),tr.init(e,t)}),nr=_(`$ZodGUID`,(e,t)=>{t.pattern??=ln,x.init(e,t)}),rr=_(`$ZodUUID`,(e,t)=>{if(t.version){let e={v1:1,v2:2,v3:3,v4:4,v5:5,v6:6,v7:7,v8:8}[t.version];if(e===void 0)throw Error(`Invalid UUID version: "${t.version}"`);t.pattern??=un(e)}else t.pattern??=un();x.init(e,t)}),ir=_(`$ZodEmail`,(e,t)=>{t.pattern??=dn,x.init(e,t)});function ar(e,t){if(!t.normalize&&t.protocol?.source===yn.source&&!/^https?:\/\//i.test(e))return 1;try{return new URL(e)}catch{return 2}}const or=/[\t\n\r]/g;function sr(e){return e.replace(or,``)}function cr(e,t){return t.lastIndex=0,t.test(e.hostname)}function lr(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}const ur=_(`$ZodURL`,(e,t)=>{x.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=ar(r,t);if(i===1){n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid URL format`,input:n.value,inst:e,continue:!t.abort});return}if(i===2){n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort});return}t.hostname&&!cr(i,t.hostname)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid hostname`,pattern:t.hostname.source,input:n.value,inst:e,continue:!t.abort}),t.protocol&&!lr(i,t.protocol)&&n.issues.push({code:`invalid_format`,format:`url`,note:`Invalid protocol`,pattern:t.protocol.source,input:n.value,inst:e,continue:!t.abort}),n.value=t.normalize?i.href:sr(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),dr=_(`$ZodEmoji`,(e,t)=>{t.pattern??=fn(),x.init(e,t)}),fr=_(`$ZodNanoID`,(e,t)=>{if(t.length!==void 0&&(!Number.isInteger(t.length)||t.length<1))throw Error(`Invalid nanoid length: ${t.length}`);t.pattern??=t.length===void 0?on:sn(t.length),x.init(e,t)}),pr=_(`$ZodCUID`,(e,t)=>{t.pattern??=en,x.init(e,t)}),mr=_(`$ZodCUID2`,(e,t)=>{t.pattern??=tn,x.init(e,t)}),hr=_(`$ZodULID`,(e,t)=>{t.pattern??=nn,x.init(e,t)}),gr=_(`$ZodXID`,(e,t)=>{t.pattern??=rn,x.init(e,t)}),_r=_(`$ZodKSUID`,(e,t)=>{t.pattern??=an,x.init(e,t)}),vr=_(`$ZodISODateTime`,(e,t)=>{t.pattern??=En(t),x.init(e,t),(t.local||t.precision===-1)&&(e._zod.bag.laxFormat=!0,e._zod.onattach.push(e=>{e._zod.bag.laxFormat=!0}))}),yr=_(`$ZodISODate`,(e,t)=>{t.pattern??=Cn,x.init(e,t)}),br=_(`$ZodISOTime`,(e,t)=>{t.pattern??=Tn(t),x.init(e,t)}),xr=_(`$ZodISODuration`,(e,t)=>{t.pattern??=cn,x.init(e,t)}),Sr=_(`$ZodIPv4`,(e,t)=>{t.pattern??=pn,x.init(e,t),e._zod.bag.format=`ipv4`}),Cr=/^[0-9a-fA-F:.]+$/;function wr(e){if(!Cr.test(e))return!1;try{return new URL(`http://[${e}]`),!0}catch{return!1}}const Tr=_(`$ZodIPv6`,(e,t)=>{t.pattern??=mn,x.init(e,t),e._zod.bag.format=`ipv6`,e._zod.check=n=>{wr(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Er=_(`$ZodCIDRv4`,(e,t)=>{t.pattern??=hn,x.init(e,t)});function Dr(e){let t=e.split(`/`);if(t.length!==2)return!1;let[n,r]=t;if(!r)return!1;let i=Number(r);return`${i}`!==r||i<0||i>128?!1:wr(n)}const Or=_(`$ZodCIDRv6`,(e,t)=>{t.pattern??=gn,x.init(e,t),e._zod.check=n=>{Dr(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function kr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Ar=_(`$ZodBase64`,(e,t)=>{t.pattern??=_n,x.init(e,t),e._zod.bag.contentEncoding=`base64`,e._zod.check=n=>{kr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}});function jr(e){if(!vn.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return kr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const Mr=_(`$ZodBase64URL`,(e,t)=>{t.pattern??=vn,x.init(e,t),e._zod.bag.contentEncoding=`base64url`,e._zod.check=n=>{jr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),Nr=_(`$ZodE164`,(e,t)=>{t.pattern??=bn,x.init(e,t)});function Pr(e,t=null){try{let n=e.split(`.`);if(n.length!==3)return!1;let[r]=n;if(!r)return!1;let i=JSON.parse(atob(r));return!(`typ`in i&&i?.typ!==`JWT`||!i.alg||t&&(!(`alg`in i)||i.alg!==t))}catch{return!1}}const Fr=_(`$ZodJWT`,(e,t)=>{x.init(e,t),e._zod.check=n=>{Pr(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),Ir=_(`$ZodNumber`,(e,t)=>{b.init(e,t),e._zod.pattern=e._zod.bag.pattern??kn,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=Number(n.value)}catch{}let i=n.value;if(typeof i==`number`&&!Number.isNaN(i)&&Number.isFinite(i))return n;let a=typeof i==`number`?Number.isNaN(i)?`NaN`:Number.isFinite(i)?void 0:String(i):void 0;return n.issues.push({expected:`number`,code:`invalid_type`,input:i,inst:e,...a?{received:a}:{}}),n}}),Lr=_(`$ZodNumberFormat`,(e,t)=>{zn.init(e,t),Ir.init(e,t)}),Rr=_(`$ZodBoolean`,(e,t)=>{b.init(e,t),e._zod.pattern=An,e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=!!n.value}catch{}let i=n.value;return typeof i==`boolean`||n.issues.push({expected:`boolean`,code:`invalid_type`,input:i,inst:e}),n}}),zr=_(`$ZodNull`,(e,t)=>{b.init(e,t),e._zod.pattern=jn,e._zod.values=new Set([null]),e._zod.parse=(t,n)=>{let r=t.value;return r===null||t.issues.push({expected:`null`,code:`invalid_type`,input:r,inst:e}),t}}),Br=_(`$ZodAny`,(e,t)=>{b.init(e,t),e._zod.parse=e=>e}),Vr=_(`$ZodUnknown`,(e,t)=>{b.init(e,t),e._zod.parse=e=>e}),Hr=_(`$ZodNever`,(e,t)=>{b.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)}),Ur=_(`$ZodDate`,(e,t)=>{b.init(e,t),e._zod.parse=(n,r)=>{if(t.coerce)try{n.value=new Date(n.value)}catch{}let i=n.value,a=i instanceof Date;return a&&!Number.isNaN(i.getTime())||n.issues.push({expected:`date`,code:`invalid_type`,input:i,...a?{received:`Invalid Date`}:{},inst:e}),n}});function Wr(e,t,n){e.issues.length&&t.issues.push(...tt(n,e.issues)),t.value[n]=e.value}const Gr=_(`$ZodArray`,(e,t)=>{b.init(e,t);let n=v.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Array.isArray(a))return r.issues.push({expected:`array`,code:`invalid_type`,input:a,inst:e}),r;r.value=n?n.alloc(e,r,Array(a.length),i):Array(a.length);let o=[];for(let e=0;e<a.length;e++){let n=a[e],s=t.element._zod.run({value:n,issues:[]},i);s instanceof Promise?o.push(s.then(t=>Wr(t,r,e))):Wr(s,r,e)}return o.length?Promise.all(o).then(()=>r):r}});function Kr(e,t,n,r,i,a){let o=n in r,s=a===`optional`;if(!(!o&&s&&i===`optional`)){if(e.issues.length){if(i!==void 0&&s&&!o)return;t.issues.push(...tt(n,e.issues))}if(!o&&i===void 0){e.issues.length||t.issues.push({code:`invalid_type`,expected:`nonoptional`,input:void 0,path:[n]});return}e.value===void 0?o&&(t.value[n]=void 0):t.value[n]=e.value}}const qr=[];function Jr(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:qr,i=r.length?[...t,...r]:t;for(let t of i)if(!e.shape?.[t]?._zod?.traits?.has(`$ZodType`))throw Error(`Invalid element at key "${String(t)}": expected a Zod schema`);let a=We(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function Yr(e,t,n,r,i,a){let o=[],s=i.keySet,c=i.catchall._zod,l=c.def.type,u=c.optin,d=c.optout;for(let i in t){if(s.has(i))continue;if(i===`__proto__`){l===`never`&&o.push(i);continue}if(l===`never`){o.push(i);continue}let a=c.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>Kr(e,n,i,t,u,d))):Kr(a,n,i,t,u,d)}return o.length&&n.issues.push({code:`unrecognized_keys`,keys:o,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}const Xr=new WeakMap,Zr=_(`$ZodObject`,(e,t)=>{if(b.init(e,t),!Object.getOwnPropertyDescriptor(t,`shape`)?.get){let e=t.shape;Xr.set(t,e),Object.defineProperty(t,"shape",{get:()=>{let n={...e};return Object.defineProperty(t,"shape",{value:n}),Xr.set(t,n),n}})}let n=Oe(()=>Jr(t));g(e,`propValues`,e=>{let t=e.def.shape,n={};for(let e in t){let r=t[e]._zod;if(r.values){Object.prototype.hasOwnProperty.call(n,e)||m(n,e,new Set);for(let t of r.values)n[e].add(t);r.optin!==void 0&&n[e].add(void 0)}}return n});let r=Ie,i=t.catchall,a,o=v.memoizer;o?.attach(e),e._zod.parse=(t,s)=>{a??=n.value;let c=t.value;if(!r(c))return t.issues.push({expected:`object`,code:`invalid_type`,input:c,inst:e}),t;t.value=o?o.alloc(e,t,{},s):{};let l=[],u=a.shape;for(let e of a.allKeys){if(e===`__proto__`)continue;let n=u[e],r=n._zod.optin,i=n._zod.optout,a=n._zod.run({value:c[e],issues:[]},s);a instanceof Promise?l.push(a.then(n=>Kr(n,t,e,c,r,i))):Kr(a,t,e,c,r,i)}return i?Yr(l,c,t,s,n.value,e):l.length?Promise.all(l).then(()=>t):t}}),Qr=_(`$ZodObjectJIT`,(e,t)=>{Zr.init(e,t);let n=e._zod.parse,r=Oe(()=>Jr(t)),i=v.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new Zn([`payload`,`ctx`],{shape:t,inst:e,memo:i,syms:a}),s=e=>`shape[${e}]._zod.run({ value: input[${e}], issues: [] }, ctx)`,c=(e,t)=>`
|
|
18
|
+
for (let i = 0; i < ${e}.issues.length; i++) {
|
|
19
|
+
const iss = ${e}.issues[i];
|
|
20
|
+
iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
|
|
21
|
+
payload.issues.push(iss);
|
|
22
|
+
}`;o.write(`const input = payload.value;`);let l=Object.create(null),u=0;for(let e of n.allKeys)l[e]=`key_${u++}`;o.write(i?`const newResult = memo.alloc(inst, payload, {}, ctx);`:`const newResult = {};`);for(let e of n.allKeys){if(e===`__proto__`)continue;let n=l[e],r=typeof e==`symbol`?`syms[${a.indexOf(e)}]`:Ne(e),i=`${r} in input`,u=t[e],d=u?._zod?.optin,f=d!==void 0,p=u?._zod?.optout===`optional`;if(o.write(`const ${n} = ${s(r)};`),f&&p){let e=d===`optional`?`${n}_present`:`${n}.value !== undefined || ${n}_present`;o.write(`
|
|
23
|
+
const ${n}_present = ${i};
|
|
24
|
+
if (!${n}.issues.length || ${n}_present) {
|
|
25
|
+
if (${n}.issues.length) {${c(n,r)}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
if (${e}) {
|
|
29
|
+
newResult[${r}] = ${n}.value;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
`)}else f?o.write(`
|
|
34
|
+
if (${n}.issues.length) {${c(n,r)}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (${n}.value === undefined) {
|
|
38
|
+
if (${i}) {
|
|
39
|
+
newResult[${r}] = undefined;
|
|
40
|
+
}
|
|
41
|
+
} else {
|
|
42
|
+
newResult[${r}] = ${n}.value;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
`):o.write(`
|
|
46
|
+
const ${n}_present = ${i};
|
|
47
|
+
if (${n}.issues.length) {${c(n,r)}
|
|
48
|
+
}
|
|
49
|
+
if (!${n}_present && !${n}.issues.length) {
|
|
50
|
+
payload.issues.push({
|
|
51
|
+
code: "invalid_type",
|
|
52
|
+
expected: "nonoptional",
|
|
53
|
+
input: undefined,
|
|
54
|
+
path: [${r}]
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (${n}_present) {
|
|
59
|
+
newResult[${r}] = ${n}.value;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
`)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=Ie,c=!v.jitless,l=c&&Le.value,u=t.catchall,d;e._zod.parse=(i,f)=>{d??=r.value;let p=i.value;return s(p)?c&&l&&f?.async===!1&&f.jitless!==!0?(o||=a(t.shape),i=o(i,f),u?Yr([],p,i,f,d,e):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function $r(e,t,n,r){for(let n of e)if(n.issues.length===0)return t.value=n.value,t;let i=e.filter(e=>!$e(e));return i.length===1?(t.value=i[0].value,i[0]):(t.issues.push({code:`invalid_union`,input:t.value,inst:n,errors:e.map(e=>e.issues.map(e=>it(e,r,Et())))}),t)}const ei=_(`$ZodUnion`,(e,t)=>{b.init(e,t),g(e,`optin`,e=>e.def.options.some(e=>e._zod.optin===`defaulted`)?`defaulted`:e.def.options.some(e=>e._zod.optin!==void 0)?`optional`:void 0),g(e,`optout`,e=>e.def.options.some(e=>e._zod.optout===`optional`)?`optional`:void 0),g(e,`values`,e=>{if(e.def.options.every(e=>e._zod.values))return new Set(e.def.options.flatMap(e=>Array.from(e._zod.values)))}),g(e,`pattern`,e=>{if(e.def.options.every(e=>e._zod.pattern)){let t=e.def.options.map(e=>e._zod.pattern);return RegExp(`^(${t.map(e=>Ae(e.source)).join(`|`)})$`)}});let n=t.options.length===1?t.options[0]._zod.run:null;e._zod.parse=(r,i)=>{if(n)return n(r,i);let a=!1,o=[];for(let e of t.options){let t=e._zod.run({value:r.value,issues:[]},i);if(t instanceof Promise)o.push(t),a=!0;else{if(t.issues.length===0)return t;o.push(t)}}return a?Promise.all(o).then(t=>$r(t,r,e,i)):$r(o,r,e,i)}}),ti=_(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,ei.init(e,t);let n=e._zod.parse;g(e,`propValues`,e=>{let t={};for(let n of e.def.options){let r=n._zod.propValues;if(!r||Object.keys(r).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(n)}"`);for(let[e,n]of Object.entries(r)){Object.prototype.hasOwnProperty.call(t,e)||m(t,e,new Set);for(let r of n)t[e].add(r)}}return t}),t.options.forEach((e,n)=>{let r=Xr.get(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=Oe(()=>{let e=t.options,n=new Map;for(let r of e){let e=r._zod.propValues?.[t.discriminator];if(!e||e.size===0)throw Error(`Invalid discriminated union option at index "${t.options.indexOf(r)}"`);for(let t of e){if(n.has(t))throw Error(`Duplicate discriminator value "${String(t)}"`);n.set(t,r)}}return n});e._zod.parse=(i,a)=>{let o=i.value;if(!Ie(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=r.value.get(o?.[t.discriminator]);return s?s._zod.run(i,a):t.unionFallback||a.direction===`backward`?n(i,a):(i.issues.push({code:`invalid_union`,errors:[],note:`No matching discriminator`,discriminator:t.discriminator,options:Array.from(r.value.keys()),input:o,path:[t.discriminator],inst:e}),i)}}),ni=_(`$ZodIntersection`,(e,t)=>{b.init(e,t),e._zod.parse=(e,n)=>{let r=e.value,i=t.left._zod.run({value:r,issues:[]},n),a=t.right._zod.run({value:r,issues:[]},n);return i instanceof Promise||a instanceof Promise?Promise.all([i,a]).then(([t,n])=>ii(e,t,n)):ii(e,i,a)}});function ri(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Re(e)&&Re(t)){let n=Object.keys(t),r=Object.keys(e).filter(e=>n.indexOf(e)!==-1),i={...e,...t};Object.prototype.hasOwnProperty.call(i,`__proto__`)&&delete i.__proto__;for(let n of r){if(n===`__proto__`)continue;let r=ri(e[n],t[n]);if(!r.valid)return{valid:!1,mergeErrorPath:[n,...r.mergeErrorPath]};i[n]=r.data}return{valid:!0,data:i}}if(Array.isArray(e)&&Array.isArray(t)){if(e.length!==t.length)return{valid:!1,mergeErrorPath:[]};let n=[];for(let r=0;r<e.length;r++){let i=e[r],a=t[r],o=ri(i,a);if(!o.valid)return{valid:!1,mergeErrorPath:[r,...o.mergeErrorPath]};n.push(o.data)}return{valid:!0,data:n}}return{valid:!1,mergeErrorPath:[]}}function ii(e,t,n){let r=new Map,i,a=new Map,o=(e,t)=>{let n;if(e.code===`unrecognized_keys`&&!e.path?.length)i??=e,n=e.keys;else if(e.code===`invalid_key`&&e.origin===`record`&&e.path?.length===1){let t=String(e.path[0]);a.has(t)||a.set(t,e),n=[t]}else return!1;for(let e of n)r.has(e)||r.set(e,{}),r.get(e)[t]=!0;return!0};for(let n of t.issues)o(n,`l`)||e.issues.push(n);for(let t of n.issues)o(t,`r`)||e.issues.push(t);let s=[...r].filter(([,e])=>e.l&&e.r).map(([e])=>e);if(s.length){let t=i?s.filter(e=>i.keys.includes(e)):[];t.length&&e.issues.push({...i,keys:t});for(let n of s)!t.includes(n)&&a.has(n)&&e.issues.push(a.get(n))}let c=ri(t.value,n.value);if(!c.valid){if($e(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const ai=_(`$ZodTuple`,(e,t)=>{b.init(e,t);let n=t.items,r=v.memoizer;r?.attach(e),e._zod.parse=(i,a)=>{let o=i.value;if(!Array.isArray(o))return i.issues.push({input:o,inst:e,expected:`tuple`,code:`invalid_type`}),i;i.value=r?r.alloc(e,i,[],a):[];let s=[],c=oi(n,`optin`),l=oi(n,`optout`);if(!t.rest){if(o.length<c)return i.issues.push({code:`too_small`,minimum:c,inclusive:!0,input:o,inst:e,origin:`array`}),i;o.length>n.length&&i.issues.push({code:`too_big`,maximum:n.length,inclusive:!0,input:o,inst:e,origin:`array`})}let u=Array(n.length);for(let e=0;e<n.length;e++){let t=n[e]._zod.run({value:o[e],issues:[]},a);t instanceof Promise?s.push(t.then(t=>{u[e]=t})):u[e]=t}if(t.rest){let e=n.length-1,r=o.slice(n.length);for(let n of r){e++;let r=t.rest._zod.run({value:n,issues:[]},a);r instanceof Promise?s.push(r.then(t=>si(t,i,e))):si(r,i,e)}}return s.length?Promise.all(s).then(()=>ci(u,i,n,o,l)):ci(u,i,n,o,l)}});function oi(e,t){for(let n=e.length-1;n>=0;n--)if(!(t===`optin`?e[n]._zod.optin!==void 0:e[n]._zod.optout===`optional`))return n+1;return 0}function si(e,t,n){e.issues.length&&t.issues.push(...tt(n,e.issues)),t.value[n]=e.value}function ci(e,t,n,r,i){for(let a=0;a<n.length;a++){let o=e[a],s=a<r.length;if(!s&&a>=i&&n[a]._zod.optin===`optional`){t.value.length=a;break}if(o.issues.length){if(!s&&a>=i){t.value.length=a;break}t.issues.push(...tt(a,o.issues))}t.value[a]=o.value}for(let e=t.value.length-1;e>=r.length&&n[e]._zod.optout===`optional`&&t.value[e]===void 0;e--)t.value.length=e;return t}const li=_(`$ZodRecord`,(e,t)=>{b.init(e,t);let n=v.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Re(a))return r.issues.push({expected:`record`,code:`invalid_type`,input:a,inst:e}),r;let o=[],s=t.keyType._zod.values;if(s&&!t.partial){r.value=n?n.alloc(e,r,{},i):{};let c=new Set;for(let n of s)if(typeof n==`string`||typeof n==`number`||typeof n==`symbol`){if(c.add(typeof n==`number`?n.toString():n),n===`__proto__`)continue;let s=t.keyType._zod.run({value:n,issues:[]},i);if(s instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(s.issues.length){r.issues.push({code:`invalid_key`,origin:`record`,issues:s.issues.map(e=>it(e,i,Et())),input:n,path:[n],inst:e});continue}let l=s.value;if(l===`__proto__`)continue;let u=t.valueType._zod.run({value:a[n],issues:[]},i);u instanceof Promise?o.push(u.then(e=>{e.issues.length&&r.issues.push(...tt(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...tt(n,u.issues)),r.value[l]=u.value)}let l;for(let e in a)if(!c.has(e))if(t.mode===`loose`){if(e===`__proto__`)continue;r.value[e]=a[e]}else l??=[],l.push(e);l&&l.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:l,continue:!0})}else{r.value=n?n.alloc(e,r,{},i):{};let c;for(let n of Reflect.ownKeys(a)){if(n===`__proto__`||!Object.prototype.propertyIsEnumerable.call(a,n))continue;let l=t.keyType._zod.run({value:n,issues:[]},i);if(l instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);if(typeof n==`string`&&kn.test(n)&&l.issues.length){let e=t.keyType._zod.run({value:Number(n),issues:[]},i);if(e instanceof Promise)throw Error(`Async schemas not supported in object keys currently`);e.issues.length===0&&(l=e)}if(l.issues.length){t.mode===`loose`?r.value[n]=a[n]:s?(c??=[],c.push(n)):r.issues.push({code:`invalid_key`,origin:`record`,issues:l.issues.map(e=>it(e,i,Et())),input:n,path:[n],inst:e});continue}let u=l.value;if(u===`__proto__`)continue;let d=t.valueType._zod.run({value:a[n],issues:[]},i);d instanceof Promise?o.push(d.then(e=>{e.issues.length&&r.issues.push(...tt(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...tt(n,d.issues)),r.value[u]=d.value)}c&&c.length>0&&r.issues.push({code:`unrecognized_keys`,input:a,inst:e,keys:c,continue:!0})}return o.length?Promise.all(o).then(()=>r):r}}),ui=_(`$ZodEnum`,(e,t)=>{b.init(e,t);let n=Te(t.entries),r=new Set(n);e._zod.values=r;let i=n.filter(e=>Be.has(typeof e));e._zod.pattern=RegExp(i.length?`^(${i.map(e=>Ve(e.toString())).join(`|`)})$`:`^[^\\s\\S]$`),e._zod.parse=(t,i)=>{let a=t.value;return r.has(a)||t.issues.push({code:`invalid_value`,values:n,input:a,inst:e}),t}}),di=_(`$ZodLiteral`,(e,t)=>{b.init(e,t);let n=new Set(t.values);e._zod.values=n,e._zod.pattern=RegExp(t.values.length?`^(${t.values.map(e=>typeof e==`string`?Ve(e):e?Ve(e.toString()):String(e)).join(`|`)})$`:`^[^\\s\\S]$`),e._zod.parse=(r,i)=>{let a=r.value;return n.has(a)||r.issues.push({code:`invalid_value`,values:t.values,input:a,inst:e}),r}}),fi=_(`$ZodTransform`,(e,t)=>{b.init(e,t),e._zod.optin=`optional`,v.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Tt(e.constructor.name);let i=t.transform(n.value,n);if(r.async)return(i instanceof Promise?i:Promise.resolve(i)).then(e=>(n.value=e,n));if(i instanceof Promise)throw new wt;return n.value=i,n}});function pi(e,t){return e.value=t.issues.length?void 0:t.value,e}const mi=_(`$ZodOptional`,(e,t)=>{b.init(e,t),g(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),e._zod.optout=`optional`,g(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t,void 0]):void 0}),g(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${Ae(t.source)})?$`):void 0}),e._zod.parse=(e,n)=>{if(e.value===void 0){if(t.innerType._zod.optin!==`defaulted`)return e;let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(t=>pi(e,t)):pi(e,r)}return t.innerType._zod.run(e,n)}}),hi=_(`$ZodExactOptional`,(e,t)=>{mi.init(e,t),g(e,`values`,e=>e.def.innerType._zod.values),g(e,`pattern`,e=>e.def.innerType._zod.pattern),e._zod.parse=(e,n)=>t.innerType._zod.run(e,n)}),gi=_(`$ZodNullable`,(e,t)=>{b.init(e,t),g(e,`optin`,e=>e.def.innerType._zod.optin),g(e,`optout`,e=>e.def.innerType._zod.optout),g(e,`pattern`,e=>{let t=e.def.innerType._zod.pattern;return t?RegExp(`^(${Ae(t.source)}|null)$`):void 0}),g(e,`values`,e=>e.def.innerType._zod.values?new Set([...e.def.innerType._zod.values,null]):void 0),e._zod.parse=(e,n)=>e.value===null?e:t.innerType._zod.run(e,n)}),_i=_(`$ZodDefault`,(e,t)=>{b.init(e,t),e._zod.optin=`defaulted`,g(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);if(e.value===void 0)return e.value=t.defaultValue,e;let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(e=>vi(e,t)):vi(r,t)}});function vi(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const yi=_(`$ZodPrefault`,(e,t)=>{b.init(e,t),e._zod.optin=`defaulted`,g(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>(n.direction===`backward`||e.value===void 0&&(e.value=t.defaultValue),t.innerType._zod.run(e,n))}),bi=_(`$ZodNonOptional`,(e,t)=>{b.init(e,t),g(e,`values`,e=>{let t=e.def.innerType._zod.values;return t?new Set([...t].filter(e=>e!==void 0)):void 0}),e._zod.parse=(n,r)=>{let i=t.innerType._zod.run(n,r);return i instanceof Promise?i.then(t=>xi(t,e)):xi(i,e)}});function xi(e,t){return!e.issues.length&&e.value===void 0&&e.issues.push({code:`invalid_type`,expected:`nonoptional`,input:e.value,inst:t}),e}function Si(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>it(e,r,Et()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const Ci=_(`$ZodCatch`,(e,t)=>{b.init(e,t),g(e,`optin`,e=>e.def.innerType._zod.optin===`defaulted`?`defaulted`:`optional`),g(e,`optout`,e=>e.def.innerType._zod.optout),g(e,`values`,e=>e.def.innerType._zod.values),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run({value:e.value,issues:[]},n);return r instanceof Promise?r.then(r=>Si(e,r,t,n)):Si(e,r,t,n)}}),wi=_(`$ZodPipe`,(e,t)=>{b.init(e,t),g(e,`values`,e=>e.def.in._zod.values),g(e,`optin`,e=>e.def.in._zod.optin),g(e,`optout`,e=>e.def.out._zod.optout),g(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if(n.direction===`backward`){let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Ti(e,t.in,n)):Ti(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Ti(e,t.out,n)):Ti(r,t.out,n)}});function Ti(e,t,n){return e.issues.some(e=>e.code!==`unrecognized_keys`)?(e.aborted=!0,e):t._zod.run({value:e.value,issues:e.issues},n)}const Ei=_(`$ZodCodec`,(e,t)=>{b.init(e,t),g(e,`values`,e=>e.def.in._zod.values),g(e,`optin`,e=>e.def.in._zod.optin),g(e,`optout`,e=>e.def.out._zod.optout),g(e,`propValues`,e=>e.def.in._zod.propValues),e._zod.parse=(e,n)=>{if((n.direction||`forward`)===`forward`){let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Di(e,t,n)):Di(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Di(e,t,n)):Di(r,t,n)}}});function Di(e,t,n){if(e.issues.length)return e.aborted=!0,e;if((n.direction||`forward`)===`forward`){let r=t.transform(e.value,e);return r instanceof Promise?r.then(r=>Oi(e,r,t.out,n)):Oi(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>Oi(e,r,t.in,n)):Oi(e,r,t.in,n)}}function Oi(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}const ki=_(`$ZodPreprocess`,(e,t)=>{wi.init(e,t)}),Ai=_(`$ZodReadonly`,(e,t)=>{b.init(e,t),g(e,`propValues`,e=>e.def.innerType._zod.propValues),g(e,`values`,e=>e.def.innerType._zod.values),g(e,`optin`,e=>e.def.innerType?._zod?.optin),g(e,`optout`,e=>e.def.innerType?._zod?.optout),e._zod.parse=(e,n)=>{if(n.direction===`backward`)return t.innerType._zod.run(e,n);let r=t.innerType._zod.run(e,n);return r instanceof Promise?r.then(ji):ji(r)}});function ji(e){return e.memo||(e.value=Object.freeze(e.value)),e}const Mi=_(`$ZodCustom`,(e,t)=>{y.init(e,t),b.init(e,t),e._zod.parse=(e,t)=>e,e._zod.check=n=>{let r=n.value,i=t.fn(r);if(i instanceof Promise)return i.then(t=>Ni(t,n,r,e));Ni(i,n,r,e)}});function Ni(e,t,n,r){if(!e){let e={code:`custom`,input:n,inst:r,path:[...r._zod.def.path??[]],continue:!r._zod.def.abort};r._zod.def.params&&(e.params=r._zod.def.params),t.issues.push(lt(e))}}var Pi=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}};const Fi=`~memo`,Ii=[];function Li(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}const Ri=new WeakMap;function zi(e,t){let n=Ri.get(e);if(n!==void 0)return n;if(t.has(e))return!0;t.add(e);let r=!1,i=e=>{!r&&e?._zod&&zi(e,t)&&(r=!0)},a=e._zod.def;switch(a.type){case`object`:for(let e of Reflect.ownKeys(a.shape))i(a.shape[e]);i(a.catchall);break;case`array`:i(a.element);break;case`tuple`:for(let e of a.items)i(e);i(a.rest);break;case`record`:case`map`:i(a.keyType),i(a.valueType);break;case`set`:i(a.valueType);break;case`union`:for(let e of a.options)i(e);break;case`intersection`:i(a.left),i(a.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:i(a.innerType);break;case`pipe`:i(a.in),i(a.out);break;case`function`:i(a.input),i(a.output);break;case`lazy`:i(e._zod.innerType);break;case`template_literal`:case`string`:case`number`:case`int`:case`boolean`:case`bigint`:case`symbol`:case`undefined`:case`null`:case`void`:case`never`:case`any`:case`unknown`:case`date`:case`nan`:case`enum`:case`literal`:case`file`:case`transform`:case`custom`:break;default:for(let e in a){let t=Object.getOwnPropertyDescriptor(a,e);if(!t||t.get)continue;let n=t.value;if(!(!n||typeof n!=`object`)){if(n._zod)i(n);else if(Array.isArray(n))for(let e of n)i(e)}}}return t.delete(e),Ri.set(e,r),r}function Bi(e,t){let n=e.buckets.get(t);return n||(n=new Map,e.buckets.set(t,n)),n}let Vi;const Hi=[],Ui={alloc(e,t,n){let r=Vi;if(!r)return n;Vi=void 0;let i={value:n,issues:null};return r.set(t.value,i),Hi.push(i),n},guard(e){var t;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,n=(e,n)=>{if(n.direction!==`backward`&&Gi(n,e.value))throw new Pi;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r,i;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,a=(o,s)=>{if(n===void 0&&(n=zi(e,new Set),!n))return e._zod.parse=t,e._zod.run===a&&(e._zod.run=t),t(o,s);let c=o.value;if(typeof c!=`object`||!c)return t(o,s);let l=s[Fi];l||(l={buckets:new Map,backEdges:void 0},s[Fi]=l);let u;r===s?u=i:(u=Bi(l,e),r=s,i=u);let d=u.get(c);if(d)return o.value=d.value,d.issues?d.issues.length&&o.issues.push(...Li(d.issues)):(o.memo=!0,l.backEdges??=new Set,l.backEdges.add(d.value)),o;Vi=u;let f=Hi.length,p=t(o,s);Vi=void 0;let ee=Hi.length>f?Hi.pop():void 0;return p instanceof Promise?p.then(e=>(ee&&(ee.issues=e.issues.length?Li(e.issues):Ii),e)):(ee&&(ee.issues=p.issues.length?Li(p.issues):Ii),p)};e._zod.parse=a,e._zod.run===t&&(e._zod.run=a)})}};function Wi(){return Ui}function Gi(e,t){let n=e[Fi]?.backEdges;return n!==void 0&&typeof t==`object`&&!!t&&n.has(t)}const Ki=()=>{let e={string:{unit:`characters`,verb:`to have`},file:{unit:`bytes`,verb:`to have`},array:{unit:`items`,verb:`to have`},set:{unit:`items`,verb:`to have`},map:{unit:`entries`,verb:`to have`}};function t(t){return e[t]??null}let n={regex:`input`,email:`email address`,url:`URL`,emoji:`emoji`,uuid:`UUID`,uuidv4:`UUIDv4`,uuidv6:`UUIDv6`,nanoid:`nanoid`,guid:`GUID`,cuid:`cuid`,cuid2:`cuid2`,ulid:`ULID`,xid:`XID`,ksuid:`KSUID`,datetime:`ISO datetime`,date:`ISO date`,time:`ISO time`,duration:`ISO duration`,ipv4:`IPv4 address`,ipv6:`IPv6 address`,mac:`MAC address`,cidrv4:`IPv4 range`,cidrv6:`IPv6 range`,base64:`base64-encoded string`,base64url:`base64url-encoded string`,json_string:`JSON string`,e164:`E.164 number`,credit_card:`credit card number`,jwt:`JWT`,template_literal:`input`},r={nan:`NaN`};function i(e,t){return e===`number`&&typeof t==`number`&&!Number.isFinite(t)?String(t):r[e]??e}return e=>{switch(e.code){case`invalid_type`:return`Invalid input: expected ${i(e.expected)}, received ${i(ct(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${Ue(e.values[0])}`:`Invalid option: expected one of ${Ee(e.values,`|`)}`;case`too_big`:{let n=e.exact?`exactly `:e.inclusive?`<=`:`<`,r=t(e.origin);return r?`Too big: expected ${e.origin??`value`} to have ${n}${e.maximum.toString()} ${r.unit??`elements`}`:`Too big: expected ${e.origin??`value`} to be ${n}${e.maximum.toString()}`}case`too_small`:{let n=e.exact?`exactly `:e.inclusive?`>=`:`>`,r=t(e.origin);return r?`Too small: expected ${e.origin} to have ${n}${e.minimum.toString()} ${r.unit}`:`Too small: expected ${e.origin} to be ${n}${e.minimum.toString()}`}case`invalid_format`:{let t=e;return t.format===`starts_with`?`Invalid string: must start with "${t.prefix}"`:t.format===`ends_with`?`Invalid string: must end with "${t.suffix}"`:t.format===`includes`?`Invalid string: must include "${t.includes}"`:t.format===`regex`?`Invalid string: must match pattern ${t.pattern}`:`Invalid ${n[t.format]??e.format}`}case`not_multiple_of`:return`Invalid number: must be a multiple of ${e.divisor}`;case`unrecognized_keys`:return`Unrecognized key${e.keys.length>1?`s`:``}: ${Ee(e.keys,`, `)}`;case`invalid_key`:return`Invalid key in ${e.origin}`;case`invalid_union`:return e.options&&Array.isArray(e.options)&&e.options.length>0?`Invalid discriminator value. Expected ${e.options.map(e=>`'${e}'`).join(` | `)}`:e.inclusive===!1?`Invalid input: more than one option matched`:`Invalid input`;case`invalid_element`:return`Invalid value in ${e.origin}`;default:return`Invalid input`}}};function qi(){return{localeError:Ki()}}var Ji,Yi=class{constructor(){this._map=new WeakMap,this._idmap=new Map}add(e,...t){let n=t[0];return this._map.set(e,n),n&&typeof n==`object`&&`id`in n&&this._idmap.set(n.id,e),this}clear(){return this._map=new WeakMap,this._idmap=new Map,this}remove(e){let t=this._map.get(e);return t&&typeof t==`object`&&`id`in t&&this._idmap.delete(t.id),this._map.delete(e),this}get(e){let t=e._zod.parent;if(t){let n={...this.get(t)??{}};delete n.id;let r={...n,...this._map.get(e)};return Object.keys(r).length?r:void 0}return this._map.get(e)}has(e){return this._map.has(e)}};function Xi(){return new Yi}(Ji=globalThis).__zod_globalRegistry??(Ji.__zod_globalRegistry=Xi());const Zi=globalThis.__zod_globalRegistry;function Qi(e,t){return new e({type:`string`,...h(t)})}function $i(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...h(t)})}function ea(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...h(t)})}function ta(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...h(t)})}function na(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...h(t)})}function ra(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...h(t)})}function ia(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...h(t)})}function aa(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...h(t)})}function oa(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...h(t)})}function sa(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...h(t)})}function ca(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...h(t)})}function la(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...h(t)})}function ua(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...h(t)})}function da(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...h(t)})}function fa(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...h(t)})}function pa(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...h(t)})}function ma(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...h(t)})}function ha(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...h(t)})}function ga(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...h(t)})}function _a(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...h(t)})}function va(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...h(t)})}function ya(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...h(t)})}function ba(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...h(t)})}function xa(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...h(t)})}function Sa(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...h(t)})}function Ca(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...h(t)})}function wa(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...h(t)})}function Ta(e,t){return new e({type:`number`,checks:[],...h(t)})}function Ea(e,t){return new e({type:`number`,coerce:!0,checks:[],...h(t)})}function Da(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...h(t)})}function Oa(e,t){return new e({type:`boolean`,...h(t)})}function ka(e,t){return new e({type:`null`,...h(t)})}function Aa(e){return new e({type:`any`})}function ja(e){return new e({type:`unknown`})}function Ma(e,t){return new e({type:`never`,...h(t)})}function Na(e,t){return new e({type:`date`,coerce:!0,...h(t)})}function Pa(e,t){return new In({check:`less_than`,...h(t),value:e,inclusive:!1})}function Fa(e,t){return new In({check:`less_than`,...h(t),value:e,inclusive:!0})}function Ia(e,t){return new Ln({check:`greater_than`,...h(t),value:e,inclusive:!1})}function La(e,t){return new Ln({check:`greater_than`,...h(t),value:e,inclusive:!0})}function Ra(e,t){return new Rn({check:`multiple_of`,...h(t),value:e})}function za(e,t){return new Bn({check:`max_length`,...h(t),maximum:e})}function Ba(e,t){return new Vn({check:`min_length`,...h(t),minimum:e})}function Va(e,t){return new Hn({check:`length_equals`,...h(t),length:e})}function Ha(e,t){return new Wn({check:`string_format`,format:`regex`,...h(t),pattern:e})}function Ua(e){return new Gn({check:`string_format`,format:`lowercase`,...h(e)})}function Wa(e){return new Kn({check:`string_format`,format:`uppercase`,...h(e)})}function Ga(e,t){return new qn({check:`string_format`,format:`includes`,...h(t),includes:e})}function Ka(e,t){return new Jn({check:`string_format`,format:`starts_with`,...h(t),prefix:e})}function qa(e,t){return new Yn({check:`string_format`,format:`ends_with`,...h(t),suffix:e})}function Ja(e){return new Xn({check:`overwrite`,tx:e})}function Ya(e){return Ja(t=>t.normalize(e))}function Xa(){return Ja(e=>e.trim())}function Za(){return Ja(e=>e.toLowerCase())}function Qa(){return Ja(e=>e.toUpperCase())}function $a(){return Ja(e=>Pe(e))}function eo(e,t,n){return new e({type:`array`,element:t,...h(n)})}function to(e,t,n){let r=h(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function no(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...h(n)})}function ro(e,t){let n=io(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(lt(e,t.value,n._zod.def));else{let r=e;r.fatal&&(r.continue=!1),r.code??=`custom`,`input`in r||(r.input=t.value),r.inst??=n,r.continue??=!n._zod.def.abort,t.issues.push(lt(r))}},e(t.value,t)),t);return n}function io(e,t){let n=new y({check:`custom`,...h(t)});return n._zod.check=e,n}function ao(e,t){let n=h(t),r=n.truthy??[`true`,`1`,`yes`,`on`,`y`,`enabled`],i=n.falsy??[`false`,`0`,`no`,`off`,`n`,`disabled`];n.case!==`sensitive`&&(r=r.map(e=>typeof e==`string`?e.toLowerCase():e),i=i.map(e=>typeof e==`string`?e.toLowerCase():e));let a=new Set(r),o=new Set(i),s=e.Codec??Ei,c=e.Boolean??Rr,l=new s({type:`pipe`,in:new(e.String??tr)({type:`string`,error:n.error}),out:new c({type:`boolean`,error:n.error}),transform:((e,t)=>{let r=e;return n.case!==`sensitive`&&(r=r.toLowerCase()),a.has(r)?!0:o.has(r)?!1:(t.issues.push({code:`invalid_value`,expected:`stringbool`,values:[...a,...o],input:t.value,inst:l,continue:!1}),{})}),reverseTransform:((e,t)=>e===!0?r[0]||`true`:i[0]||`false`),error:n.error});return l._zod.bag.truthy=r,l._zod.bag.falsy=i,l._zod.bag.case=n.case??`insensitive`,l}function oo(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&m(e,t,n[t]);return e}function so(e){let t=e?.target??`draft-2020-12`;return t===`draft-4`&&(t=`draft-04`),t===`draft-7`&&(t=`draft-07`),{processors:e.processors??{},metadataRegistry:e?.metadata??Zi,target:t,unrepresentable:e?.unrepresentable??`throw`,override:e?.override??(()=>{}),io:e?.io??`output`,counter:0,seen:new Map,sharedDefsExtractedFor:void 0,sharedEmitDoneFor:void 0,cycles:e?.cycles??`ref`,reused:e?.reused??`inline`,intersections:[],deferred:[],external:e?.external??void 0}}function co(e,t,n,r,i){let a=typeof t.unrepresentable==`function`?t.unrepresentable({zodSchema:e,path:r.path,message:i}):t.unrepresentable;if(a===`any`)return!1;if(a===void 0||a===`throw`)throw Error(i);return Object.assign(n,a),!0}function S(e,t,n={path:[],schemaPath:[]}){var r;let i=e._zod.def,a=t.seen.get(e);if(a)return a.count++,n.schemaPath.includes(e)&&(a.cycle=n.path),a.schema;let o={schema:{},count:1,cycle:void 0,path:n.path};t.seen.set(e,o),t.sharedDefsExtractedFor=void 0,t.sharedEmitDoneFor=void 0;let s=e._zod.toJSONSchema?.();if(s)o.schema=s;else{let r={...n,schemaPath:[...n.schemaPath,e],path:n.path};if(e._zod.processJSONSchema)e._zod.processJSONSchema(t,o.schema,r);else{let n=o.schema,a=t.processors[i.type];if(!a)throw Error(`[toJSONSchema]: Non-representable type encountered: ${i.type}`);a(e,t,n,r)}let a=e._zod.parent;a&&(o.ref||=a,S(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&oo(o.schema,c),t.io===`input`&&C(e)&&(delete o.schema.examples,delete o.schema.default),t.io===`input`&&`_prefault`in o.schema&&((r=o.schema).default??(r.default=o.schema._prefault)),delete o.schema._prefault,t.seen.get(e).schema}function lo(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function uo(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);if(e.external&&e.sharedDefsExtractedFor===e.external)return;let r=new Map;for(let t of e.seen.entries()){let n=e.metadataRegistry.get(t[0])?.id;if(n){let e=r.get(n);if(e&&e!==t[0])throw Error(`Duplicate schema id "${n}" detected during JSON Schema conversion. Two different schemas cannot share the same id when converted together.`);r.set(n,t[0])}}let i=t=>{let r=e.target===`draft-2020-12`?`$defs`:`definitions`;if(e.external){let n=e.external.registry.get(t[0])?.id,i=e.external.uri??(e=>e);if(n)return{ref:i(n)};let a=t[1].defId??t[1].schema.id??`schema${e.counter++}`;return t[1].defId=a,{defId:a,ref:`${i(`__shared`)}#/${r}/${lo(a)}`}}let i=`#/${r}/`;if(t[1]===n&&!t[1].schema.id)return{ref:`#`};let a=t[1].schema.id??`__schema${e.counter++}`;return{defId:a,ref:i+lo(a)}},a=e=>{if(e[1].schema.$ref)return;let t=e[1],{ref:n,defId:r}=i(e);t.def={...t.schema},r&&(t.defId=r);let a=t.schema;for(let e in a)delete a[e];a.$ref=n};if(e.cycles===`throw`)for(let t of e.seen.entries()){let e=t[1];if(e.cycle)throw Error(`Cycle detected: #/${e.cycle?.join(`/`)}/<root>
|
|
63
|
+
|
|
64
|
+
Set the \`cycles\` parameter to \`"ref"\` to resolve cyclical schemas with defs.`)}for(let n of e.seen.entries()){let r=n[1];if(t===n[0]){a(n);continue}if(e.external){let r=e.external.registry.get(n[0])?.id;if(t!==n[0]&&r){a(n);continue}}if(e.metadataRegistry.get(n[0])?.id){a(n);continue}if(r.cycle){a(n);continue}if(r.count>1&&e.reused===`ref`){a(n);continue}}e.external&&(e.sharedDefsExtractedFor=e.external)}function fo(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;fo(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const po=new Set([`type`,`properties`,`required`,`additionalProperties`]),mo=[`oneOf`,`anyOf`];function ho(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function go(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!po.has(e))return null;t.push(n)}let n={},r=new Set;for(let e of t){for(let r in e.properties){if(Object.prototype.hasOwnProperty.call(n,r))continue;let e=[];for(let n of t){let t=n.properties?.[r]??ho(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}m(n,r,e.length===1?e[0]:go(e)??{allOf:e})}for(let t of e.required??[])r.add(t)}let i={type:`object`,properties:n};if(r.size&&(i.required=[...r]),t.every(e=>e.additionalProperties===!1))i.additionalProperties=!1;else{let e=[];for(let n of t){let t=ho(n);t&&!e.some(e=>JSON.stringify(e)===JSON.stringify(t))&&e.push(t)}e.length===1?i.additionalProperties=e[0]:e.length>1&&(i.additionalProperties={allOf:e})}return i}function _o(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of po)if(t in e)return;let n=t.filter(e=>mo.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=go(t);else{let e=n[0],i=mo.find(t=>Array.isArray(e[t]));if(Object.keys(e).length!==1)return;let a=t.filter(t=>t!==e),o=e[i].map(e=>go([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,oo(e,r))}function vo(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):oo(i,s),oo(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())fo(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])_o(e)}}let i={};if(e.target===`draft-2020-12`?i.$schema=`https://json-schema.org/draft/2020-12/schema`:e.target===`draft-07`?i.$schema=`http://json-schema.org/draft-07/schema#`:e.target===`draft-04`?i.$schema=`http://json-schema.org/draft-04/schema#`:e.target,e.external?.uri){let n=e.external.registry.get(t)?.id;if(!n)throw Error("Schema is missing an `id` property");i.$id=e.external.uri(n)}oo(i,n.defId?n.schema:n.def??n.schema);let a=e.metadataRegistry.get(t)?.id;a!==void 0&&i.id===a&&delete i.id;let o=e.external?.defs??{};if(!e.external||e.sharedEmitDoneFor!==e.external)for(let t of e.seen.entries()){let e=t[1];e.def&&e.defId&&(e.def.id===e.defId&&delete e.def.id,m(o,e.defId,e.def))}e.external&&(e.sharedEmitDoneFor=e.external),e.external||Object.keys(o).length>0&&(e.target===`draft-2020-12`?i.$defs=o:i.definitions=o);try{let n=JSON.parse(JSON.stringify(i));return Object.defineProperty(n,"~standard",{value:{...t[`~standard`],jsonSchema:{input:bo(t,`input`,e.processors),output:bo(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function C(e,t){let n=t??{seen:new Set};if(n.seen.has(e))return!1;n.seen.add(e);let r=e._zod.def;if(r.type===`transform`)return!0;if(r.type===`array`)return C(r.element,n);if(r.type===`set`)return C(r.valueType,n);if(r.type===`lazy`)return C(r.getter(),n);if(r.type===`promise`||r.type===`optional`||r.type===`nonoptional`||r.type===`nullable`||r.type===`readonly`||r.type==="default"||r.type===`prefault`||r.type===`catch`)return C(r.innerType,n);if(r.type===`intersection`)return C(r.left,n)||C(r.right,n);if(r.type===`record`||r.type===`map`)return C(r.keyType,n)||C(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:C(r.in,n)||C(r.out,n);if(r.type===`object`){for(let e in r.shape)if(C(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(C(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(C(e,n))return!0;return!!(r.rest&&C(r.rest,n))}return!1}const yo=(e,t={})=>n=>{let r=so({...n,processors:t});return S(e,r),uo(r,e),vo(r,e)},bo=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=so({...i??{},target:a,io:t,processors:n});return S(e,o),uo(o,e),vo(o,e)},xo={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},So=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=e._zod.bag;if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=xo[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c];e.length===1?i.pattern=e[0].source:e.length>1&&(i.allOf=[...e.map(e=>({...t.target===`draft-07`||t.target===`draft-04`||t.target===`openapi-3.0`?{type:`string`}:{},pattern:e.source}))])}},Co=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,format:s,multipleOf:c,exclusiveMaximum:l,exclusiveMinimum:u}=e._zod.bag;typeof s==`string`&&s.includes(`int`)?i.type=`integer`:i.type=`number`;let d=typeof u==`number`&&u>=(a??-1/0),f=typeof l==`number`&&l<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;d?p?(i.minimum=u,i.exclusiveMinimum=!0):i.exclusiveMinimum=u:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=l,i.exclusiveMaximum=!0):i.exclusiveMaximum=l:typeof o==`number`&&(i.maximum=o),typeof c==`number`&&(Number.isFinite(c)&&c!==0?i.multipleOf=Math.abs(c):co(e,t,i,r,`A multipleOf divisor of ${c} cannot be represented in JSON Schema`))},wo=(e,t,n,r)=>{n.type=`boolean`},To=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},Eo=(e,t,n,r)=>{n.not={}},Do=(e,t,n,r)=>{co(e,t,n,r,`Date cannot be represented in JSON Schema`)},Oo=(e,t,n,r)=>{let i=e._zod.def,a=Te(i.entries);if(a.length===0){n.not={};return}a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),n.enum=a},ko=(e,t,n,r)=>{let i=e._zod.def;if(i.values.length===0){n.not={};return}let a=[];for(let o of i.values)if(o===void 0){if(co(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(co(e,t,n,r,`BigInt literals cannot be represented in JSON Schema`))return;a.push(Number(o))}else a.push(o);if(a.length!==0)if(a.length===1){let e=a[0];n.type=e===null?`null`:typeof e,t.target===`draft-04`||t.target===`openapi-3.0`?n.enum=[e]:n.const=e}else a.every(e=>typeof e==`number`)&&(n.type=`number`),a.every(e=>typeof e==`string`)&&(n.type=`string`),a.every(e=>typeof e==`boolean`)&&(n.type=`boolean`),a.every(e=>e===null)&&(n.type=`null`),n.enum=a},Ao=(e,t,n,r)=>{co(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},jo=(e,t,n,r)=>{co(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},Mo=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=e._zod.bag;typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=S(a.element,t,{...r,path:[...r.path,`items`]})};function No(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?No(t.out):t.type===`catch`?No(t.innerType):e._zod.optin}const Po=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&co(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)m(i.properties,e,S(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=new Set(Object.keys(o)),c=new Set([...s].filter(e=>{let n=a.shape[e];return t.io===`input`?No(n)===void 0:n._zod.optout===void 0}));c.size>0&&(i.required=Array.from(c)),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=S(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},Fo=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>S(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},Io=(e,t,n,r)=>{let i=e._zod.def,a=S(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=S(i.right,t,{...r,path:[...r.path,`allOf`,1]}),s=e=>`allOf`in e&&Object.keys(e).length===1,c=[...s(a)?a.allOf:[a],...s(o)?o.allOf:[o]];n.allOf=c,t.intersections.push(c)},Lo=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`array`;let o=t.target===`draft-2020-12`?`prefixItems`:`items`,s=t.target===`draft-2020-12`||t.target===`openapi-3.0`?`items`:`additionalItems`,c=a.items.map((e,n)=>S(e,t,{...r,path:[...r.path,o,n]})),l=a.rest?S(a.rest,t,{...r,path:[...r.path,s,...t.target===`openapi-3.0`?[a.items.length]:[]]}):null,u=a.items.length;for(;u>0;){let e=a.items[u-1];if(!(t.io===`input`?No(e)!==void 0:e._zod.optout===`optional`))break;u--}let d=a.items.length,f=!a.rest;t.target===`draft-2020-12`?(i.prefixItems=c,f?i.items=!1:l&&(i.items=l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):t.target===`openapi-3.0`?(i.items={anyOf:c},l&&i.items.anyOf.push(l),u>0&&(i.minItems=u),f&&(i.maxItems=d)):(i.items=c,f?i.additionalItems=!1:l&&(i.additionalItems=l),u>0&&(i.minItems=u),f&&(i.maxItems=d));let{minimum:p,maximum:ee}=e._zod.bag;typeof p==`number`&&(i.minItems=p),typeof ee==`number`&&(i.maxItems=ee)};function Ro(e,t,n){if(t.$ref){if(n.has(t))return t;n.add(t);let r=e.get(t)?.def;if(!r)return t;let i=Ro(e,r,n);return i===r?t:i}for(let r of[`anyOf`,`oneOf`]){let i=t[r];if(!Array.isArray(i))continue;let a=i.map(t=>Ro(e,t,n));a.some((e,t)=>e!==i[t])&&(t={...t,[r]:a})}let r=Array.isArray(t.type)?t.type:[t.type],i=!r.includes(`string`)&&r.some(e=>e===`number`||e===`integer`),a=t.enum??(t.const===void 0?void 0:[t.const]);if(!i&&!a?.some(e=>typeof e==`number`))return t;let{minimum:o,maximum:s,exclusiveMinimum:c,exclusiveMaximum:l,multipleOf:u,format:d,id:f,...p}=t;return p.enum?p.enum=p.enum.map(e=>typeof e==`number`?String(e):e):typeof p.const==`number`&&(p.const=String(p.const)),i?(p.type=`string`,a||(p.pattern=(r.includes(`number`)?kn:On).source),p):p}const zo=new WeakMap;function Bo(e){let t=new Map;for(let n of e.seen.values())n.def&&!t.has(n.schema)&&t.set(n.schema,n);let n=new Map;for(let r of zo.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=Ro(t,a,new Set);o!==a&&n.set(a,o)}if(n.size)for(let t of e.seen.values())for(let e of[t.schema,t.def]){let t=e&&n.get(e.propertyNames);t&&(e.propertyNames=t)}}const Vo=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=o._zod.bag?.patterns;if(a.mode===`loose`&&s&&s.size>0){let e=S(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)m(i.patternProperties,t.source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=S(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=zo.get(t);n||(n=[],zo.set(t,n),t.deferred.push(()=>Bo(t))),n.push(e)}i.additionalProperties=S(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&No(a.valueType)!==void 0;if(c&&!a.partial&&!l){let e=[...c].filter(e=>typeof e==`string`||typeof e==`number`);e.length>0&&(i.required=e.map(String))}},Ho=(e,t,n,r)=>{let i=e._zod.def,a=S(i.innerType,t,r),o=t.seen.get(e);t.target===`openapi-3.0`?(o.ref=i.innerType,n.nullable=!0):n.anyOf=[a,{type:`null`}]},Uo=(e,t,n,r)=>{let i=e._zod.def;S(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Wo=Symbol();function Go(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(co(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Wo):JSON.parse(o)}const Ko=(e,t,n,r)=>{let i=e._zod.def;S(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=Go(i.defaultValue,e,t,n,r);o!==Wo&&(n.default=o)},qo=(e,t,n,r)=>{let i=e._zod.def;S(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=Go(i.defaultValue,e,t,n,r);o!==Wo&&(n._prefault=o)},Jo=(e,t,n,r)=>{let i=e._zod.def;S(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{co(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Yo=(e,t,n,r)=>{let i=e._zod.def,a=i.in._zod.traits.has(`$ZodTransform`),o=t.io===`input`?a?i.out:i.in:i.out;S(o,t,r);let s=t.seen.get(e);s.ref=o},Xo=(e,t,n,r)=>{let i=e._zod.def;S(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Zo=(e,t,n,r)=>{let i=e._zod.def;S(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Qo=new WeakSet([Object.prototype,Error.prototype]);function $o(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}const w=_(`ZodError`,(e,t)=>{Pt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Qo.has(n)||(Qo.add(n),$o(n,`format`,e=>t=>Rt(e,t)),$o(n,`flatten`,e=>t=>Lt(e,t)),$o(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,De,2)}),$o(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,De,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),es=Bt(w),ts=Vt(w),ns=Ht(w),rs=Wt(w),is=Kt(w),as=qt(w),os=Jt(w),ss=Yt(w),cs=Xt(w),ls=Zt(w),us=Qt(w),ds=$t(w);function fs(){v.localeError||Et(qi())}function ps(){v.memoizer||Et({memoizer:Wi()})}const T=_(`ZodType`,(e,t)=>(fs(),b.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(Me(t,{checks:[...t.checks??[],...e.map(e=>typeof e==`function`?{_zod:{check:e,def:{check:`custom`},onattach:[]}}:e)]}),{parent:!0})},with(...e){return this.check(...e)},clone(e,t){return He(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Ic(e,t))},superRefine(e,t){return this.check(Lc(e,t))},overwrite(e){return this.check(Ja(e))},optional(){return hc(this)},exactOptional(){return _c(this)},nullable(){return yc(this)},nullish(){return hc(yc(this))},nonoptional(e){return Tc(this,e)},array(){return N(this)},or(e){return F([this,e])},and(e){return ac(this,e)},transform(e){return kc(this,pc(e))},default(e){return xc(this,e)},prefault(e){return Cc(this,e)},catch(e){return Dc(this,e)},pipe(e){return kc(this,e)},readonly(){return Nc(this)},describe(e){let t=this.clone();return Zi.add(t,{description:e}),t},meta(...e){if(e.length===0)return Zi.get(this);let t=this.clone();return Zi.add(t,e[0]),t},isOptional(){return this.safeParse(void 0).success},isNullable(){return this.safeParse(null).success},apply(e,...t){return t.length===0?e(this):e(this,...t)},get"~standard"(){return ft(this,`~standard`,{...er(this),jsonSchema:{input:bo(this,`input`),output:bo(this,`output`)}})},set"~standard"(e){dt(this,`~standard`,e)},parse:function e(t,n){return es(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await ts(this,t,n,{callee:e})},safeParse(e,t){return ns(this,e,t)},async safeParseAsync(e,t){return rs(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){dt(this,`spa`,e)},encode:function e(t,n){return is(this,t,n,{callee:e})},decode:function e(t,n){return as(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await os(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await ss(this,t,n,{callee:e})},safeEncode(e,t){return cs(this,e,t)},safeDecode(e,t){return ls(this,e,t)},async safeEncodeAsync(e,t){return us(this,e,t)},async safeDecodeAsync(e,t){return ds(this,e,t)},toJSONSchema(e){return yo(this,{})(e)},get description(){return Zi.get(this)?.description},get _def(){return this._zod.def}}),ms=_(`_ZodString`,(e,t)=>{tr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>So(e,t,n,r);let n=e._zod.bag;e.format=n.format??null,e.minLength=n.minimum??null,e.maxLength=n.maximum??null},{regex(...e){return this.check(Ha(...e))},includes(...e){return this.check(Ga(...e))},startsWith(...e){return this.check(Ka(...e))},endsWith(...e){return this.check(qa(...e))},min(...e){return this.check(Ba(...e))},max(...e){return this.check(za(...e))},length(...e){return this.check(Va(...e))},nonempty(...e){return this.check(Ba(1,...e))},lowercase(e){return this.check(Ua(e))},uppercase(e){return this.check(Wa(e))},trim(){return this.check(Xa())},normalize(...e){return this.check(Ya(...e))},toLowerCase(){return this.check(Za())},toUpperCase(){return this.check(Qa())},slugify(){return this.check($a())}}),hs=_(`ZodString`,(e,t)=>{tr.init(e,t),ms.init(e,t)},{email(e){return this.check($i(bs,e))},url(e){return this.check(aa(ws,e))},jwt(e){return this.check(ba(Bs,e))},emoji(e){return this.check(oa(Ts,e))},guid(e){return this.check(ea(Ss,e))},uuid(e){return this.check(ta(Cs,e))},uuidv4(e){return this.check(na(Cs,e))},uuidv6(e){return this.check(ra(Cs,e))},uuidv7(e){return this.check(ia(Cs,e))},nanoid(e){return this.check(sa(Es,e))},cuid(e){return this.check(ca(Ds,e))},cuid2(e){return this.check(la(Os,e))},ulid(e){return this.check(ua(ks,e))},base64(e){return this.check(_a(Is,e))},base64url(e){return this.check(va(Rs,e))},xid(e){return this.check(da(As,e))},ksuid(e){return this.check(fa(js,e))},ipv4(e){return this.check(pa(Ms,e))},ipv6(e){return this.check(ma(Ns,e))},cidrv4(e){return this.check(ha(Ps,e))},cidrv6(e){return this.check(ga(Fs,e))},e164(e){return this.check(ya(zs,e))},datetime(e){return this.check(xa(gs,e))},date(e){return this.check(Sa(_s,e))},time(e){return this.check(Ca(vs,e))},duration(e){return this.check(wa(ys,e))}});function E(e){return Qi(hs,e)}const D=_(`ZodStringFormat`,(e,t)=>{x.init(e,t),ms.init(e,t)}),gs=_(`ZodISODateTime`,(e,t)=>{vr.init(e,t),D.init(e,t)}),_s=_(`ZodISODate`,(e,t)=>{yr.init(e,t),D.init(e,t)}),vs=_(`ZodISOTime`,(e,t)=>{br.init(e,t),D.init(e,t)}),ys=_(`ZodISODuration`,(e,t)=>{xr.init(e,t),D.init(e,t)}),bs=_(`ZodEmail`,(e,t)=>{ir.init(e,t),D.init(e,t)});function xs(e){return $i(bs,e)}const Ss=_(`ZodGUID`,(e,t)=>{nr.init(e,t),D.init(e,t)}),Cs=_(`ZodUUID`,(e,t)=>{rr.init(e,t),D.init(e,t)});function O(e){return ta(Cs,e)}const ws=_(`ZodURL`,(e,t)=>{ur.init(e,t),D.init(e,t)});function k(e){return aa(ws,e)}const Ts=_(`ZodEmoji`,(e,t)=>{dr.init(e,t),D.init(e,t)}),Es=_(`ZodNanoID`,(e,t)=>{fr.init(e,t),D.init(e,t)}),Ds=_(`ZodCUID`,(e,t)=>{pr.init(e,t),D.init(e,t)}),Os=_(`ZodCUID2`,(e,t)=>{mr.init(e,t),D.init(e,t)}),ks=_(`ZodULID`,(e,t)=>{hr.init(e,t),D.init(e,t)}),As=_(`ZodXID`,(e,t)=>{gr.init(e,t),D.init(e,t)}),js=_(`ZodKSUID`,(e,t)=>{_r.init(e,t),D.init(e,t)}),Ms=_(`ZodIPv4`,(e,t)=>{Sr.init(e,t),D.init(e,t)}),Ns=_(`ZodIPv6`,(e,t)=>{Tr.init(e,t),D.init(e,t)}),Ps=_(`ZodCIDRv4`,(e,t)=>{Er.init(e,t),D.init(e,t)}),Fs=_(`ZodCIDRv6`,(e,t)=>{Or.init(e,t),D.init(e,t)}),Is=_(`ZodBase64`,(e,t)=>{Ar.init(e,t),D.init(e,t)});function Ls(e){return _a(Is,e)}const Rs=_(`ZodBase64URL`,(e,t)=>{Mr.init(e,t),D.init(e,t)}),zs=_(`ZodE164`,(e,t)=>{Nr.init(e,t),D.init(e,t)}),Bs=_(`ZodJWT`,(e,t)=>{Fr.init(e,t),D.init(e,t)}),Vs=_(`ZodNumber`,(e,t)=>{Ir.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Co(e,t,n,r);let n=e._zod.bag;e.minValue=Math.max(n.minimum??-1/0,n.exclusiveMinimum??-1/0)??null,e.maxValue=Math.min(n.maximum??1/0,n.exclusiveMaximum??1/0)??null,e.isInt=(n.format??``).includes(`int`)||Number.isSafeInteger(n.multipleOf??.5),e.isFinite=!0,e.format=n.format??null},{gt(e,t){return this.check(Ia(e,t))},gte(e,t){return this.check(La(e,t))},min(e,t){return this.check(La(e,t))},lt(e,t){return this.check(Pa(e,t))},lte(e,t){return this.check(Fa(e,t))},max(e,t){return this.check(Fa(e,t))},int(e){return this.check(Us(e))},safe(e){return this.check(Us(e))},positive(e){return this.check(Ia(0,e))},nonnegative(e){return this.check(La(0,e))},negative(e){return this.check(Pa(0,e))},nonpositive(e){return this.check(Fa(0,e))},multipleOf(e,t){return this.check(Ra(e,t))},step(e,t){return this.check(Ra(e,t))},finite(){return this}});function A(e){return Ta(Vs,e)}const Hs=_(`ZodNumberFormat`,(e,t)=>{Lr.init(e,t),Vs.init(e,t)});function Us(e){return Da(Hs,e)}const Ws=_(`ZodBoolean`,(e,t)=>{Rr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>wo(e,t,n,r)});function j(e){return Oa(Ws,e)}const Gs=_(`ZodNull`,(e,t)=>{zr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>To(e,t,n,r)});function Ks(e){return ka(Gs,e)}const qs=_(`ZodAny`,(e,t)=>{Br.init(e,t),T.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Js(){return Aa(qs)}const Ys=_(`ZodUnknown`,(e,t)=>{Vr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function M(){return ja(Ys)}const Xs=_(`ZodNever`,(e,t)=>{Hr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Eo(e,t,n,r)});function Zs(e){return Ma(Xs,e)}const Qs=_(`ZodDate`,(e,t)=>{Ur.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Do(e,t,n,r),e.min=(t,n)=>e.check(La(t,n)),e.max=(t,n)=>e.check(Fa(t,n));let n=e._zod.bag;e.minDate=n.minimum?new Date(n.minimum):null,e.maxDate=n.maximum?new Date(n.maximum):null}),$s=_(`ZodArray`,(e,t)=>{ps(),Gr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Mo(e,t,n,r),e.element=t.element},{min(e,t){return this.check(Ba(e,t))},nonempty(e){return this.check(Ba(1,e))},max(e,t){return this.check(za(e,t))},length(e,t){return this.check(Va(e,t))},unwrap(){return this.element}});function N(e,t){return eo($s,e,t)}const ec=_(`ZodObject`,(e,t)=>{ps(),Qr.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Po(e,t,n,r),vt(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return R(Object.keys(this._zod.def.shape))},catchall(e){return this.clone({...this._zod.def,catchall:e})},passthrough(){return this.clone({...this._zod.def,catchall:M()})},loose(){return this.clone({...this._zod.def,catchall:M()})},strict(){return this.clone({...this._zod.def,catchall:Zs()})},strip(){return this.clone({...this._zod.def,catchall:void 0})},extend(e){return Je(this,e)},safeExtend(e){return Ye(this,e)},merge(e){return Xe(this,e)},pick(e){return Ke(this,e)},omit(e){return qe(this,e)},partial(...e){return Ze(mc,this,e[0])},exactPartial(...e){return Ze(gc,this,e[0],`exactPartial`)},required(...e){return Qe(wc,this,e[0])}});function P(e,t){let n={type:`object`,shape:e??{},...h(t)};return new ec(n)}function tc(e,t){return new ec({type:`object`,shape:e,catchall:M(),...h(t)})}const nc=_(`ZodUnion`,(e,t)=>{ei.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fo(e,t,n,r),e.options=t.options});function F(e,t){return new nc({type:`union`,options:e,...h(t)})}const rc=_(`ZodDiscriminatedUnion`,(e,t)=>{nc.init(e,t),ti.init(e,t)});function I(e,t,n){return new rc({type:`union`,options:t,discriminator:e,...h(n)})}const ic=_(`ZodIntersection`,(e,t)=>{ni.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Io(e,t,n,r)});function ac(e,t){return new ic({type:`intersection`,left:e,right:t})}const oc=_(`ZodTuple`,(e,t)=>{ps(),ai.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Lo(e,t,n,r)},{rest(e){return this.clone({...this._zod.def,rest:e})},partial(){let e=this._zod.def;if(e.checks?.length)throw Error(`.partial() cannot be used on tuple schemas containing refinements`);return this.clone({...e,items:e.items.map(e=>new mc({type:`optional`,innerType:e}))})}});function sc(e,t,n){let r=t instanceof b;return new oc({type:`tuple`,items:e,rest:r?t:null,...h(r?n:t)})}const cc=_(`ZodRecord`,(e,t)=>{ps(),li.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Vo(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function L(e,t,n){return!t||!t._zod?new cc({type:`record`,keyType:E(),valueType:e,...h(t)}):new cc({type:`record`,keyType:e,valueType:t,...h(n)})}function lc(e,t,n){return new cc({type:`record`,keyType:e,valueType:t,...h(n),partial:!0})}const uc=_(`ZodEnum`,(e,t)=>{ui.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Oo(e,t,n,r),e.enum=t.entries,e.options=Object.values(t.entries);let n=new Set(Object.keys(t.entries));e.extract=(e,r)=>{let i={};for(let r of e)if(n.has(r))i[r]=t.entries[r];else throw Error(`Key ${r} not found in enum`);return new uc({...t,checks:[],...h(r),entries:i})},e.exclude=(e,r)=>{let i={...t.entries};for(let t of e)if(n.has(t))delete i[t];else throw Error(`Key ${t} not found in enum`);return new uc({...t,checks:[],...h(r),entries:i})}});function R(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new uc({type:`enum`,entries:n,...h(t)})}const dc=_(`ZodLiteral`,(e,t)=>{di.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ko(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function z(e,t){return new dc({type:`literal`,values:Array.isArray(e)?e:[e],...h(t)})}const fc=_(`ZodTransform`,(e,t)=>{ps(),fi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>jo(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Tt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(lt(r,n.value,t));else{let t=r;t.fatal&&(t.continue=!1),t.code??=`custom`,`input`in t||(t.input=n.value),t.inst??=e,n.issues.push(lt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function pc(e){return new fc({type:`transform`,transform:e})}const mc=_(`ZodOptional`,(e,t)=>{mi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function hc(e){return new mc({type:`optional`,innerType:e})}const gc=_(`ZodExactOptional`,(e,t)=>{hi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Zo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function _c(e){return new gc({type:`optional`,innerType:e})}const vc=_(`ZodNullable`,(e,t)=>{gi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ho(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yc(e){return new vc({type:`nullable`,innerType:e})}const bc=_(`ZodDefault`,(e,t)=>{_i.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ko(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function xc(e,t){return new bc({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():ze(t)}})}const Sc=_(`ZodPrefault`,(e,t)=>{yi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>qo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Cc(e,t){return new Sc({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():ze(t)}})}const wc=_(`ZodNonOptional`,(e,t)=>{bi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Uo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Tc(e,t){return new wc({type:`nonoptional`,innerType:e,...h(t)})}const Ec=_(`ZodCatch`,(e,t)=>{Ci.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Jo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function Dc(e,t){return new Ec({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:yt(t)})}const Oc=_(`ZodPipe`,(e,t)=>{wi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Yo(e,t,n,r),e.in=t.in,e.out=t.out});function kc(e,t){return new Oc({type:`pipe`,in:e,out:t})}const Ac=_(`ZodCodec`,(e,t)=>{Oc.init(e,t),Ei.init(e,t)}),jc=_(`ZodPreprocess`,(e,t)=>{Oc.init(e,t),ki.init(e,t)}),Mc=_(`ZodReadonly`,(e,t)=>{Ai.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Xo(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Nc(e){return new Mc({type:`readonly`,innerType:e})}const Pc=_(`ZodCustom`,(e,t)=>{Mi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ao(e,t,n,r)});function Fc(e,t){return to(Pc,e??(()=>!0),t)}function Ic(e,t={}){return no(Pc,e,t)}function Lc(e,t){return ro(e,t)}const Rc=(...e)=>ao({Codec:Ac,Boolean:Ws,String:hs},...e);function zc(e,t){return new jc({type:`pipe`,in:pc(e),out:t})}function B(e){return xa(gs,e)}function Bc(e){return Sa(_s,e)}function V(e){return Ea(Vs,e)}function Vc(e){return Na(Qs,e)}const H=F([B(),B({precision:-1})]);F([B({offset:!0}),B({offset:!0,precision:-1})]);const Hc=R([`mobile_to_desktop`,`desktop_to_mobile`]),Uc=R([`project`,`task`,`asset`,`asset_conflict`]),Wc=P({kind:R([`project`,`task`]),id:O()});P({direction:Hc,target:Wc}),P({workspaceId:O()}),P({workspaceId:O(),notificationId:O()}),P({target:Wc});const Gc=[`en`,`zh-TW`,`de`,`fr`,`es-ES`,`es-419`,`ja`,`ko`,`it`,`pt-BR`],Kc=R(Gc).default(`en`);function qc(e){return e?Gc.includes(e):!1}function Jc(e){return qc(e)?e:`en`}const Yc=[`usage_exhausted`,`payment_failed`,`auto_reload_threshold_exceeded`,`role_changed`,`schedules_agent_deleted`,`agent_binding_removed`,`schedule_run_completed`,`publish_submitted`,`publish_approved`,`publish_rejected`,`task_complete`,`task_waiting_approval`,`workspace_join_request`,`access_request`,`meeting_shared`,`meeting_shared_workspace`,`project_member_added`,`task_shared_to_project`,`task_shared_with_member`,`schedules_calendar_auth_expired`,`agent_monthly_cap_threshold`,`handoff_requested`,`webhook_destination_disabled`,`announcement`],Xc=[`info`,`action`],Zc=[`all`,`action`,`info`],Qc=[`low`,`medium`,`high`],$c=[`web`,`ios`,`android`],U=O(),el=R(Gc),tl=R(Yc),nl=R(Xc),rl=R(Qc),il=R($c);P({workspaceId:U}),P({workspaceId:U,notificationId:U}),P({workspaceId:U,deviceId:U}),P({tab:R(Zc).default(`all`),eventType:F([tl,N(tl)]).transform(e=>Array.isArray(e)?e:[e]).optional(),cursor:E().optional(),limit:V().int().min(1).max(100).default(20),lang:el.optional()});const al=P({id:E().min(1),labelKey:E().min(1),method:z(`POST`),path:E().min(1),requiresInput:N(P({fieldName:E().min(1),displayNameKey:E().min(1)})).min(1).optional(),style:R([`primary`,`destructive`,`secondary`]).optional()}),ol=P({scope:R([`workspace`,`team`]),scopeName:E(),oldRole:E(),newRole:E(),canManageMember:j()}),sl=P({workspaceName:E().min(1)}),cl=P({workspaceName:E().min(1),invoiceId:E().min(1)}),ll=P({workspaceName:E().min(1),thresholdUsd:E().min(1),reloadAmountUsd:E().min(1)}),ul=P({scheduleName:E().min(1),agentName:E().min(1),scheduleId:U}),dl=P({scheduleName:E().min(1),scheduleId:U}),fl=z([100,80]),pl=P({agentName:E().min(1),agentId:U,threshold:fl,spentUsd:E().min(1),capUsd:E().min(1)}),ml=P({destinationId:U,destinationName:E().min(1)}),hl=P({agentName:E().min(1),resourceName:E().min(1),resourceType:R([`model`,`connector`]),agentId:U}),gl=P({requesterName:E().min(1),resourceName:E().min(1),resourceType:R([`agent`,`connector`,`skill`]),scope:R([`team`,`workspace`]),teamId:U.optional(),scopeName:E().min(1),inlineActions:N(al),publishId:U}),_l=P({approverName:E().min(1),resourceName:E().min(1),resourceType:R([`agent`,`connector`,`skill`]),resourceId:U}),vl=P({approverName:E().min(1),resourceName:E().min(1),resourceType:R([`agent`,`connector`,`skill`]),reason:E(),actions:N(P({id:R([`resubmit`,`viewResource`]),labelKey:E().min(1),href:E().min(1)})),resourceId:U}),yl=P({workspaceName:E().min(1),requesterEmail:E(),invitationId:U});R([`task`,`preview`,`meeting`]);const bl=P({requesterName:E().min(1),resourceName:E().min(1),resourceId:U}),xl=I(`resourceType`,[bl.extend({resourceType:z([`task`,`preview`]),parentTaskId:U}),bl.extend({resourceType:z(`meeting`),meetingId:U})]),Sl=P({meetingId:U,meetingTitle:E().min(1),sharedByName:E().min(1),role:R([`viewer`,`editor`])}),Cl=P({meetingId:U,meetingTitle:E().min(1),sharedByName:E().min(1)}),wl=P({projectId:U,projectName:E().min(1),addedByName:E().min(1),teamId:U.optional(),teamName:E().min(1).optional()}).refine(e=>e.teamId===void 0==(e.teamName===void 0),{message:`teamId and teamName must be provided together`,path:[`teamName`]}),Tl=P({direction:Hc,targetKind:Uc,targetId:U}),El=P({taskId:U,taskTitle:E(),projectId:U,projectName:E().min(1),sharedByName:E().min(1)}),Dl=P({taskId:U,taskTitle:E(),projectId:U,projectName:E().min(1),sharedByName:E().min(1),teamId:U.optional(),teamName:E().min(1).optional()}).refine(e=>e.teamId===void 0==(e.teamName===void 0),{message:`teamId and teamName must be provided together`,path:[`teamName`]}),Ol=P({name:E(),taskTitle:E(),taskId:U}),kl=P({aiResponseSnippet:E(),taskId:U}),Al=P({aiResponseSnippet:E(),taskId:U}),jl=P({title:E().min(1).max(200),body:E().min(1).max(2e3),ctaLabel:E().max(80).optional()}),Ml=P({en:jl}).catchall(jl),Nl=P({notification:z(!0),webPush:j(),mobilePush:j(),email:j()}),Pl=R([`notification`,`popup`]),Fl=P({announcementId:U,contentI18n:Ml,channels:Nl,category:nl,ctaUrl:E().optional(),surface:Pl.optional(),mediaKey:E().optional()}),Il=P({id:E().min(1),label:E().min(1),method:z(`POST`),path:E().min(1),style:R([`primary`,`destructive`,`secondary`]).optional(),requiresInput:N(P({fieldName:E().min(1),displayName:E().min(1)})).min(1).optional()}),Ll=E().refine(e=>e.startsWith(`/`)||/^https?:\/\//.test(e),{message:`ctaUrl must be an absolute URL or a path starting with /`}),Rl=P({title:E(),body:E(),ctaLabel:E().optional(),ctaUrl:Ll.optional(),inlineActions:N(Il).optional()}),zl=P({id:U,urgency:rl,category:nl,relatedEntityId:E().nullable(),rendered:Rl,renderedLocale:el,readAt:B().nullable(),processedAt:B().nullable(),createdAt:B()}),Bl=I(`eventType`,[P({eventType:z(`role_changed`),payload:ol}),P({eventType:z(`usage_exhausted`),payload:sl}),P({eventType:z(`payment_failed`),payload:cl}),P({eventType:z(`auto_reload_threshold_exceeded`),payload:ll}),P({eventType:z(`schedules_agent_deleted`),payload:ul}),P({eventType:z(`schedules_calendar_auth_expired`),payload:dl}),P({eventType:z(`agent_binding_removed`),payload:hl}),P({eventType:z(`agent_monthly_cap_threshold`),payload:pl}),P({eventType:z(`webhook_destination_disabled`),payload:ml}),P({eventType:z(`schedule_run_completed`),payload:Ol}),P({eventType:z(`publish_submitted`),payload:gl}),P({eventType:z(`publish_approved`),payload:_l}),P({eventType:z(`publish_rejected`),payload:vl}),P({eventType:z(`task_complete`),payload:kl}),P({eventType:z(`task_waiting_approval`),payload:Al}),P({eventType:z(`workspace_join_request`),payload:yl}),P({eventType:z(`access_request`),payload:xl}),P({eventType:z(`meeting_shared`),payload:Sl}),P({eventType:z(`meeting_shared_workspace`),payload:Cl}),P({eventType:z(`project_member_added`),payload:wl}),P({eventType:z(`task_shared_to_project`),payload:El}),P({eventType:z(`task_shared_with_member`),payload:Dl}),P({eventType:z(`handoff_requested`),payload:Tl}),P({eventType:z(`announcement`),payload:Fl})]),Vl=zl.and(Bl);P({items:N(Vl),nextKey:E().optional()}),P({item:Vl.nullable()}),P({count:A().int().min(0),capped:j().optional()}),P({deviceType:il,fcmToken:E().min(1),description:E().max(500).optional()}),P({id:U,createdAt:B()}),P({}).strict();const Hl=I(`kind`,[P({kind:z(`all`)}),P({kind:z(`admins`)}),P({kind:z(`specific`),userIds:N(U).min(1)})]);P({workspaceId:U.nullish(),contentI18n:Ml,ctaUrl:k({protocol:/^https?$/}).max(2e3).optional(),urgency:rl,category:nl,audience:Hl,channels:Nl,surface:Pl.default(`notification`),mediaKey:E().min(1).max(100).optional()}).refine(e=>e.audience.kind===`all`||e.workspaceId!=null,{message:`workspaceId is required when audience.kind is 'admins' or 'specific'`,path:[`workspaceId`]}).refine(e=>e.surface!==`popup`||e.ctaUrl!=null,{message:`ctaUrl is required when surface is 'popup'`,path:[`ctaUrl`]}),P({id:U,createdAt:B()});const Ul=P({limit:V().int().min(1).max(100).default(20),nextKey:E().optional()}),Wl=P({limit:V().int().min(1).max(100).default(20),offset:V().int().nonnegative().default(0)});P({limit:V().int().min(1).max(100).default(50),beforeVersionNumber:V().int().positive().optional()}).extend({versionNumber:V().int().positive().optional()});const Gl=[e=>!e.editableFirst||!e.createdBy&&!!e.sortBy,{message:`editableFirst requires sortBy and no createdBy`,path:[`editableFirst`]}],Kl=[`asc`,`desc`],ql=[`chatgpt`,`claude`],Jl={chatgpt:{modelProvider:`chatgpt-subscription`,modelIdPrefix:`chatgpt-sub/`,connectionFlow:`device-code`},claude:{modelProvider:`claude-subscription`,modelIdPrefix:`claude-sub/`,connectionFlow:`authorization-code`}},Yl=R(ql);P({connections:N(P({provider:Yl,status:R([`pending`,`connected`,`expired`,`error`]),accountLabel:E().nullable(),plan:E().nullable(),lastError:E().nullable(),connectedAt:B().nullable()})),connectableProviders:N(Yl)}),I(`connectionFlow`,[P({userCode:E(),verificationUrl:k(),expiresAt:B(),pollIntervalSeconds:A().int().positive()}).extend({connectionFlow:z(`device-code`)}),P({connectionFlow:z(`authorization-code`),authorizationUrl:k(),expiresAt:B()})]),P({code:E().trim().min(1).max(4096)}),P({models:N(P({id:E(),name:E(),provider:Yl}))});const Xl=[`openai`,`anthropic`,`vertex-anthropic`,`vertex-google`,`vertex-google-gemma`,`google`,`openrouter`,`selfhosted`,`apmic`,`cerebras`],Zl=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],Ql=[{id:`gpt-6-astra`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-6 Astra`,description:`Frontier intelligence for the most demanding work`,hiddenInTask:!1,active:!1,contextWindowTokens:105e4,maxOutputTokens:128e3,pricing:{input:`0.000_010`,output:`0.000_050`,cachedInput:`0.000_001`,cacheCreation:`0.000_012_5`,longContext:{input:`0.000_020`,output:`0.000_075`,cachedInput:`0.000_002`,cacheCreation:`0.000_025`}},capabilities:{midConversationSystem:!0,reasoning:!0},tokenCalculator:{kind:`input-context`,thresholdTokens:272e3}},{id:`gpt-6.1-sol`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-6.1 Sol`,description:`Latest workhorse model for coding and everyday work`,hiddenInTask:!1,active:!0,contextWindowTokens:105e4,maxOutputTokens:128e3,pricing:{input:`0.000_002`,output:`0.000_010`,cachedInput:`0.000_000_1`,cacheCreation:`0.000_002_5`,longContext:{input:`0.000_004`,output:`0.000_015`,cachedInput:`0.000_000_2`,cacheCreation:`0.000_005`}},capabilities:{midConversationSystem:!0,reasoning:!0},tokenCalculator:{kind:`input-context`,thresholdTokens:272e3}},{id:`gpt-6-luna`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-6 Luna`,description:`GPT-6 model optimized for cost-sensitive workloads`,hiddenInTask:!1,active:!0,contextWindowTokens:105e4,maxOutputTokens:128e3,pricing:{input:`0.000_000_1`,output:`0.000_000_5`,cachedInput:`0.000_000_01`,cacheCreation:`0.000_000_125`,longContext:{input:`0.000_000_2`,output:`0.000_000_75`,cachedInput:`0.000_000_02`,cacheCreation:`0.000_000_25`}},capabilities:{midConversationSystem:!0,reasoning:!0},tokenCalculator:{kind:`input-context`,thresholdTokens:272e3}},{id:`gpt-5.6-sol`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5.6 Sol`,description:`Frontier model for complex professional work`,hiddenInTask:!1,active:!0,contextWindowTokens:105e4,maxOutputTokens:128e3,pricing:{input:`0.000_004`,output:`0.000_020`,cachedInput:`0.000_000_4`,cacheCreation:`0.000_005`,longContext:{input:`0.000_008`,output:`0.000_030`,cachedInput:`0.000_000_8`,cacheCreation:`0.000_010`}},capabilities:{midConversationSystem:!0,reasoning:!0},tokenCalculator:{kind:`input-context`,thresholdTokens:272e3}},{id:`gpt-5.6-terra`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5.6 Terra`,description:`GPT-5.6 model that balances intelligence and cost`,hiddenInTask:!1,active:!0,contextWindowTokens:105e4,maxOutputTokens:128e3,pricing:{input:`0.000_002`,output:`0.000_012`,cachedInput:`0.000_000_2`,cacheCreation:`0.000_002_5`,longContext:{input:`0.000_004`,output:`0.000_018`,cachedInput:`0.000_000_4`,cacheCreation:`0.000_005`}},capabilities:{midConversationSystem:!0,reasoning:!0},tokenCalculator:{kind:`input-context`,thresholdTokens:272e3}},{id:`gpt-5.6-luna`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5.6 Luna`,description:`GPT-5.6 model optimized for cost-sensitive workloads`,hiddenInTask:!1,active:!0,contextWindowTokens:105e4,maxOutputTokens:128e3,pricing:{input:`0.000_000_2`,output:`0.000_001_2`,cachedInput:`0.000_000_02`,cacheCreation:`0.000_000_25`,longContext:{input:`0.000_000_4`,output:`0.000_001_8`,cachedInput:`0.000_000_04`,cacheCreation:`0.000_000_5`}},capabilities:{midConversationSystem:!0,reasoning:!0},tokenCalculator:{kind:`input-context`,thresholdTokens:272e3}},{id:`gpt-5.5`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5.5`,description:`A new class of intelligence for coding and professional work`,hiddenInTask:!1,active:!0,contextWindowTokens:272e3,maxOutputTokens:64e3,pricing:{input:`0.000_005`,output:`0.000_030`,cachedInput:`0.000_000_5`,longContext:{input:`0.000_010`,output:`0.000_045`,cachedInput:`0.000_001`}},capabilities:{midConversationSystem:!0,reasoning:!0},tokenCalculator:{kind:`input-context`,thresholdTokens:272e3}},{id:`gpt-5.4`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5.4`,description:`A more affordable model for coding and professional work`,hiddenInTask:!1,active:!0,contextWindowTokens:272e3,maxOutputTokens:64e3,pricing:{input:`0.000_002_5`,output:`0.000_015`,cachedInput:`0.000_000_25`,longContext:{input:`0.000_005`,output:`0.000_022_5`,cachedInput:`0.000_000_5`}},capabilities:{midConversationSystem:!0,reasoning:!0},tokenCalculator:{kind:`input-context`,thresholdTokens:272e3}},{id:`gpt-5.4-mini`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5.4 mini`,description:`Our strongest mini model yet for coding, computer use, and subagents`,hiddenInTask:!1,active:!0,contextWindowTokens:272e3,maxOutputTokens:32e3,pricing:{input:`0.000_000_75`,output:`0.000_004_5`,cachedInput:`0.000_000_075`},capabilities:{midConversationSystem:!0,reasoning:!0}},{id:`gpt-5.2`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5.2`,description:`The most advanced frontier model for professional work and long-running agents`,hiddenInTask:!1,active:!1,contextWindowTokens:272e3,maxOutputTokens:64e3,pricing:{input:`0.000_001_75`,output:`0.000_014`,cachedInput:`0.000_000_175`},capabilities:{midConversationSystem:!0,reasoning:!0}},{id:`gpt-5.1`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5.1`,description:`Smarter, more conversational TaskGPT`,hiddenInTask:!1,active:!1,contextWindowTokens:272e3,maxOutputTokens:64e3,pricing:{input:`0.000_001_25`,output:`0.000_010`,cachedInput:`0.000_000_125`},capabilities:{midConversationSystem:!0,reasoning:!0}},{id:`gpt-5`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5`,description:`Smartest, fastest, most useful model from OpenAI`,hiddenInTask:!1,active:!1,contextWindowTokens:272e3,maxOutputTokens:64e3,pricing:{input:`0.000_001_25`,output:`0.000_010`,cachedInput:`0.000_000_125`},capabilities:{midConversationSystem:!0,reasoning:!0}},{id:`gpt-5-mini`,provider:`openai`,reasoning:{effort:`medium`},name:`GPT-5 mini`,description:`Fast for everyday tasks in low-cost`,hiddenInTask:!1,active:!1,contextWindowTokens:272e3,maxOutputTokens:32e3,pricing:{input:`0.000_000_25`,output:`0.000_002`,cachedInput:`0.000_000_025`},capabilities:{midConversationSystem:!0,reasoning:!0}},{id:`o3`,provider:`openai`,reasoning:{effort:`medium`},name:`o3`,description:`Great for advanced reasoning`,hiddenInTask:!1,active:!1,contextWindowTokens:2e5,maxOutputTokens:64e3,pricing:{input:`0.000_002`,output:`0.000_008`,cachedInput:`0.000_000_5`},capabilities:{midConversationSystem:!0,reasoning:!0}},{id:`gpt-4o`,provider:`openai`,name:`GPT-4o`,description:`Great for most tasks`,hiddenInTask:!1,active:!1,contextWindowTokens:2e5,maxOutputTokens:16e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_002_5`,output:`0.000_010`,cachedInput:`0.000_001_25`}},{id:`gpt-4.1-mini`,provider:`openai`,name:`GPT-4.1 mini`,description:`Fast for everyday tasks in low-cost`,hiddenInTask:!1,active:!1,contextWindowTokens:2e5,maxOutputTokens:32e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_000_4`,output:`0.000_001_6`,cachedInput:`0.000_000_1`}},{id:`gpt-image-2`,provider:`openai`,name:`GPT Image 2`,description:`OpenAI state-of-the-art image generation model. Supports text + image input; outputs images.`,hiddenInTask:!0,active:!0,contextWindowTokens:2e5,pricing:{input:`0.000_005`,inputImage:`0.000_008`,cachedInput:`0.000_001_25`,output:`0.000_030`},imageGeneration:`gpt-image-2`,imageModel:!0,tokenCalculator:{kind:`image-input`}},{id:`gpt-image-2.5-flare`,provider:`openai`,name:`GPT Image 2.5 Flare`,description:`Fast, high-quality everyday image generation and editing.`,hiddenInTask:!0,active:!0,contextWindowTokens:2e5,pricing:{input:`0.000_005`,inputImage:`0.000_008`,cachedInput:`0.000_001_25`,output:`0.000_030`},imageGeneration:`gpt-image-2`,imageModel:!0,tokenCalculator:{kind:`image-input`}},{id:`gpt-image-2.5-sunburst`,provider:`openai`,name:`GPT Image 2.5 Sunburst`,description:`High-quality image generation with precise editing and detail preservation.`,hiddenInTask:!0,active:!0,contextWindowTokens:2e5,pricing:{input:`0.000_005`,inputImage:`0.000_008`,cachedInput:`0.000_001_25`,output:`0.000_030`},imageGeneration:`gpt-image-2`,imageModel:!0,tokenCalculator:{kind:`image-input`}},{id:`claude-haiku-4-5-20251001`,provider:`anthropic`,reasoning:{thinking:{type:`enabled`,budgetTokens:12e3}},name:`Claude Haiku 4.5`,description:`Near-frontier performance with much greater cost-efficiency`,hiddenInTask:!1,active:!0,contextWindowTokens:2e5,maxOutputTokens:64e3,pricing:{input:`0.000_001`,output:`0.000_005`,cachedInput:`0.000_000_1`,cacheCreation:`0.000_001_25`,cacheCreation1h:`0.000_002`}},{id:`claude-sonnet-4-20250514`,provider:`anthropic`,reasoning:{thinking:{type:`enabled`,budgetTokens:12e3}},name:`Claude Sonnet 4`,description:`Smart, efficient model for everyday use`,hiddenInTask:!1,active:!1,contextWindowTokens:2e5,extendedContextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_003`,output:`0.000_015`,cachedInput:`0.000_000_3`,cacheCreation:`0.000_003_75`,cacheCreation1h:`0.000_006`,longContext:{input:`0.000_006`,output:`0.000_022_5`,cachedInput:`0.000_000_6`,cacheCreation:`0.000_007_5`,cacheCreation1h:`0.000_012`}},tokenCalculator:{kind:`long-context`,thresholdTokens:2e5}},{id:`claude-sonnet-4-5-20250929`,provider:`anthropic`,reasoning:{thinking:{type:`enabled`,budgetTokens:12e3}},name:`Claude Sonnet 4.5`,description:`Anthropic's best model for complex agents and coding`,hiddenInTask:!1,active:!0,contextWindowTokens:2e5,extendedContextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_003`,output:`0.000_015`,cachedInput:`0.000_000_3`,cacheCreation:`0.000_003_75`,cacheCreation1h:`0.000_006`,longContext:{input:`0.000_006`,output:`0.000_022_5`,cachedInput:`0.000_000_6`,cacheCreation:`0.000_007_5`,cacheCreation1h:`0.000_012`}},tokenCalculator:{kind:`long-context`,thresholdTokens:2e5}},{id:`claude-sonnet-4-6`,provider:`anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},name:`Claude Sonnet 4.6`,description:`Anthropic's best model for complex agents and coding`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_003`,output:`0.000_015`,cachedInput:`0.000_000_3`,cacheCreation:`0.000_003_75`,cacheCreation1h:`0.000_006`}},{id:`claude-sonnet-5`,provider:`anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},name:`Claude Sonnet 5`,description:`Best combination of speed and intelligence for agents and coding`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_002`,output:`0.000_010`,cachedInput:`0.000_000_2`,cacheCreation:`0.000_002_5`,cacheCreation1h:`0.000_004`}},{id:`claude-sonnet-5-5`,provider:`anthropic`,reasoning:{thinking:{type:`adaptive`,blockBinding:{prefixMismatchBehavior:`drop_block`}},effort:`high`},name:`Claude Sonnet 5.5`,description:`Best combination of speed and intelligence for agents and coding`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_002`,output:`0.000_010`,cachedInput:`0.000_000_2`,cacheCreation:`0.000_002_5`,cacheCreation1h:`0.000_004`}},{id:`claude-opus-4-1-20250805`,provider:`anthropic`,reasoning:{thinking:{type:`enabled`,budgetTokens:12e3}},name:`Claude Opus 4.1`,description:`Powerful model for complex challenges with 5x money cost`,hiddenInTask:!1,active:!1,contextWindowTokens:2e5,maxOutputTokens:32e3,pricing:{input:`0.000_015`,output:`0.000_075`,cachedInput:`0.000_001_5`,cacheCreation:`0.000_018_75`,cacheCreation1h:`0.000_030`}},{id:`claude-opus-4-6`,provider:`anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},name:`Claude Opus 4.6`,description:`Most powerful model for complex challenges`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_005`,output:`0.000_025`,cachedInput:`0.000_000_5`,cacheCreation:`0.000_006_25`,cacheCreation1h:`0.000_010`}},{id:`claude-opus-4-8`,provider:`anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},name:`Claude Opus 4.8`,description:`Most powerful model for complex challenges`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_005`,output:`0.000_025`,cachedInput:`0.000_000_5`,cacheCreation:`0.000_006_25`,cacheCreation1h:`0.000_010`}},{id:`claude-opus-5`,provider:`anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},name:`Claude Opus 5`,description:`Most powerful model for complex challenges`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_005`,output:`0.000_025`,cachedInput:`0.000_000_5`,cacheCreation:`0.000_006_25`,cacheCreation1h:`0.000_010`}},{id:`claude-opus-5-5`,provider:`anthropic`,reasoning:{thinking:{type:`adaptive`,blockBinding:{prefixMismatchBehavior:`drop_block`}},effort:`high`},name:`Claude Opus 5.5`,description:`Most powerful model for complex challenges`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_004`,output:`0.000_020`,cachedInput:`0.000_000_2`,cacheCreation:`0.000_005`,cacheCreation1h:`0.000_008`}},{id:`claude-haiku-4-5@20251001`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`enabled`,budgetTokens:12e3}},name:`Claude Haiku 4.5`,description:`Near-frontier performance with much greater cost-efficiency (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:2e5,maxOutputTokens:64e3,pricing:{input:`0.000_001`,output:`0.000_005`,cachedInput:`0.000_000_1`,cacheCreation:`0.000_001_25`,cacheCreation1h:`0.000_002`}},{id:`claude-sonnet-4-5@20250929`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`enabled`,budgetTokens:12e3}},name:`Claude Sonnet 4.5`,description:`Anthropic's best model for complex agents and coding (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:2e5,extendedContextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_003`,output:`0.000_015`,cachedInput:`0.000_000_3`,cacheCreation:`0.000_003_75`,cacheCreation1h:`0.000_006`,longContext:{input:`0.000_006`,output:`0.000_022_5`,cachedInput:`0.000_000_6`,cacheCreation:`0.000_007_5`,cacheCreation1h:`0.000_012`}},tokenCalculator:{kind:`long-context`,thresholdTokens:2e5}},{id:`vertex/claude-sonnet-4-6`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},providerModelId:`claude-sonnet-4-6`,name:`Claude Sonnet 4.6`,description:`Anthropic's best model for complex agents and coding (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_003`,output:`0.000_015`,cachedInput:`0.000_000_3`,cacheCreation:`0.000_003_75`,cacheCreation1h:`0.000_006`}},{id:`vertex/claude-sonnet-5`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},providerModelId:`claude-sonnet-5`,name:`Claude Sonnet 5`,description:`Best combination of speed and intelligence for agents and coding (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_002`,output:`0.000_010`,cachedInput:`0.000_000_2`,cacheCreation:`0.000_002_5`,cacheCreation1h:`0.000_004`}},{id:`vertex/claude-sonnet-5-5`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`adaptive`,blockBinding:{prefixMismatchBehavior:`drop_block`}},effort:`high`},providerModelId:`claude-sonnet-5-5`,name:`Claude Sonnet 5.5`,description:`Best combination of speed and intelligence for agents and coding (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_002`,output:`0.000_010`,cachedInput:`0.000_000_2`,cacheCreation:`0.000_002_5`,cacheCreation1h:`0.000_004`}},{id:`claude-opus-4-5@20251101`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`enabled`,budgetTokens:12e3}},name:`Claude Opus 4.5`,description:`Latest Opus model for most complex tasks (via Vertex AI)`,hiddenInTask:!1,active:!1,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_015`,output:`0.000_075`,cachedInput:`0.000_001_5`,cacheCreation:`0.000_018_75`,cacheCreation1h:`0.000_030`}},{id:`vertex/claude-opus-4-6`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},providerModelId:`claude-opus-4-6`,name:`Claude Opus 4.6`,description:`Most powerful model for complex challenges (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_005`,output:`0.000_025`,cachedInput:`0.000_000_5`,cacheCreation:`0.000_006_25`,cacheCreation1h:`0.000_010`}},{id:`vertex/claude-opus-4-8`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},providerModelId:`claude-opus-4-8`,name:`Claude Opus 4.8`,description:`Most powerful model for complex challenges (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_005`,output:`0.000_025`,cachedInput:`0.000_000_5`,cacheCreation:`0.000_006_25`,cacheCreation1h:`0.000_010`}},{id:`vertex/claude-opus-5`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`adaptive`},effort:`high`},providerModelId:`claude-opus-5`,name:`Claude Opus 5`,description:`Most powerful model for complex challenges (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_005`,output:`0.000_025`,cachedInput:`0.000_000_5`,cacheCreation:`0.000_006_25`,cacheCreation1h:`0.000_010`}},{id:`vertex/claude-opus-5-5`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`adaptive`,blockBinding:{prefixMismatchBehavior:`drop_block`}},effort:`high`},providerModelId:`claude-opus-5-5`,name:`Claude Opus 5.5`,description:`Most powerful model for complex challenges (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_004`,output:`0.000_020`,cachedInput:`0.000_000_2`,cacheCreation:`0.000_005`,cacheCreation1h:`0.000_008`}},{id:`vertex/gemini-3.8-flash`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3.8-flash`,name:`Gemini 3.8 Flash (Vertex)`,description:`Most intelligent Flash model for long-horizon software engineering and autonomous agents (via Vertex AI).`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_75`,output:`0.000_003_75`,cachedInput:`0.000_000_075`}},{id:`vertex/gemini-3.7-flash`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3.7-flash`,name:`Gemini 3.7 Flash (Vertex)`,description:`Fast, efficient model for agentic, multimodal, and coding workflows (via Vertex AI).`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_75`,output:`0.000_003_75`,cachedInput:`0.000_000_075`}},{id:`vertex/gemini-3.5-flash`,provider:`vertex-google`,reasoning:{type:`level`,level:`medium`},providerModelId:`gemini-3.5-flash`,name:`Gemini 3.5 Flash (Vertex)`,description:`Frontier-level intelligence optimized for fast agentic and coding workflows (via Vertex AI).`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_001_5`,output:`0.000_009`,cachedInput:`0.000_000_15`}},{id:`vertex/gemini-3.1-pro-preview`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3.1-pro-preview`,name:`Gemini 3.1 Pro (Vertex)`,description:`Next-generation model with enhanced reasoning capabilities and improved performance (via Vertex AI).`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_002`,cachedInput:`0.000_000_2`,output:`0.000_012`,longContext:{input:`0.000_004`,cachedInput:`0.000_000_4`,output:`0.000_018`}},tokenCalculator:{kind:`long-context`,thresholdTokens:2e5}},{id:`vertex/gemini-3.5-flash-lite`,provider:`vertex-google`,reasoning:{type:`level`,level:`medium`},providerModelId:`gemini-3.5-flash-lite`,name:`Gemini 3.5 Flash Lite (Vertex)`,description:`Most cost-efficient model for high-volume agentic tasks (via Vertex AI).`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_3`,output:`0.000_002_5`,cachedInput:`0.000_000_03`}},{id:`vertex/gemma-4-26b-a4b-it-maas`,provider:`vertex-google-gemma`,providerModelId:`google/gemma-4-26b-a4b-it-maas`,name:`Gemma 4 26B A4B IT (Vertex)`,description:`Lightweight text and image understanding (experimental, via Vertex AI).`,hiddenInTask:!0,active:!0,contextWindowTokens:262144,maxOutputTokens:128e3,pricing:{input:`0.000_000_15`,output:`0.000_000_6`,cachedInput:`0.000_000_015`}},{id:`vertex/gemini-3.1-flash-lite`,provider:`vertex-google`,reasoning:{type:`level`,level:`minimal`},providerModelId:`gemini-3.1-flash-lite`,name:`Gemini 3.1 Flash Lite (Vertex)`,description:`Lightweight and fast (via Vertex AI).`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_25`,output:`0.000_001_5`,cachedInput:`0.000_000_025`}},{id:`vertex/gemini-3.1-flash-lite-preview`,provider:`vertex-google`,reasoning:{type:`level`,level:`minimal`},providerModelId:`gemini-3.1-flash-lite-preview`,name:`Gemini 3.1 Flash Lite (Vertex)`,description:`Lightweight and fast (via Vertex AI).`,hiddenInTask:!0,active:!1,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_25`,output:`0.000_001_5`,cachedInput:`0.000_000_025`}},{id:`vertex/gemini-3-pro-preview`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3-pro-preview`,name:`Gemini 3 Pro (Vertex)`,description:`The most powerful agentic model yet combines state-of-the-art reasoning with richer visuals and deep interactivity (via Vertex AI).`,hiddenInTask:!1,active:!1,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_002`,cachedInput:`0.000_000_2`,output:`0.000_012`,longContext:{input:`0.000_004`,cachedInput:`0.000_000_4`,output:`0.000_018`}},tokenCalculator:{kind:`long-context`,thresholdTokens:2e4}},{id:`vertex/gemini-3-pro-image-preview`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3-pro-image-preview`,name:`Gemini 3 Pro Image Preview (Vertex)`,description:`The most powerful image generation model that lets you generate and edit images conversationally with state-of-the-art quality (via Vertex AI).`,hiddenInTask:!0,active:!1,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_002`,output:`0.000_012`,outputImage:`0.000_12`,cachedInput:`0.000_000_2`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-3`},{id:`vertex/gemini-3-pro-image`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3-pro-image`,name:`Gemini 3 Pro Image (Vertex)`,description:`The most powerful image generation model that lets you generate and edit images conversationally with state-of-the-art quality (via Vertex AI).`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_002`,output:`0.000_012`,outputImage:`0.000_12`,cachedInput:`0.000_000_2`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-3`},{id:`vertex/gemini-3.1-flash-image`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3.1-flash-image`,name:`Gemini 3.1 Flash Image (Vertex)`,description:`Fast, efficient image generation model that lets you generate and edit images conversationally (via Vertex AI).`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_000_5`,output:`0.000_003`,outputImage:`0.000_06`,cachedInput:`0.000_000_05`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-3`},{id:`vertex/gemini-3.1-flash-lite-image`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3.1-flash-lite-image`,name:`Gemini 3.1 Flash-Lite Image (Vertex)`,description:`Lightweight, lowest-cost image generation model for icons and small visuals (via Vertex AI).`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_000_25`,output:`0.000_001_5`,outputImage:`0.000_03`,cachedInput:`0.000_000_025`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-3-lite`},{id:`vertex/gemini-3-flash-preview`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-3-flash-preview`,name:`Gemini 3 Flash (Vertex)`,description:`Fast and efficient preview model (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_5`,output:`0.000_003`,cachedInput:`0.000_000_05`}},{id:`vertex/gemini-2.5-flash-image`,provider:`vertex-google`,reasoning:{type:`budget`,budgetTokens:12e3},providerModelId:`gemini-2.5-flash-image`,name:`Gemini 2.5 Flash Image (Vertex)`,description:`Latest, fastest, and most efficient natively multimodal model that lets you generate and edit images conversationally (via Vertex AI).`,hiddenInTask:!0,active:!1,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_000_3`,output:`0.000_002_5`,outputImage:`0.000_03`,cachedInput:`0.000_000_03`,cacheCreation:`0.000_001`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-2.5-flash`},{id:`vertex/gemini-2.5-flash-lite`,provider:`vertex-google`,reasoning:{type:`budget`,budgetTokens:12e3},providerModelId:`gemini-2.5-flash-lite`,name:`Gemini 2.5 Flash Lite (Vertex)`,description:`Lightweight and fast (via Vertex AI).`,hiddenInTask:!0,active:!1,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_1`,output:`0.000_000_4`,cachedInput:`0.000_000_01`,cacheCreation:`0.000_001`}},{id:`gemini-3.8-flash`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3.8 Flash`,description:`Most intelligent Flash model for long-horizon software engineering and autonomous agents`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_75`,output:`0.000_003_75`,cachedInput:`0.000_000_075`}},{id:`gemini-3.7-flash`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3.7 Flash`,description:`Fast, efficient model for agentic, multimodal, and coding workflows`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_75`,output:`0.000_003_75`,cachedInput:`0.000_000_075`}},{id:`gemini-3.5-flash`,provider:`google`,reasoning:{type:`level`,level:`medium`},name:`Gemini 3.5 Flash`,description:`Frontier-level intelligence optimized for fast agentic and coding workflows`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_001_5`,output:`0.000_009`,cachedInput:`0.000_000_15`}},{id:`gemini-3.1-pro-preview`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3.1 Pro`,description:`Next-generation model with enhanced reasoning capabilities and improved performance.`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_002`,cachedInput:`0.000_000_2`,output:`0.000_012`,longContext:{input:`0.000_004`,cachedInput:`0.000_000_4`,output:`0.000_018`}},tokenCalculator:{kind:`long-context`,thresholdTokens:2e5}},{id:`gemini-3.5-flash-lite`,provider:`google`,reasoning:{type:`level`,level:`medium`},name:`Gemini 3.5 Flash Lite`,description:`Most cost-efficient model for high-volume agentic tasks`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_3`,output:`0.000_002_5`,cachedInput:`0.000_000_03`}},{id:`gemini-3.1-flash-lite`,provider:`google`,reasoning:{type:`level`,level:`minimal`},name:`Gemini 3.1 Flash Lite`,description:`Lightweight and fast.`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_25`,output:`0.000_001_5`,cachedInput:`0.000_000_025`}},{id:`gemini-3.1-flash-lite-preview`,provider:`google`,reasoning:{type:`level`,level:`minimal`},name:`Gemini 3.1 Flash Lite`,description:`Lightweight and fast`,hiddenInTask:!0,active:!1,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_25`,output:`0.000_001_5`,cachedInput:`0.000_000_025`}},{id:`gemini-3-pro-preview`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3 Pro`,description:`The most powerful agentic model yet combines state-of-the-art reasoning with richer visuals and deep interactivity.`,hiddenInTask:!1,active:!1,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_002`,cachedInput:`0.000_000_2`,output:`0.000_012`,longContext:{input:`0.000_004`,cachedInput:`0.000_000_4`,output:`0.000_018`}},tokenCalculator:{kind:`long-context`,thresholdTokens:2e4}},{id:`gemini-3-pro-image-preview`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3 Pro Image Preview`,description:`The most powerful image generation model that lets you generate and edit images conversationally with state-of-the-art quality.`,hiddenInTask:!0,active:!1,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_002`,output:`0.000_012`,outputImage:`0.000_12`,cachedInput:`0.000_000_2`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-3`},{id:`gemini-3-pro-image`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3 Pro Image`,description:`The most powerful image generation model that lets you generate and edit images conversationally with state-of-the-art quality.`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_002`,output:`0.000_012`,outputImage:`0.000_12`,cachedInput:`0.000_000_2`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-3`},{id:`gemini-3.1-flash-image`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3.1 Flash Image`,description:`Fast, efficient image generation model that lets you generate and edit images conversationally.`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_000_5`,output:`0.000_003`,outputImage:`0.000_06`,cachedInput:`0.000_000_05`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-3`},{id:`gemini-3.1-flash-lite-image`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3.1 Flash-Lite Image`,description:`Lightweight, lowest-cost image generation model for icons and small visuals.`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_000_25`,output:`0.000_001_5`,outputImage:`0.000_03`,cachedInput:`0.000_000_025`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-3-lite`},{id:`gemini-3-flash-preview`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Gemini 3 Flash`,description:`Fast and efficient preview model`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_5`,output:`0.000_003`,cachedInput:`0.000_000_05`}},{id:`gemini-2.5-pro`,provider:`google`,reasoning:{type:`budget`,budgetTokens:12e3},name:`Gemini 2.5 Pro`,description:`For reasoning, mathematics and programming`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_001_25`,output:`0.000_010`,cachedInput:`0.000_000_125`,cacheCreation:`0.000_004_5`,longContext:{input:`0.000_002_5`,output:`0.000_015`,cachedInput:`0.000_000_25`,cacheCreation:`0.000_004_5`}},tokenCalculator:{kind:`long-context`,thresholdTokens:2e5}},{id:`gemini-2.5-flash`,provider:`google`,reasoning:{type:`budget`,budgetTokens:12e3},name:`Gemini 2.5 Flash`,description:`Get quick assistance for various types`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_3`,output:`0.000_002_5`,cachedInput:`0.000_000_03`,cacheCreation:`0.000_001`}},{id:`gemini-2.5-flash-image`,provider:`google`,reasoning:{type:`budget`,budgetTokens:12e3},name:`Gemini 2.5 Flash Image `,description:`Latest, fastest, and most efficient natively multimodal model that lets you generate and edit images conversationally.`,hiddenInTask:!0,active:!1,contextWindowTokens:1e6,maxOutputTokens:32e3,pricing:{input:`0.000_000_3`,output:`0.000_002_5`,outputImage:`0.000_03`,cachedInput:`0.000_000_03`,cacheCreation:`0.000_001`},tokenCalculator:{kind:`image-output`},imageGeneration:`gemini-2.5-flash`},{id:`gemini-2.5-flash-lite`,provider:`google`,reasoning:{type:`budget`,budgetTokens:12e3},name:`Gemini 2.5 Flash Lite`,description:`Lightweight and fast`,hiddenInTask:!0,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_1`,output:`0.000_000_4`,cachedInput:`0.000_000_01`,cacheCreation:`0.000_001`}},{id:`openai/gpt-oss-120b`,provider:`openrouter`,reasoning:{type:`effort`,effort:`medium`},name:`GPT-OSS 120B`,description:`Open source model from OpenAI`,hiddenInTask:!1,active:!0,contextWindowTokens:131072,maxOutputTokens:16e3,pricing:{input:`0.000_000_1`,output:`0.000_000_5`}},{id:`z-ai/glm-4.6`,provider:`openrouter`,reasoning:{type:`enabled`},name:`GLM 4.6`,description:`GLM-4.6 with 200K context window, superior coding performance, advanced reasoning, and refined writing`,hiddenInTask:!1,active:!0,contextWindowTokens:2e5,maxOutputTokens:64e3,pricing:{input:`0.000_000_6`,output:`0.000_002_2`,cachedInput:`0.000_000_11`}},{id:`moonshotai/kimi-k2-thinking`,provider:`openrouter`,reasoning:{type:`enabled`},name:`Kimi K2 Thinking`,description:`Moonshot AI's most advanced open reasoning model with 256K context window, optimized for persistent step-by-step thought and complex reasoning workflows`,hiddenInTask:!1,active:!0,contextWindowTokens:2e5,maxOutputTokens:64e3,pricing:{input:`0.000_000_6`,output:`0.000_002_5`,cachedInput:`0.000_000_15`}},{id:`minimax/minimax-m2`,provider:`openrouter`,reasoning:{type:`enabled`},name:`MiniMax M2`,description:`Compact, high-efficiency model optimized for end-to-end coding and agentic workflows with 204.8K context window`,hiddenInTask:!1,active:!0,contextWindowTokens:2e5,maxOutputTokens:64e3,pricing:{input:`0.000_000_3`,output:`0.000_001_2`}},{id:`meta/muse-glimmer-30b`,provider:`openrouter`,reasoning:{type:`effort`,effort:`medium`},name:`Muse Glimmer 30B`,description:`Dense, open-weight multimodal model from Meta Superintelligence Labs, distilled from Muse Spark and optimized for autonomous agents on consumer hardware`,hiddenInTask:!1,active:!0,contextWindowTokens:131072,maxOutputTokens:16e3,pricing:{input:`0.000_000_35`,output:`0.000_001_5`,cachedInput:`0.000_000_04`}},{id:`moonshotai/kimi-k3`,provider:`openrouter`,reasoning:{type:`effort`,effort:`max`},name:`Kimi K3`,description:`Moonshot AI's multimodal reasoning model with a 1M context window, built for long-horizon agentic workflows`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_003`,output:`0.000_015`,cachedInput:`0.000_000_3`}},{id:`z-ai/glm-5.2`,provider:`openrouter`,reasoning:{type:`effort`,effort:`high`},name:`GLM 5.2`,description:`GLM-5.2 with strong coding and agentic performance, advanced reasoning, and long-context support`,hiddenInTask:!1,active:!0,contextWindowTokens:262144,maxOutputTokens:64e3,pricing:{input:`0.000_000_76`,output:`0.000_002_42`,cachedInput:`0.000_000_14`}},{id:`deepseek/deepseek-v4-flash-0731`,provider:`openrouter`,reasoning:{type:`effort`,effort:`high`},name:`DeepSeek V4 Flash`,description:`Low-cost, high-throughput DeepSeek model with a 1M context window, suited for high-volume agentic and coding workloads`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,pricing:{input:`0.000_000_08`,output:`0.000_000_18`,cachedInput:`0.000_000_016`}},{id:`mistralai/mistral-small-2603`,provider:`openrouter`,reasoning:{type:`effort`,effort:`high`},name:`Mistral Small 4`,description:`Efficient Mistral model that unifies several flagship Mistral capabilities in one system, with configurable reasoning and a 262K context window`,hiddenInTask:!1,active:!0,contextWindowTokens:262144,maxOutputTokens:64e3,pricing:{input:`0.000_000_15`,output:`0.000_000_6`,cachedInput:`0.000_000_015`}},{id:`gpt-oss-120b`,provider:`selfhosted`,name:`GPT-OSS 120B`,description:`Open source model from OpenAI`,hiddenInTask:!1,active:!0,contextWindowTokens:131072,maxOutputTokens:16e3,pricing:{input:`0.000_000_1`,output:`0.000_000_5`}},{id:`apmic/qwen3.8-27b`,provider:`apmic`,providerModelId:`Qwen3.8-27B`,name:`Qwen3.8 27B`,description:`Qwen 3.8 27B served by APMIC`,hiddenInTask:!1,active:!0,contextWindowTokens:262144,maxOutputTokens:64e3,pricing:{input:`0`,output:`0`}},{id:`cerebras/qwen-3.8-27b`,provider:`cerebras`,providerModelId:`qwen-3.8-27b`,reasoning:{effort:`medium`},name:`Qwen3.8 27B (Cerebras)`,description:`Qwen 3.8 27B served on Cerebras wafer-scale inference`,hiddenInTask:!1,active:!0,capabilities:{reasoning:!0},contextWindowTokens:131072,maxOutputTokens:4e4,pricing:{input:`0.000_000_99`,output:`0.000_001_49`}},{id:`cerebras/gpt-oss-120b`,provider:`cerebras`,providerModelId:`gpt-oss-120b`,reasoning:{effort:`medium`},name:`GPT-OSS 120B (Cerebras)`,description:`Open source model from OpenAI served on Cerebras wafer-scale inference`,hiddenInTask:!1,active:!0,capabilities:{reasoning:!0},contextWindowTokens:131e3,maxOutputTokens:4e4,pricing:{input:`0.000_000_35`,output:`0.000_000_75`}}],$l=[...Xl,`azure-openai`],eu=ql.map(e=>Jl[e].modelProvider),tu=[...$l,...eu];function nu(e){return Ql.filter(t=>t.provider===e).map(e=>e.id)}nu(`openai`),nu(`anthropic`),nu(`vertex-anthropic`),nu(`vertex-google`),nu(`google`),nu(`openrouter`),nu(`selfhosted`),nu(`apmic`),nu(`cerebras`);const ru=[`chatgpt-sub/gpt-6.1-sol`,`chatgpt-sub/gpt-6-astra`,`chatgpt-sub/gpt-6-luna`,`chatgpt-sub/gpt-5.6-sol`,`chatgpt-sub/gpt-5.6-terra`,`chatgpt-sub/gpt-5.6-luna`,`chatgpt-sub/gpt-5.5`,`claude-sub/opus-5`,`claude-sub/sonnet-5`,`claude-sub/haiku-4-5`],iu=[`chatgpt-pool/gpt-6.1-sol`,`chatgpt-pool/gpt-6-astra`,`chatgpt-pool/gpt-6-luna`,`chatgpt-pool/gpt-5.6-sol`,`chatgpt-pool/gpt-5.6-terra`,`chatgpt-pool/gpt-5.6-luna`,`chatgpt-pool/gpt-5.5`],au=Ql.map(e=>e.id);function ou(e){return e.startsWith(`azure-`)}const su=[`lite`,`pro`,`max`],cu=[`image`,`image-lite`],lu=[`functionality`],uu=[...su,...cu,...lu],du=F([R(au),R(su),E().refine(e=>ou(e)),R(ru),R(iu)]);F([du,R([...cu,...lu])]);const fu=F([du,z(`auto`)]),pu=P({id:E(),name:E(),shortName:E().optional(),description:E(),shortDescription:E().optional(),enabled:j().optional(),tags:N(E()).optional()});P({models:N(pu)}),P({tiers:N(P({tier:E(),available:j().optional(),model:pu.optional()}))});const mu=P({modelId:E()}),hu=R([`additional`]),gu=P({replacementModelId:fu.optional()});mu.extend(gu.shape),P({agentCount:A(),scheduleCount:A(),recentAgentCount:A(),recentTaskCount:A(),affectedModelSelections:N(fu)}).extend({modelId:E()});const _u=R([`pool`,`provider`]);P({modelId:F([E(),N(E()).min(1)]).optional(),revocation:hu.optional(),scope:_u.optional(),providerId:E().optional()}),P({replacements:N(P({modelId:E(),replacementModelId:fu,references:P({agentCount:A(),scheduleCount:A()}),updatedAt:B()}))}),P({modelId:E(),replacementModelId:fu}),P({modelId:E()}),P({providers:N(P({id:E(),name:E(),baseUrl:E().nullable().optional(),verified:j(),models:N(P({id:E(),name:E(),enabled:j().optional(),additional:j().optional()})),options:L(E(),Js()).optional()}))}),P({models:N(P({id:E(),name:E(),provider:R(tu),supportsChat:j(),supportsImageGeneration:j(),imageBackend:R([`image-api`,`language-model`]).optional(),availableForAdvanced:j()}))}),P({tiers:N(P({tier:R(uu),modelId:E(),fallbackModelId:E().nullable()}))}),P({tier:R(uu)}),P({modelId:E().min(1),fallbackModelId:E().min(1).nullable().optional()});const vu=R([`starter`,`pro`,`premium`]);R([`pro`,`premium`]).options,R([`basic_window`,`granted_pool`,`purchased_pool`]);const yu=R([`purchased`,`granted`]);R([`task`,`title_generate`,`agent`,`schedule`,`sandbox_llm`,`sandbox_runtime`,`web_search`,`image_generation`,`agent_icon_generation`,`auto_routing`,`chatbot`,`meeting`,`mcp_tool_api_call`]);const W={TASK_MESSAGE:`task_message`,TITLE_GENERATION:`title_generation`,SENSITIVITY_CHECK:`sensitivity_check`,TOOL_CALL_EXTRA_TOKENS:`tool_call_extra_tokens`,TASK_SUMMARY:`task_summary`,SUBAGENT:`subagent`,WORKFLOW_AGENT:`workflow_agent`,LLM_PROXY:`llm_proxy`,IMAGE_GENERATION:`image_generation`,WEB_SEARCH:`web_search`,SANDBOX_RUNTIME:`sandbox_runtime`,MEETING:`meeting`,MEETING_RECORDING_TRANSCRIPTION:`meeting_recording_transcription`,MEETING_RECORDING_SUMMARY:`meeting_recording_summary`,MEETING_RECORDING_REFINE:`meeting_recording_refine`,MEETING_RECORDING_TITLE:`meeting_recording_title`,TOOL_CALL_RISK_ASSESSMENT:`tool_call_risk_assessment`,SCHEDULE_JUDGE:`schedule_judge`,SCHEDULE_JUDGE_REVIEW:`schedule_judge_review`,SCHEDULE_JUDGE_EXTRACT:`schedule_judge_extract`,PROJECT_KNOWLEDGE_DESCRIPTION:`project_knowledge_description`,PROJECT_KNOWLEDGE_EXTRACTION:`project_knowledge_extraction`,PUBLISH_CHANGE_SUMMARY:`publish_change_summary`};W.MEETING,W.MEETING_RECORDING_TRANSCRIPTION,W.MEETING_RECORDING_SUMMARY,W.MEETING_RECORDING_REFINE,W.MEETING_RECORDING_TITLE,W.WORKFLOW_AGENT,W.SCHEDULE_JUDGE_EXTRACT,W.WEB_SEARCH,W.PROJECT_KNOWLEDGE_DESCRIPTION,W.PROJECT_KNOWLEDGE_EXTRACTION,W.SENSITIVITY_CHECK,W.PUBLISH_CHANGE_SUMMARY;const bu={WEB_SEARCH:W.WEB_SEARCH,SANDBOX_RUNTIME:W.SANDBOX_RUNTIME};R([bu.WEB_SEARCH,bu.SANDBOX_RUNTIME]);const xu={SEARCH:`search`,SCRAPE:`scrape`};R([xu.SEARCH,xu.SCRAPE]),P({workspaceId:O()});const Su=P({usedPercent:A().min(0).max(100),resetAt:B().nullable()});P({seatType:vu,hourly:Su.nullable(),weekly:Su,trial:P({endsAt:B(),remainingDays:A().int().positive()}).optional(),extraUsage:P({spentUsd:A().nonnegative(),resetAt:B().nullable()}),availability:P({allowed:j(),reason:R([`usage_exhausted`,`budget_exceeded`]).nullable(),resetAt:B().nullable()})});const Cu=P({startAt:B(),endAt:B(),previousStartAt:B().optional()}),wu=P({period:Cu,balanceUsd:A().nonnegative(),nextExpiry:P({amountUsd:A().positive(),expiresAt:B()}).optional(),currentSpentUsd:A().nonnegative(),currentSpentUsedPercent:A().nonnegative().nullable(),monthlyExtraUsageLimitUsd:A().positive().nullable(),memberMonthlyExtraUsageLimitUsd:A().positive().nullable()});P({periodStart:H.optional()}),P({period:Cu,spentUsd:A().nonnegative(),purchasedUsd:A().nonnegative()});const Tu=R([`extraUsage:desc`,`extraUsage:asc`]);P({periodStart:H.optional(),limit:V().int().min(1).max(100).default(20),offset:V().int().nonnegative().default(0),sort:Tu.default(`extraUsage:desc`),search:E().trim().max(200).optional()}),P({items:N(P({id:O(),user:P({id:O(),name:E(),email:E()}),seatType:vu,extraUsage:A().nonnegative(),monthlyLimitOverride:P({limitUsd:A().positive().nullable()}).nullable().optional()})),total:A().int().nonnegative()}),P({id:O(),poolType:yu,balanceUsd:A().nonnegative(),initialAmountUsd:A().positive(),expiresAt:B().nullable(),isAutoReload:j().nullable(),purchaseId:O().nullable(),createdBy:O(),createdAt:B(),updatedAt:B()}),P({amountUsd:A().positive().max(1e5),expiresAt:H.optional()}),P({id:O(),workspaceId:O(),amountUsd:E(),expiresAt:B().nullable(),createdAt:B()}),P({enabled:j(),thresholdUsd:A().positive(),reloadAmountUsd:A().positive()}).nullable(),P({enabled:j(),thresholdUsd:A().positive(),reloadAmountUsd:A().positive()}),P({checkoutUrl:k().nullable()}),P({limitUsd:A().positive().nullable()}),P({limitUsd:A().positive().nullable()});const Eu=P({id:O(),name:E(),email:E()});P({items:N(P({user:Eu,limitUsd:A().positive().nullable()}))}),P({workspaceId:O(),userId:O()}),P({limitUsd:A().min(.01).max(999999.99).nullable()});const Du=E().regex(/^\d+(\.\d+)?$/,`Budget must be a valid positive decimal number`).refine(e=>Number(e)>0,{message:`Budget must be a valid positive decimal number`});P({items:N(P({user:Eu,budget:E().nullable()}))}),P({workspaceId:O(),userId:O()}),P({budget:Du.nullable()}),P({allowance:E().regex(/^\d+(\.\d{1,2})?$/u,`Allowance must be a positive amount with at most 2 decimals`).refine(e=>Number(e)>0&&Number(e)<=9999999999.99,{message:`Allowance must be greater than 0 and at most 9999999999.99`}).nullable()}),P({periodStart:H.optional()});const Ou=P({model:E(),costUsd:A(),tokens:A()}),ku=P({costUsd:A(),totalTokens:A(),tokens:P({input:A(),output:A(),cachedInput:A(),cacheCreation:A()}),byModel:N(Ou)});P({taskId:O(),totalCostUsd:A(),totalTokens:A(),tokens:ku.shape.tokens,byModel:ku.shape.byModel,taskRun:ku}),P({taskId:O(),scheduleId:O(),scheduleRunId:O(),work:ku,extraction:ku,judgePrimary:ku,judgeReview:ku,runTotal:ku,includingExtraction:ku});const Au=[`google`,`password`];P({users:N(P({id:O(),name:E(),email:E(),image:E().nullable().optional(),role:E(),loginMethods:N(R(Au)),createdAt:B(),seatType:vu.nullable(),pendingSeatType:vu.nullable(),pendingEffectiveAt:B().nullable()})),total:A().int().nonnegative()}),Wl.extend({search:E().trim().max(200).optional()});const ju=E().min(10,`Password must be at least 10 characters long`).regex(/[a-z]/,`Password must contain at least one lowercase letter`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[0-9]/,`Password must contain at least one number`).regex(/[^a-zA-Z0-9]/,`Password must contain at least one special character`);P({currentPassword:E().min(1,`Current password is required`),newPassword:ju}),P({message:E()});const Mu=R(Gc);P({email:E(),name:E(),image:E().nullable().optional(),locale:Mu,hasPassword:j()}),P({locale:Mu});const G={Access:`access`,ManageWorkspace:`manage_workspace`,ManageRole:`manage_role`,ManageMember:`manage_member`,ManagePayment:`manage_payment`,SubmitCustomConnector:`submit_custom_connector`,ReviewCustomConnector:`review_custom_connector`,ManageConnector:`manage_connector`,ManageResource:`manage_resource`,ManageModel:`manage_model`,ManageCapability:`manage_capability`,ManageTeam:`manage_team`,ReviewResourcePublish:`review_resource_publish`,CreateAgent:`create_agent`,PublishAgent:`publish_agent`,CreateSkill:`create_skill`,PublishSkill:`publish_skill`,CreateWorkflow:`create_workflow`,CreateCustomConnector:`create_custom_connector`,PublishCustomConnector:`publish_custom_connector`,ManageAllTeams:`manage_all_teams`,ManageChatbot:`manage_chatbot`,ManageChannelAgents:`manage_channel_agents`,ViewAuditLogs:`view_audit_logs`},Nu=[G.ManageConnector,G.ReviewResourcePublish];[G.ManageResource,...Nu],G.ManageWorkspace,G.ManageRole,G.ManageMember,G.ManagePayment,G.ManageModel,G.ManageCapability,G.ManageResource,G.ManageChatbot,G.ManageChannelAgents,G.CreateCustomConnector,G.PublishCustomConnector,G.CreateAgent,G.PublishAgent,G.CreateSkill,G.PublishSkill,G.CreateWorkflow,G.ManageTeam,G.ManageAllTeams,G.ViewAuditLogs,G.ManageMember,G.ManageCapability,G.ManageResource,G.ManageChatbot,G.ManageChannelAgents,G.CreateCustomConnector,G.PublishCustomConnector,G.CreateAgent,G.PublishAgent,G.CreateSkill,G.PublishSkill,G.CreateWorkflow,G.ManageTeam,G.CreateCustomConnector,G.PublishCustomConnector,G.CreateAgent,G.PublishAgent,G.CreateSkill,G.PublishSkill,G.CreateWorkflow;const Pu=R([`workspace`,`resource`,`team`]),Fu=R([{id:`manage_role`,category:`workspace`},{id:`manage_member`,category:`workspace`},{id:`manage_workspace`,category:`workspace`},{id:`manage_payment`,category:`workspace`},{id:`manage_model`,category:`workspace`},{id:`view_audit_logs`,category:`workspace`},{id:`manage_capability`,category:`resource`},{id:`create_custom_connector`,category:`resource`},{id:`publish_custom_connector`,category:`resource`},{id:`create_agent`,category:`resource`},{id:`publish_agent`,category:`resource`},{id:`create_skill`,category:`resource`},{id:`publish_skill`,category:`resource`},{id:`create_workflow`,category:`resource`},{id:`manage_resource`,category:`resource`},{id:`manage_team`,category:`team`},{id:`manage_all_teams`,category:`team`},{id:`manage_chatbot`,category:`workspace`},{id:`manage_channel_agents`,category:`workspace`}].map(e=>e.id)),Iu=P({id:Fu,name:E(),descriptions:N(E()).min(1),category:Pu});P({lang:Kc}),P({permissions:N(Iu)}),new Set(Object.values({[G.ManageCapability]:G.ManageCapability,[G.ManageTeam]:G.ManageTeam,[G.ManageChannelAgents]:G.ManageChannelAgents})),P({permissions:N(Fu)});const K={SELF:`self`,WORKSPACE:`workspace`,PUBLIC:`public`},Lu=R([K.SELF,K.WORKSPACE,K.PUBLIC]);K.SELF,K.WORKSPACE,K.PUBLIC;const Ru=R([K.PUBLIC,K.WORKSPACE,`none`]);K.PUBLIC,K.WORKSPACE;const zu=A().int().positive().optional(),Bu=O().nullable(),Vu=P({id:O(),name:E(),mimeType:E(),size:A(),url:k()}),Hu=I(`type`,[P({id:O(),type:z(`file`),workingCopyAvailable:j().optional(),hasUnsavedWork:j().optional(),baseVersionNumber:A().int().positive().optional(),projectId:Bu,file:Vu,versionNumber:zu,createdAt:B(),updatedAt:B()}),P({id:O(),type:z(`website`),projectId:Bu,url:k(),sandboxId:E().nullable(),title:E().optional(),visibility:Lu.default(K.SELF),source:Vu.optional(),hasUnsavedWork:j().optional(),baseVersionNumber:A().int().positive().optional(),versionNumber:zu,createdAt:B(),updatedAt:B()}),P({id:O(),type:z(`deck`),projectId:Bu,title:E(),pdf:Vu,pptx:Vu.optional(),hasUnsavedWork:j().optional(),baseVersionNumber:A().int().positive().optional(),versionNumber:zu,createdAt:B(),updatedAt:B()})]);P({data:N(Hu),nextKey:E().optional()}),P({data:Hu}),P({data:P({webViewLink:k()})}),P({visibility:Lu});const Uu=P({id:O(),versionNumber:A().int().positive(),title:E().nullable(),summary:E().nullable(),editor:P({id:O(),name:E(),email:E(),image:E().nullable()}),createdAt:B(),file:Vu.nullable(),sourceTask:F([P({visible:z(!0),id:O(),title:E().nullable()}),P({visible:z(!1)})]).nullable(),revertedFrom:A().int().positive().nullable()});P({data:P({headVersionId:O(),canRevert:j(),versions:N(Uu)})}),P({summary:E().trim().min(1).max(500).optional()}),P({data:I(`status`,[P({status:z(`saved`),versionId:O(),versionNumber:A().int().positive()}),P({status:z(`unchanged`),versionNumber:A().int().positive()})])});const Wu=P({id:O(),name:E()});P({assetProjectId:O().nullable(),assetName:E(),assetHasPreviewableVersions:j(),currentVersionNumber:A().int().positive(),currentVersionSavedAt:B(),currentVersionEditor:Wu,baseVersionNumber:A().int().positive()}).extend({assetId:O()}),P({expectedHeadVersionId:O()}),P({data:P({versionId:O(),versionNumber:A().int().positive(),revertedFrom:A().int().positive()})});const Gu=`always_allow`,Ku={ALWAYS_ASK:`always_ask`,AUTO:`auto`,ALWAYS_ALLOW:`always_allow`},qu=R(Ku);qu.exclude([`ALWAYS_ASK`]);const Ju={BY_USER:`The user denied this tool call, so it did not run.`,UNATTENDED:`This tool call needs human approval and this run has no one to ask, so it did not run.`,ASSESSMENT:`The risk assessment said:`,INSTRUCTION:`Do not call it again unless the user explicitly asks you to, and do not reach the same result through another tool or route. Continue with the parts of the task that do not depend on it. In your reply, say which call was refused and what you left out; if the task cannot be completed without it, stop and ask the user how to proceed.`,TURN_REMINDER:`These calls were refused in the turn you are answering. Name each of them in your reply and say what you could not do without it. Do not present earlier results, background knowledge, or a guess as if the refused call had returned them, and do not reach the same result through another tool or route. If what the user asked for cannot be finished without these calls, say so and ask how to proceed instead of answering around them.`},Yu={ASK:`ask`,DENY:`deny`,BYPASS:`bypass`},Xu=R(Yu);Ku.ALWAYS_ALLOW,Ku.AUTO,Ku.ALWAYS_ASK,Yu.BYPASS,Yu.ASK,Yu.DENY,R([`allow_all`,`auto_ask`,`auto_deny`]);const Zu=[{id:`allow_all`,toolApprovalMode:Ku.ALWAYS_ALLOW,approvalHandling:Yu.BYPASS},{id:`auto_ask`,toolApprovalMode:Ku.AUTO,approvalHandling:Yu.ASK},{id:`auto_deny`,toolApprovalMode:Ku.AUTO,approvalHandling:Yu.DENY}];function Qu(e,t){return Zu.find(n=>n.toolApprovalMode===e&&n.approvalHandling===t)?.id}const $u={always_ask:`Always Ask`,auto:`Auto`,always_allow:`Always Allow`},ed={always_ask:`Ask before each tool, unless it is already set to always allow`,auto:`Ask before high-risk calls and tools that need approval; run the rest`,always_allow:`Run tools without asking, except those that need approval`},td={WORKSPACE_POLICY:`workspace_policy_need_approval`,TASK_POLICY:`task_policy_need_approval`,USER_POLICY:`user_policy_need_approval`,ALWAYS_ASK_MODE:`always_ask_mode`,REQUIRES_USER_INTERACTION:`tool_requires_user_interaction`,HIGH_SENSITIVITY:`high_sensitivity`,MUTATING_TOOL:`mutating_tool`,NO_SIGNALS:`no_signals`,ASSESSMENT_HIGH_RISK:`assessment_high_risk`,ASSESSMENT_WRITE_CLIPPED:`assessment_write_clipped`,ASSESSMENT_WRITES_DROPPED:`assessment_writes_dropped`,ASSESSMENT_WRITES_TOO_LONG:`assessment_writes_too_long`,ASSESSMENT_FAILED:`assessment_failed`,POLICY_LOOKUP_FAILED:`policy_lookup_failed`,INNER_TOOL_NOT_FOUND:`inner_tool_not_found`,INPUT_MISSING_TOOL_NAME:`input_missing_tool_name`,INNER_RESOLUTION_FAILED:`inner_resolution_failed`},nd=new Set(Object.values(td));function rd(e){return nd.has(e)}const id=new Set([td.POLICY_LOOKUP_FAILED,td.INNER_TOOL_NOT_FOUND,td.INPUT_MISSING_TOOL_NAME,td.INNER_RESOLUTION_FAILED]);function ad(e){return id.has(e)}function od(e){let[t,...n]=e?.split(`
|
|
65
|
+
`)??[],r=n.join(`
|
|
66
|
+
`).trim();return{reason:t===void 0||!rd(t)?`generic`:ad(t)?`policy_unresolved`:t,detail:r||void 0}}function sd(e){return od(e).reason}const cd={workspace_policy_need_approval:`Your workspace requires approval before this tool runs.`,task_policy_need_approval:`This task is set to ask before this tool runs.`,user_policy_need_approval:`You chose to be asked before this tool runs.`,always_ask_mode:`Your approval mode asks before every tool.`,tool_requires_user_interaction:`This tool needs your input to continue.`,high_sensitivity:`This tool is marked high risk.`,mutating_tool:`This tool can change data.`,no_signals:`This tool has not declared what it changes.`,assessment_high_risk:`This call was assessed as high risk.`,assessment_write_clipped:`A file this command may run was recorded only in part, so it cannot be inspected:`,assessment_writes_dropped:`Files written this turn are no longer on record, so this command cannot be inspected.`,assessment_writes_too_long:`The files this command may run are too long to inspect.`,assessment_failed:`The risk check was unavailable, so it needs your approval.`,policy_unresolved:`This tool's policy could not be resolved, so it needs your approval.`,generic:`This tool needs your approval before it runs.`};function ld(e){return cd[sd(e)]}const ud={PREAUTHORIZED:`preauthorized`,LOW_RISK:`low_risk`};function dd(e){if(e?.isAutomatic===!0&&e.approved===!0)return e.reason===`Preauthorized for this task.`?{kind:ud.PREAUTHORIZED,reason:void 0}:{kind:ud.LOW_RISK,reason:e.reason}}const fd=R([`invite-only`,`open`]),pd=E().min(1,`Workspace name is required`).max(50,`Workspace name must be 50 characters or less`).regex(/^[\p{L}\p{N} ._-]+$/u,`Workspace name can only contain letters, numbers, spaces, dashes, underscores, and periods`).refine(e=>e===e.trim(),{message:`Workspace name cannot start or end with spaces`}),md=P({name:E().trim().min(1).max(50),latinName:E().trim().max(50).nullable().optional(),logoIconId:O(),faviconIconId:O().nullable().optional()}),hd=P({name:E().trim().min(1).max(50),latinName:E().trim().max(50).nullable().optional(),logoUrl:E().min(1),faviconUrl:E().nullable().optional()}),gd=P({id:E(),name:E(),userCount:A(),config:P({branding:hd.nullable().optional(),additionalModelsEnabled:j().optional(),modelTierCustomizationEnabled:j().optional(),subscriptionModelsEnabled:j().optional(),subscriptionModelsAllowed:j().optional(),subscriptionPoolEnabled:j().optional(),subscriptionPoolAllowed:j().optional(),managedAgentEnabled:j().optional(),autopilotEnabled:j().optional(),subscriptionPoolFallbackModelId:du.nullable().optional()}).optional(),createdAt:B(),updatedAt:B()});P({workspaces:N(gd)}),P({workspaces:N(gd.extend({config:P({joinPolicy:fd})}))}),P({joined:j()}),P({name:pd,ownerId:O()}),P({name:pd});const _d=E().trim().toLowerCase().max(253).regex(/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/,`Invalid email domain`);P({hideThinking:j().optional(),joinPolicy:fd.optional(),allowedDomains:N(E()),defaultToolApprovalMode:qu.optional(),requireReview:j().optional(),shareSensitiveScanEnabled:j().optional(),maxShareVisibility:Ru.optional(),maxPreviewVisibility:Ru.optional(),disabledModelTiers:N(R(su)).optional(),additionalModelsEnabled:j().optional(),modelTierCustomizationEnabled:j().optional(),subscriptionModelsEnabled:j().optional(),subscriptionModelsAllowed:j().optional(),subscriptionPoolEnabled:j().optional(),subscriptionPoolAllowed:j().optional(),managedAgentEnabled:j().optional(),autopilotEnabled:j().optional(),subscriptionPoolFallbackModelId:du.nullable().optional(),subscriptionPoolMemberAllowance:E().nullable().optional(),autoTierDisabled:j().optional(),chatbotSlackEffectivelyEnabled:j().optional(),chatbotTeamsEffectivelyEnabled:j().optional(),systemPrompt:E().trim().max(1e3).nullable().optional()}),P({email:E(),name:E(),roles:N(E()),permissions:N(Fu)});const vd=R([`requested`,`approved`,`rejected`]);P({workspaceId:O(),invitationId:O()}),P({email:E(),status:vd,workspace:P({id:O(),name:E()})}),P({invitations:N(P({id:O(),workspaceId:O(),email:E(),status:vd,role:E(),requestedSeatType:vu,invitedBy:P({email:E(),name:E(),isMe:j()}).optional(),invitedAt:B().optional(),expiresAt:B().optional(),createdAt:B(),updatedAt:B()})),total:A().int().nonnegative()}),Wl.extend({status:vd.optional(),search:E().trim().max(200).optional()});const yd=P({starter:A().int().nonnegative(),pro:A().int().nonnegative(),premium:A().int().nonnegative()}),bd=P({id:E(),email:E()}),xd=P({id:E(),name:E(),owners:N(bd),userCount:A().int().nonnegative(),paidSeatCount:A().int().nonnegative(),seatCountsByType:yd,createdAt:B(),updatedAt:B()});Wl.extend({search:E().trim().max(200).optional(),exact:Rc().optional(),sortBy:R([`createdAt`,`userCount`,`paidSeatCount`]).default(`createdAt`),order:R(Kl).default(`desc`)}),P({workspaces:N(xd),total:A().int().nonnegative()}),P({workspaceId:O()});const Sd=P({purchasedUsd:A().nonnegative(),grantedUsd:A().nonnegative(),totalUsd:A().nonnegative(),nextExpiry:P({amountUsd:A().nonnegative(),expiresAt:B()}).nullable()}),Cd=R([`owner`,`admin`,`member`]),wd=P({id:E(),email:E(),name:E(),role:E(),seatType:vu.nullable(),joinedAt:B(),loginMethods:N(R(Au)),lastLoginAt:B().nullable(),passwordSetupEmailSentAt:B().nullable()}),Td=P({enabled:j(),modelIds:N(E())}),Ed=P({id:E(),name:E()}),Dd=P({slackEnabled:j(),slackAvailable:j(),teamsEnabled:j(),teamsAvailable:j(),defaultAgentId:E().nullable(),ownerPanelDisabled:j(),inheritsLegacySettings:j(),agents:N(Ed)});P({slackEnabled:j(),teamsEnabled:j(),defaultAgentId:O().nullable(),ownerPanelDisabled:j()});const Od=md.extend({logoUrl:E(),faviconUrl:E().nullable().optional()});P({branding:md.nullable()}),P({logoIconId:O(),faviconIconId:O(),logoUrl:E(),faviconUrl:E()}),P({id:E(),name:E(),owners:N(bd),userCount:A().int().nonnegative(),paidSeatCount:A().int().nonnegative(),seatCountsByType:yd,extraUsage:Sd,members:N(wd),allowedDomains:N(E()),advancedModels:Td,modelTierCustomizationEnabled:j(),chatbotSettings:Dd,subscriptionModelsAllowed:j(),subscriptionPoolAllowed:j(),managedAgentEnabled:j(),autopilotEnabled:j(),branding:Od.nullable(),createdAt:B(),updatedAt:B()}),P({allowedDomains:N(_d).max(50)}),P({enabled:j(),modelIds:N(E().trim().min(1).max(200)).max(100)}).extend(gu.shape),P({enabled:j()}).extend(gu.shape);const kd=P({id:O(),userId:O(),workspaceId:O(),year:A(),month:A(),totalCost:E(),poolCost:E().optional(),operationCount:A(),createdAt:B(),updatedAt:B(),user:P({id:O(),name:E(),email:E()}),budgetOverride:P({budget:E().nullable()}).nullable().optional(),poolAllowanceOverride:P({allowance:E().nullable()}).nullable().optional()});Ul.extend({search:E().trim().max(200).optional()}),P({monthlyUsages:N(kd),nextKey:E().optional()});const Ad=[`super_admin`,`operator`];R([`vertex/gemini-3.7-flash`,`vertex/gemini-3.5-flash`]),P({provider:z(`gemini`),model:E().min(1),estimatedHourlyCostUsd:A().nonnegative()}),P({model:E().min(1)});const jd=P({id:O(),email:E()});P({admins:N(P({id:O(),email:E(),role:R(Ad),createdBy:jd.nullable(),createdAt:B(),updatedAt:B()}))}),P({id:O(),role:R(Ad)}),P({email:xs(),role:R(Ad)}),P({adminId:O()}),P({email:xs(),name:E().trim().min(1).max(100).optional(),password:ju,workspaceId:O().optional(),role:Cd.default(`member`)});const Md=P({id:O(),email:E(),name:E(),createdAt:B()}),Nd=P({resetPasswordUrl:k(),resetPasswordExpiresAt:B()});Md.extend(Nd.shape),P({email:xs(),role:Cd.default(`member`),sendPasswordSetupEmail:j().default(!1)}),P({id:O(),email:E(),name:E(),role:E(),passwordSetupEmailSent:j()}),P({workspaceId:O(),userId:O()}),P({sendEmail:j().default(!1)}),Nd.extend({emailSentAt:B().nullable()}),P({role:Cd}),P({role:R(Ad)});const Pd=[`create`,`update`,`delete`],Fd=[`workspace`,`admin`,`user`,`extra_usage`,`marketplace_agent`,`marketplace_skill`,`azure_openai_deployment`,`connector`,`model_tier`,`announcement`],Id=[`success`,`failure`],Ld=P({adminId:O(),email:E().nullable(),isRemoved:j()}),Rd=P({ipAddress:E().optional(),details:L(E(),M()).optional(),errorMessage:E().optional()}),zd=P({id:O(),actor:Ld,action:R(Pd),resourceType:R(Fd),resourceId:E().nullable(),resourceLabel:E().nullable(),status:R(Id),metadata:Rd,createdAt:B()});Wl.extend({actorAdminId:O().optional(),action:R(Pd).optional(),resourceType:R(Fd).optional(),status:R(Id).optional(),workspaceSearch:E().trim().max(200).optional(),from:H.optional(),to:H.optional()}),P({items:N(zd),total:A().int().nonnegative()});const Bd=P({id:O(),workspaceId:O().nullable(),contentI18n:Ml,ctaUrl:E().nullable(),urgency:rl,category:nl,audience:Hl,channels:Nl,surface:Pl,mediaKey:E().nullable(),createdBy:O().nullable(),createdAt:B()});Wl.extend({surface:Pl.optional()}),P({items:N(Bd),total:A().int().nonnegative()}),P({announcementId:O()});const Vd={"user:read":`Read your profile information`,"user:write":`Update your profile and preferences`,"user:email":`Read your email address`,"workspaces:read":`List and read your workspaces`,"workspaces:write":`Create and modify workspaces`,"tasks:read":`Read your task history and messages`,"tasks:write":`Create and send messages`,"tasks:delete":`Delete your tasks`,"projects:read":`List and read your projects`,"projects:write":`Create and modify projects`,"agents:read":`List and read agents`,"agents:write":`Create and modify agents`,"agents:execute":`Execute agents via the external API`,"connectors:read":`List available connectors`,"connectors:write":`Configure connector settings`,"tools:read":`List available tools`,"tools:execute":`Execute tools`,"skills:read":`List and read skills`,"skills:write":`Create and modify skills`,"meetings:read":`Read meetings and recordings`,"meetings:write":`Create and modify meetings and recordings`,"notifications:read":`Read your notifications`,"notifications:write":`Manage notification state and device registrations`,"publishes:read":`List and read publish requests`,"publishes:write":`Submit, approve, reject, and revoke publishes`,"calendar:read":`Read your calendar accounts and events`,"calendar:write":`Manage calendar accounts and sync settings`,"schedules:read":`Read your schedules`,"schedules:write":`Create and modify schedules`,"subscriptions:read":`Read your personal subscription connections`,"subscriptions:write":`Connect and disconnect personal subscriptions`,"workflows:read":`Read your workflows and their runs`,"workflows:write":`Create, modify, and run workflows`,"chatbot:read":`List and read chatbot installations and configurations`,"chatbot:write":`Manage chatbot installations and configurations`,"llm:chat":`Call LLM models via the proxy endpoint`,offline_access:`Access your data when you are not present`},Hd=[`offline_access`,`user:email`],Ud=Object.keys(Vd).filter(e=>!Hd.includes(e));if(Ud.length===0)throw Error(`PAT_AVAILABLE_SCOPES must not be empty`);const Wd=R(Ud),Gd=P({id:O(),name:E(),tokenPrefix:E(),scopes:N(E()).nullable(),resources:P({agents:N(E()).optional(),skills:N(E()).optional(),connectors:N(E()).optional()}).nullable(),expiresAt:B().nullable(),lastUsedAt:B().nullable(),createdAt:B()});P({name:E().trim().min(1).max(200),expiresInDays:A().int().min(1).max(3650).nullable(),scopes:N(Wd).min(1).transform(e=>[...new Set(e)]).nullable().default(null)}).refine(e=>!e.scopes?.includes(`agents:execute`),{message:`issue execute keys via POST /agents/:agentId/apiKeys`,path:[`scopes`]});const Kd=P({token:E(),data:Gd});P({tokens:N(Gd)});var qd=e(t(((e,t)=>{(function(e){let n=`(0?\\d+|0x[a-f0-9]+)`,r={fourOctet:RegExp(`^${n}\\.${n}\\.${n}\\.${n}$`,`i`),threeOctet:RegExp(`^${n}\\.${n}\\.${n}$`,`i`),twoOctet:RegExp(`^${n}\\.${n}$`,`i`),longValue:RegExp(`^${n}$`,`i`)},i=RegExp(`^0[0-7]+$`,`i`),a=RegExp(`^0x[a-f0-9]+$`,`i`),o=`%[0-9a-z]{1,}`,s=`(?:[0-9a-f]+::?)+`,c={zoneIndex:RegExp(o,`i`),native:RegExp(`^(::)?(${s})?([0-9a-f]+)?(::)?(${o})?$`,`i`),deprecatedTransitional:RegExp(`^(?:::)(${n}\\.${n}\\.${n}\\.${n}(${o})?)$`,`i`),transitional:RegExp(`^((?:${s})|(?:::)(?:${s})?)${n}\\.${n}\\.${n}\\.${n}(${o})?$`,`i`)};function l(e,t){if(e.indexOf(`::`)!==e.lastIndexOf(`::`))return null;let n=0,r=-1,i=(e.match(c.zoneIndex)||[])[0],a,o;for(i&&(i=i.substring(1),e=e.replace(/%.+$/,``));(r=e.indexOf(`:`,r+1))>=0;)n++;if(e.substr(0,2)===`::`&&n--,e.substr(-2,2)===`::`&&n--,n>t)return null;for(o=t-n,a=`:`;o--;)a+=`0:`;return e=e.replace(`::`,a),e[0]===`:`&&(e=e.slice(1)),e[e.length-1]===`:`&&(e=e.slice(0,-1)),t=(function(){let t=e.split(`:`),n=[];for(let e=0;e<t.length;e++)n.push(parseInt(t[e],16));return n})(),{parts:t,zoneId:i}}function u(e,t,n,r){if(e.length!==t.length)throw Error(`ipaddr: cannot match CIDR for objects with different lengths`);let i=0,a;for(;r>0;){if(a=n-r,a<0&&(a=0),e[i]>>a!==t[i]>>a)return!1;r-=n,i+=1}return!0}function d(e){if(a.test(e))return parseInt(e,16);if(e[0]===`0`&&!isNaN(parseInt(e[1],10))){if(i.test(e))return parseInt(e,8);throw Error(`ipaddr: cannot parse ${e} as octal`)}return parseInt(e,10)}function f(e,t){for(;e.length<t;)e=`0${e}`;return e}let p={};p.IPv4=(function(){function e(e){if(e.length!==4)throw Error(`ipaddr: ipv4 octet count should be 4`);let t,n;for(t=0;t<e.length;t++)if(n=e[t],!(0<=n&&n<=255))throw Error(`ipaddr: ipv4 octet should fit in 8 bits`);this.octets=e}return e.prototype.SpecialRanges={unspecified:[[new e([0,0,0,0]),8]],broadcast:[[new e([255,255,255,255]),32]],multicast:[[new e([224,0,0,0]),4]],linkLocal:[[new e([169,254,0,0]),16]],loopback:[[new e([127,0,0,0]),8]],carrierGradeNat:[[new e([100,64,0,0]),10]],private:[[new e([10,0,0,0]),8],[new e([172,16,0,0]),12],[new e([192,168,0,0]),16]],reserved:[[new e([192,0,0,0]),24],[new e([192,0,2,0]),24],[new e([192,88,99,0]),24],[new e([198,18,0,0]),15],[new e([198,51,100,0]),24],[new e([203,0,113,0]),24],[new e([240,0,0,0]),4]],as112:[[new e([192,175,48,0]),24],[new e([192,31,196,0]),24]],amt:[[new e([192,52,193,0]),24]]},e.prototype.kind=function(){return`ipv4`},e.prototype.match=function(e,t){let n;if(t===void 0&&(n=e,e=n[0],t=n[1]),e.kind()!==`ipv4`)throw Error(`ipaddr: cannot match ipv4 address with non-ipv4 one`);return u(this.octets,e.octets,8,t)},e.prototype.prefixLengthFromSubnetMask=function(){let e=0,t=!1,n={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0},r,i,a;for(r=3;r>=0;--r)if(i=this.octets[r],i in n){if(a=n[i],t&&a!==0)return null;a!==8&&(t=!0),e+=a}else return null;return 32-e},e.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},e.prototype.toByteArray=function(){return this.octets.slice(0)},e.prototype.toIPv4MappedAddress=function(){return p.IPv6.parse(`::ffff:${this.toString()}`)},e.prototype.toNormalizedString=function(){return this.toString()},e.prototype.toString=function(){return this.octets.join(`.`)},e})(),p.IPv4.broadcastAddressFromCIDR=function(e){try{let t=this.parseCIDR(e),n=t[0].toByteArray(),r=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[],a=0;for(;a<4;)i.push(parseInt(n[a],10)|parseInt(r[a],10)^255),a++;return new this(i)}catch{throw Error(`ipaddr: the address does not have IPv4 CIDR format`)}},p.IPv4.isIPv4=function(e){return this.parser(e)!==null},p.IPv4.isValid=function(e){try{return new this(this.parser(e)),!0}catch{return!1}},p.IPv4.isValidCIDR=function(e){try{return this.parseCIDR(e),!0}catch{return!1}},p.IPv4.isValidFourPartDecimal=function(e){return!!(p.IPv4.isValid(e)&&e.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},p.IPv4.isValidCIDRFourPartDecimal=function(e){let t=e.match(/^(.+)\/(\d+)$/);return!p.IPv4.isValidCIDR(e)||!t?!1:p.IPv4.isValidFourPartDecimal(t[1])},p.IPv4.networkAddressFromCIDR=function(e){let t,n,r,i,a;try{for(t=this.parseCIDR(e),r=t[0].toByteArray(),a=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[],n=0;n<4;)i.push(parseInt(r[n],10)&parseInt(a[n],10)),n++;return new this(i)}catch{throw Error(`ipaddr: the address does not have IPv4 CIDR format`)}},p.IPv4.parse=function(e){let t=this.parser(e);if(t===null)throw Error(`ipaddr: string is not formatted like an IPv4 Address`);return new this(t)},p.IPv4.parseCIDR=function(e){let t;if(t=e.match(/^(.+)\/(\d+)$/)){let e=parseInt(t[2]);if(e>=0&&e<=32){let n=[this.parse(t[1]),e];return Object.defineProperty(n,"toString",{value:function(){return this.join(`/`)}}),n}}throw Error(`ipaddr: string is not formatted like an IPv4 CIDR range`)},p.IPv4.parser=function(e){let t,n,i;if(t=e.match(r.fourOctet))return(function(){let e=t.slice(1,6),r=[];for(let t=0;t<e.length;t++)n=e[t],r.push(d(n));return r})();if(t=e.match(r.longValue)){if(i=d(t[1]),i>4294967295||i<0)throw Error(`ipaddr: address outside defined range`);return(function(){let e=[],t;for(t=0;t<=24;t+=8)e.push(i>>t&255);return e})().reverse()}else if(t=e.match(r.twoOctet))return(function(){let e=t.slice(1,4),n=[];if(i=d(e[1]),i>16777215||i<0)throw Error(`ipaddr: address outside defined range`);return n.push(d(e[0])),n.push(i>>16&255),n.push(i>>8&255),n.push(i&255),n})();else if(t=e.match(r.threeOctet))return(function(){let e=t.slice(1,5),n=[];if(i=d(e[2]),i>65535||i<0)throw Error(`ipaddr: address outside defined range`);return n.push(d(e[0])),n.push(d(e[1])),n.push(i>>8&255),n.push(i&255),n})();else return null},p.IPv4.subnetMaskFromPrefixLength=function(e){if(e=parseInt(e),e<0||e>32)throw Error(`ipaddr: invalid IPv4 prefix length`);let t=[0,0,0,0],n=0,r=Math.floor(e/8);for(;n<r;)t[n]=255,n++;return r<4&&(t[r]=2**(e%8)-1<<8-e%8),new this(t)},p.IPv6=(function(){function e(e,t){let n,r;if(e.length===16)for(this.parts=[],n=0;n<=14;n+=2)this.parts.push(e[n]<<8|e[n+1]);else if(e.length===8)this.parts=e;else throw Error(`ipaddr: ipv6 part count should be 8 or 16`);for(n=0;n<this.parts.length;n++)if(r=this.parts[n],!(0<=r&&r<=65535))throw Error(`ipaddr: ipv6 part should fit in 16 bits`);t&&(this.zoneId=t)}return e.prototype.SpecialRanges={unspecified:[new e([0,0,0,0,0,0,0,0]),128],linkLocal:[new e([65152,0,0,0,0,0,0,0]),10],multicast:[new e([65280,0,0,0,0,0,0,0]),8],loopback:[new e([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new e([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new e([0,0,0,0,0,65535,0,0]),96],discard:[new e([256,0,0,0,0,0,0,0]),64],rfc6145:[new e([0,0,0,0,65535,0,0,0]),96],rfc6052:[new e([100,65435,0,0,0,0,0,0]),96],"6to4":[new e([8194,0,0,0,0,0,0,0]),16],teredo:[new e([8193,0,0,0,0,0,0,0]),32],benchmarking:[new e([8193,2,0,0,0,0,0,0]),48],amt:[new e([8193,3,0,0,0,0,0,0]),32],as112v6:[[new e([8193,4,274,0,0,0,0,0]),48],[new e([9760,79,32768,0,0,0,0,0]),48]],deprecated:[new e([8193,16,0,0,0,0,0,0]),28],orchid2:[new e([8193,32,0,0,0,0,0,0]),28],droneRemoteIdProtocolEntityTags:[new e([8193,48,0,0,0,0,0,0]),28],reserved:[[new e([8193,0,0,0,0,0,0,0]),23],[new e([8193,3512,0,0,0,0,0,0]),32]]},e.prototype.isIPv4MappedAddress=function(){return this.range()===`ipv4Mapped`},e.prototype.kind=function(){return`ipv6`},e.prototype.match=function(e,t){let n;if(t===void 0&&(n=e,e=n[0],t=n[1]),e.kind()!==`ipv6`)throw Error(`ipaddr: cannot match ipv6 address with non-ipv6 one`);return u(this.parts,e.parts,16,t)},e.prototype.prefixLengthFromSubnetMask=function(){let e=0,t=!1,n={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0},r,i;for(let a=7;a>=0;--a)if(r=this.parts[a],r in n){if(i=n[r],t&&i!==0)return null;i!==16&&(t=!0),e+=i}else return null;return 128-e},e.prototype.range=function(){return p.subnetMatch(this,this.SpecialRanges)},e.prototype.toByteArray=function(){let e,t=[],n=this.parts;for(let r=0;r<n.length;r++)e=n[r],t.push(e>>8),t.push(e&255);return t},e.prototype.toFixedLengthString=function(){let e=(function(){let e=[];for(let t=0;t<this.parts.length;t++)e.push(f(this.parts[t].toString(16),4));return e}).call(this).join(`:`),t=``;return this.zoneId&&(t=`%${this.zoneId}`),e+t},e.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw Error(`ipaddr: trying to convert a generic ipv6 address to ipv4`);let e=this.parts.slice(-2),t=e[0],n=e[1];return new p.IPv4([t>>8,t&255,n>>8,n&255])},e.prototype.toNormalizedString=function(){let e=(function(){let e=[];for(let t=0;t<this.parts.length;t++)e.push(this.parts[t].toString(16));return e}).call(this).join(`:`),t=``;return this.zoneId&&(t=`%${this.zoneId}`),e+t},e.prototype.toRFC5952String=function(){let e=/((^|:)(0(:|$)){2,})/g,t=this.toNormalizedString(),n=0,r=-1,i;for(;i=e.exec(t);)i[0].length>r&&(n=i.index,r=i[0].length);return r<0?t:`${t.substring(0,n)}::${t.substring(n+r)}`},e.prototype.toString=function(){return this.toRFC5952String()},e})(),p.IPv6.broadcastAddressFromCIDR=function(e){try{let t=this.parseCIDR(e),n=t[0].toByteArray(),r=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[],a=0;for(;a<16;)i.push(parseInt(n[a],10)|parseInt(r[a],10)^255),a++;return new this(i)}catch(e){throw Error(`ipaddr: the address does not have IPv6 CIDR format (${e})`)}},p.IPv6.isIPv6=function(e){return this.parser(e)!==null},p.IPv6.isValid=function(e){if(typeof e==`string`&&e.indexOf(`:`)===-1)return!1;try{let t=this.parser(e);return new this(t.parts,t.zoneId),!0}catch{return!1}},p.IPv6.isValidCIDR=function(e){if(typeof e==`string`&&e.indexOf(`:`)===-1)return!1;try{return this.parseCIDR(e),!0}catch{return!1}},p.IPv6.networkAddressFromCIDR=function(e){let t,n,r,i,a;try{for(t=this.parseCIDR(e),r=t[0].toByteArray(),a=this.subnetMaskFromPrefixLength(t[1]).toByteArray(),i=[],n=0;n<16;)i.push(parseInt(r[n],10)&parseInt(a[n],10)),n++;return new this(i)}catch(e){throw Error(`ipaddr: the address does not have IPv6 CIDR format (${e})`)}},p.IPv6.parse=function(e){let t=this.parser(e);if(t.parts===null)throw Error(`ipaddr: string is not formatted like an IPv6 Address`);return new this(t.parts,t.zoneId)},p.IPv6.parseCIDR=function(e){let t,n,r;if((n=e.match(/^(.+)\/(\d+)$/))&&(t=parseInt(n[2]),t>=0&&t<=128))return r=[this.parse(n[1]),t],Object.defineProperty(r,"toString",{value:function(){return this.join(`/`)}}),r;throw Error(`ipaddr: string is not formatted like an IPv6 CIDR range`)},p.IPv6.parser=function(e){let t,n,r,i,a,o;if(r=e.match(c.deprecatedTransitional))return this.parser(`::ffff:${r[1]}`);if(c.native.test(e))return l(e,8);if((r=e.match(c.transitional))&&(o=r[6]||``,t=r[1],r[1].endsWith(`::`)||(t=t.slice(0,-1)),t=l(t+o,6),t.parts)){for(a=[parseInt(r[2]),parseInt(r[3]),parseInt(r[4]),parseInt(r[5])],n=0;n<a.length;n++)if(i=a[n],!(0<=i&&i<=255))return null;return t.parts.push(a[0]<<8|a[1]),t.parts.push(a[2]<<8|a[3]),{parts:t.parts,zoneId:t.zoneId}}return null},p.IPv6.subnetMaskFromPrefixLength=function(e){if(e=parseInt(e),e<0||e>128)throw Error(`ipaddr: invalid IPv6 prefix length`);let t=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],n=0,r=Math.floor(e/8);for(;n<r;)t[n]=255,n++;return r<16&&(t[r]=2**(e%8)-1<<8-e%8),new this(t)},p.fromByteArray=function(e){let t=e.length;if(t===4)return new p.IPv4(e);if(t===16)return new p.IPv6(e);throw Error(`ipaddr: the binary input is neither an IPv6 nor IPv4 address`)},p.isValid=function(e){return p.IPv6.isValid(e)||p.IPv4.isValid(e)},p.isValidCIDR=function(e){return p.IPv6.isValidCIDR(e)||p.IPv4.isValidCIDR(e)},p.parse=function(e){if(p.IPv6.isValid(e))return p.IPv6.parse(e);if(p.IPv4.isValid(e))return p.IPv4.parse(e);throw Error(`ipaddr: the address has neither IPv6 nor IPv4 format`)},p.parseCIDR=function(e){try{return p.IPv6.parseCIDR(e)}catch{try{return p.IPv4.parseCIDR(e)}catch{throw Error(`ipaddr: the address has neither IPv6 nor IPv4 CIDR format`)}}},p.process=function(e){let t=this.parse(e);return t.kind()===`ipv6`&&t.isIPv4MappedAddress()?t.toIPv4Address():t},p.subnetMatch=function(e,t,n){let r,i,a,o;for(i in n??=`unicast`,t)if(Object.prototype.hasOwnProperty.call(t,i)){for(a=t[i],a[0]&&!(a[0]instanceof Array)&&(a=[a]),r=0;r<a.length;r++)if(o=a[r],e.kind()===o[0].kind()&&e.match.apply(e,o))return i}return n},t!==void 0&&t.exports?t.exports=p:e.ipaddr=p})(e)}))(),1);function Jd(e){return qd.default.isValid(e)&&qd.default.parse(e).range()===`unicast`}function Yd(e){try{let{hostname:t}=new URL(e),n=t.toLowerCase().replace(/\.$/u,``);if(n===`localhost`||n.endsWith(`.localhost`))return!1;let r=n.startsWith(`[`)&&n.endsWith(`]`)?n.slice(1,-1):n;return!qd.default.isValid(r)||Jd(r)}catch{return!1}}const Xd=k().min(1).max(4096).refine(e=>{try{return[`http:`,`https:`].includes(new URL(e).protocol)}catch{return!1}},{message:`Only HTTP/HTTPS protocols are allowed`}).refine(Yd,{message:`Access to private network addresses is not allowed`}),Zd=R([`queued`,`running`,`completed`,`failed`]),Qd=P({tool:E(),connectorId:E().optional(),summary:E(),status:E()});P({executionId:O(),status:Zd,agentVersionId:O().optional(),output:P({text:E(),structured:M().optional()}).optional(),actions:N(Qd).optional(),cost:A().optional()}),P({executionId:O(),status:z(`running`)}),P({input:E().min(1).max(1e5),agentVersionId:O().optional(),webhookUrl:Xd.optional(),metadata:L(E().max(100),E().max(1e3)).refine(e=>Object.keys(e).length<=20,{message:`metadata supports at most 20 keys`}).optional()}),P({requestsPerMinute:A().int().min(1).max(1e4).nullable()}),P({requestsPerMinute:A().int().nullable()}),P({items:N(Gd.pick({id:!0,name:!0,createdAt:!0,lastUsedAt:!0}))}),P({name:E().trim().min(1).max(200),expiresInDays:A().int().min(1).max(3650).nullable()}),Kd.extend({webhookSecret:E()});const q={AGENT:`agent`,ASSET:`asset`,AUDIT_LOG:`audit_log`,CHART:`chart`,IMAGE_GENERATION:`image_generation`,MEETING:`meeting`,MEMORY:`memory`,PROJECT:`project`,SANDBOX:`sandbox`,SCHEDULE:`schedule`,SKILL:`skill`,SKILL_MANAGEMENT:`skill_management`,SLIDES:`slides`,SUBAGENT:`subagent`,TASK:`task`,WEB_SEARCH:`web_search`,WORKFLOW:`workflow`};Object.values(q);const $d=[q.WEB_SEARCH,q.IMAGE_GENERATION],J={SANDBOX:`sandbox`,MULTITASKING:`multitasking`,HISTORY:`history`,CREATION:`creation`,PROJECT:`project`,WEB_SEARCH:`web_search`,SCHEDULE:`schedule`,AGENTS_AND_SKILLS:`agents_and_skills`,AUDIT_LOG:`audit_log`},ef=Object.values(J);J.SANDBOX,q.SANDBOX,q.SKILL,J.MULTITASKING,q.SUBAGENT,q.WORKFLOW,J.HISTORY,q.TASK,q.MEETING,q.MEMORY,J.CREATION,q.ASSET,q.SLIDES,q.IMAGE_GENERATION,J.PROJECT,q.PROJECT,q.ASSET,J.WEB_SEARCH,q.WEB_SEARCH,J.SCHEDULE,q.SCHEDULE,J.AGENTS_AND_SKILLS,q.AGENT,q.SKILL_MANAGEMENT,J.AUDIT_LOG,q.AUDIT_LOG;const tf=lc(R(ef),j());function nf(e,t){return e===void 0?!0:e[t]??t!==J.AUDIT_LOG}function rf(e){return Object.fromEntries(ef.map(t=>[t,e.includes(t)]))}function af(e){return ef.filter(t=>nf(e,t))}const of=Object.freeze(rf([J.SANDBOX,J.AGENTS_AND_SKILLS]));q.CHART;const sf=R([`create`,`user_edit`,`agent_tool`,`restore`,`marketplace_install`,`publish`,`migration`]),cf=P({id:O(),versionNumber:A().int(),origin:sf,note:E().nullable(),restoredFromVersionNumber:A().int().nullable(),createdBy:P({id:O(),name:E(),image:E().nullable()}).nullable(),createdAt:B()});P({versions:N(cf.extend({publishedTargets:P({workspace:j(),teams:N(P({id:O(),name:E()}))})})),nextVersionNumber:A().int().nullable()});const lf=P({id:O(),name:E(),available:j()}),uf=cf.extend({name:E(),description:E(),systemPrompt:E(),modelId:E(),connectorIds:N(O()),capabilities:tf,conversationStarters:N(E()),tools:N(E()).nullable(),iconId:O().nullable(),iconUrl:E().optional(),skillIds:N(O()),delegatableAgentIds:N(O()),connectors:N(lf),skills:N(lf),delegatableAgents:N(lf)});P({workspaceId:O(),agentId:O(),versionId:O()}),P({expectedHeadVersionId:O(),dryRun:j().optional(),modelId:fu.optional(),omitConnectorIds:N(O()).optional(),omitSkillIds:N(O()).optional(),omitDelegatableAgentIds:N(O()).optional(),omitTools:N(E()).optional(),note:E().trim().max(500).optional()}),P({issues:P({modelUnavailable:j(),connectorIds:N(O()),skillIds:N(O()),delegatableAgentIds:N(O()),tools:N(E())}).optional(),version:P({id:O(),versionNumber:A().int().positive()}).nullable()});const df={PENDING:`pending`,APPROVED:`approved`,REJECTED:`rejected`,PENDING_UPDATE:`pending_update`};df.APPROVED,df.PENDING_UPDATE,df.PENDING,df.PENDING_UPDATE;const ff={CONNECTOR:`connector`,AGENT:`agent`,SKILL:`skill`,MEETING:`meeting`};({...ff}),Object.values(ff);const pf={OWNER:`owner`,MANAGER:`manager`,MEMBER:`member`},mf={VISIBLE:`visible`,HIDDEN:`hidden`},hf={OWNER:`owner`,EDITOR:`editor`,VIEWER:`viewer`},gf=R([hf.OWNER,hf.EDITOR,hf.VIEWER]);hf.OWNER,hf.EDITOR,hf.VIEWER;const _f={USER:`user`,TEAM:`team`},vf=R([_f.USER,_f.TEAM]),Y=gf.nullable(),yf={invalidInput:`invalid_input`,staleRef:`stale_ref`,noMatch:`no_match`,ambiguousLocator:`ambiguous_locator`,resolutionFailed:`resolution_failed`,permissionDenied:`permission_denied`,userCancelled:`user_cancelled`,navigationFailed:`navigation_failed`,timeout:`timeout`,sensitiveContext:`sensitive_context`,backendFailure:`backend_failure`};yf.permissionDenied,yf.userCancelled,yf.sensitiveContext;const bf={DIRECT:`direct`,HINTED:`hinted`};bf.DIRECT,bf.HINTED,new TextEncoder;function xf(e,t){return e.map(e=>({...e,disclosureMode:e.disclosureMode??t}))}const Sf=`meta_tool__`,Cf={SEARCH_TOOLS:`${Sf}search_tools`,GET_TOOL_SCHEMAS:`${Sf}get_tool_schemas`,EXECUTE_TOOL:`${Sf}execute_tool`};function wf(e,t){if(e===Cf.EXECUTE_TOOL)return we(t)&&typeof t.toolName==`string`?t.toolName:void 0}function Tf(e,t){return e===Cf.EXECUTE_TOOL?wf(e,t):e}const Ef=`usage_audit__`,Df={GET_DAILY_SUMMARY:`${Ef}get_daily_summary`,GET_MONTHLY_COSTS:`${Ef}get_monthly_costs`,GET_USER_BREAKDOWN:`${Ef}get_user_breakdown`,GET_USER_DAILY_TREND:`${Ef}get_user_daily_trend`,FIND_USAGE_DROPS:`${Ef}find_usage_drops`,FIND_STALE_SCHEDULES:`${Ef}find_stale_schedules`,GET_SCHEDULE_TOOL_CALLS:`${Ef}get_schedule_tool_calls`,GET_COST_RANKING:`${Ef}get_cost_ranking`,GET_WORKSPACE_TOTALS:`${Ef}get_workspace_totals`},Of=`subagent__`,kf={SPAWN:`${Of}spawn`,GET_RUN:`${Of}get_run`},Af=[`browser__`,`task__`,`project__`,`asset__`,`agent__`,`background__`,`connector__`,`filesystem__`,`image__`,`meeting__`,`memory__`,`sandbox__`,`schedule__`,`skill__`,`site__`,`slides__`,`tool_result__`,Sf,Ef,`audit_log__`,Of,`ui__`,`web__`,`workflow__`].map(e=>e.slice(0,-2)),jf=[`updatedAt`,`name`],Mf={BUILT_IN:`built_in`,CUSTOM_SOURCE_CODE:`custom_source_code`,CUSTOM_REMOTE_URL:`custom_remote_url`},Nf=[Mf.BUILT_IN,Mf.CUSTOM_SOURCE_CODE,Mf.CUSTOM_REMOTE_URL],Pf=R([`pat`,`oauth`,`dcard-dual`,`google-iap`,`credentials`,`mcp-oauth`,`composio`]),Ff=/^[a-z][a-z0-9-]*$/,If=[`pat`,`credentials`],Lf=P({key:E().regex(Ff).max(32),label:E().min(1).max(50),description:E().max(200).optional(),placeholder:E().max(100).optional(),required:j()}),Rf=N(Lf).max(10).refine(e=>new Set(e.map(e=>e.key)).size===e.length,{message:`config field keys must be unique`});L(E().regex(Ff).max(32),E().min(1).max(256).regex(/^[\u0020-\u007E]*$/,`must be printable ASCII`));const zf={pat:!1,oauth:!0,"dcard-dual":!0,"google-iap":!0,credentials:!1,"mcp-oauth":!0,composio:!0};function Bf(e){let t=Pf.safeParse(e);return t.success&&zf[t.data]}const Vf=R([`pending`,`running`,`failed`]),Hf=R([`pending`,`in_review`,`approved`,`rejected`]),Uf=P({name:E(),isMe:j()}),Wf=P({id:E(),name:E(),configured:j(),builtIn:j()}),Gf=P({type:Pf,tutorial:E().optional(),configFields:N(Lf).optional(),tokenless:j().optional().describe(`PAT connectors whose connect step is a pure opt-in: the client submits a constant token without asking the user for input`),provider:Wf.optional().describe(`The OAuth provider, only present for OAuth authorization`)});P({iconId:O(),url:k()});const Kf=P({id:O(),name:E(),description:E(),provider:E().nullable().describe(`The provider of the connector, either EntryDesk (for built-in connectors) or Workspace name`),author:P(Uf.shape).optional().describe(`The author of the connector, not available for built-in connectors`),connected:j().describe(`Whether the user has connected the connector to the workspace`),iconUrl:E().optional().describe(`The URL of the connector icon`),team:P({id:O(),name:E()}).optional().describe(`The team this connector is published to, only present when createdBy is team`),hasPermission:j().describe(`Whether the user has permission to use the connector`),added:j().describe(`Whether the connector has a workspace_connectors record. Without one it has no tool registry, so the per-connector tool endpoints answer 404`),hasWorkspaceToken:j().describe(`Whether the workspace has a workspace token configured for this connector`),tokenMode:R([`personal`,`workspace`]).describe(`Token mode: personal (each member connects) or workspace (admin provides shared token)`),reviewStatus:Hf.optional().describe(`The review status of the connector, not available for built-in connectors`),authorization:Gf.optional(),versionNumber:A().int().nullable(),myRole:Y,createdAt:B(),updatedAt:B()});P({connectors:N(Kf),nextKey:E().optional()}),P({connectors:N(Kf.extend({preferredForWorkItems:j().optional(),workItemCapabilities:P({read:j(),create:j(),update:j()})})),nextKey:E().optional()}),Ul.extend({reviewStatus:Hf.optional().describe(`Filter connectors by review status (only applies to custom connectors)`),includeNotAdded:F([z(`true`).transform(()=>!0),z(`false`).transform(()=>!1),j()]).optional().describe(`Include connectors that have not been added to the workspace (no workspace_connectors record)`),type:R(Nf).optional().describe(`Filter connectors by type`),sortBy:R(jf).optional()}).refine(e=>!(e.type===Mf.BUILT_IN&&e.reviewStatus),{message:`reviewStatus parameter is not applicable when type is built_in`,path:[`reviewStatus`]}),Ul.extend({createdBy:R([`workspace`,`team`,`me`]).optional(),teamId:O().optional(),connectionStatus:R([`all`,`connected`]).optional().default(`all`).describe(`Filter connectors by connection status`),strict:F([z(`true`).transform(()=>!0),z(`false`).transform(()=>!1),j()]).optional().default(!0).describe(`Whether to filter out connectors that the user does not have permission to use`),search:E().trim().max(200).optional().describe(`Search connectors by name using SQL LIKE query`),connectorIds:F([O(),N(O())]).optional().transform(e=>{if(e!==void 0)return Array.isArray(e)?e:[e]}).describe(`Filter connectors by specific IDs`),sortBy:R(jf).optional(),editableFirst:Rc().optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}).refine(...Gl);const qf=P({id:E(),name:E()}),Jf=P({id:O()}).nullable();P({connectors:N(P({id:O(),type:R(Nf),name:E(),description:E(),provider:E().describe(`The provider of the connector, either EntryDesk (for built-in connectors) or Workspace name`),iconUrl:E().optional().describe(`The URL of the connector icon`),author:Uf.optional().describe(`The author of the connector, not available for built-in connectors`),roles:N(qf).describe(`The roles of the user who has access to the connector`),executionStatus:Vf.optional().describe(`The execution status of the connector, not available for built-in connectors`),reviewStatus:Hf.optional().describe(`The review status of the connector, not available for built-in connectors`),hasWorkspaceToken:j().describe(`Whether the workspace has a workspace token configured for this connector`),tokenMode:R([`personal`,`workspace`]).describe(`Token mode: personal (each member connects) or workspace (admin provides shared token)`),added:j().describe(`Whether the connector has been added to the workspace`),toolNamespace:E().optional().describe(`The namespace of the tool name, available when the connector is added to the workspace`),toolPrefix:E().optional().describe(`Deprecated alias for toolNamespace`),authorization:Gf.optional().describe(`The authorization of the connector.`),publish:Jf,myRole:Y,createdAt:B(),updatedAt:B()})),nextKey:E().optional()});const Yf=R([`pat`,`oauth`,`dcard-dual`,`google-iap`,`credentials`,`mcp-oauth`]),Xf={pat:!1,oauth:!0,"dcard-dual":!0,"google-iap":!0,credentials:!1,"mcp-oauth":!1};function Zf(e){let t=Yf.safeParse(e);return t.success&&Xf[t.data]}const Qf=P({type:Yf,provider:E().optional(),scopes:N(E()).optional(),tutorial:E().optional(),configFields:N(Lf).optional()}),$f=P({type:Yf,provider:E().optional(),scopes:N(E()).optional(),tutorial:k().max(100).optional(),configFields:Rf.optional()}).refine(e=>!Zf(e.type)||e.provider!==void 0&&e.provider.trim().length>0&&e.scopes!==void 0&&e.scopes.length>0,{message:`provider and at least one scope are required when type is oauth, google-iap, or dcard-dual`,path:[`provider`,`scopes`]}).refine(e=>e.type!==`dcard-dual`||e.provider!==`googleIAP`,{message:`dcard-dual requires a second provider other than googleIAP`,path:[`provider`]}).refine(e=>!(e.tutorial&&![`pat`,`credentials`].includes(e.type)),{message:`tutorial is only allowed for PAT and CREDENTIALS authorization types`,path:[`tutorial`]}).refine(e=>!(e.configFields?.length&&!If.some(t=>t===e.type)),{message:`configFields is only allowed for PAT and CREDENTIALS authorization types`,path:[`configFields`]}),ep=/^[A-Za-z0-9\s]+$/u,tp=[`empty`,`too_long`,`invalid_characters`,`consecutive_spaces`,`untrimmed`],np={empty:e=>e.length===0,too_long:e=>e.length>50,invalid_characters:e=>!ep.test(e),consecutive_spaces:e=>/\s{2,}/u.test(e),untrimmed:e=>e.trim()!==e},rp={empty:`must not be empty`,too_long:`must be at most 50 characters`,invalid_characters:`must use only letters, digits and spaces`,consecutive_spaces:`must not contain consecutive spaces`,untrimmed:`must not start or end with whitespace`};function ip(e){return tp.find(t=>np[t](e))}const ap=/^[a-z][a-z0-9_-]*$/u,op=[`empty`,`too_long`,`invalid_characters`,`consecutive_underscores`,`trailing_underscore`,`reserved`],sp={empty:e=>e.length===0,too_long:e=>e.length>32,invalid_characters:e=>!ap.test(e),consecutive_underscores:e=>e.includes(`__`),trailing_underscore:e=>e.endsWith(`_`),reserved:e=>Af.includes(e)},cp={empty:`must not be empty`,too_long:`must be at most 32 characters`,invalid_characters:`must start with a lowercase letter and use only lowercase letters, digits, hyphen and underscore`,consecutive_underscores:`must not contain consecutive underscores`,trailing_underscore:`must not end with an underscore`,reserved:`is reserved for a built-in EntryDesk tool namespace`};function lp(e){return op.find(t=>sp[t](e))}function up(){return E().superRefine((e,t)=>{let n=lp(e);n&&t.addIssue({code:`custom`,message:`Tool namespace "${e}" ${cp[n]}`})})}function dp(e){let t=e.toLowerCase().replaceAll(/[^a-z0-9]+/gu,`_`).replace(/^_/u,``).replace(/_$/u,``);return/^[0-9]/u.test(t)?`c_${t}`:t}const fp=R([`streamable_http`,`sse`]);P({id:O(),type:z(Mf.CUSTOM_REMOTE_URL),name:E(),description:E(),url:E(),transport:fp,toolNamespace:E(),toolPrefix:E().describe(`Deprecated alias for toolNamespace`),author:Uf.optional(),authorization:Qf.optional(),executionStatus:Vf.optional(),reviewStatus:Hf.optional(),createdAt:B(),updatedAt:B(),iconId:O().nullable().optional(),iconUrl:E().optional(),publish:P({id:O()}).nullable(),myRole:Y}),P({id:O(),type:z(Mf.CUSTOM_REMOTE_URL),name:E(),description:E(),transport:fp,url:E(),executionStatus:Vf,reviewStatus:Hf,toolNamespace:E(),toolPrefix:E().describe(`Deprecated alias for toolNamespace`),createdAt:B(),updatedAt:B()});function pp(e){return zc(e=>{if(!we(e))return e;let{toolPrefix:t,...n}=e;return t===void 0||`toolNamespace`in n?e:{...n,toolNamespace:t}},e)}pp(P({type:z(Mf.CUSTOM_REMOTE_URL),name:E().min(1),description:E().min(1),transport:fp,url:k(),toolNamespace:up().describe(`The tool namespace for the connector. Also accepted as toolPrefix.`),authorization:$f.optional().nullable(),iconId:O().nullable().optional()}));const mp=R([ff.CONNECTOR,ff.AGENT,ff.SKILL]),hp=[df.PENDING,df.APPROVED,df.REJECTED,df.PENDING_UPDATE],gp=P({id:O(),name:E()}),_p=P({id:O(),type:mp,name:E(),description:E().optional(),connectorType:R(Nf).optional(),tokenMode:R([`personal`,`workspace`]).optional(),authorization:Gf.optional(),iconUrl:E().optional(),provider:E().optional()});P({rejectReason:E().trim().max(500).optional()}),P({search:E().trim().max(200).optional(),status:F([R(hp),N(R(hp)).min(1)]).optional(),resourceType:mp.optional(),limit:V().int().min(1).max(100).default(20),nextKey:E().optional()});const vp=P({id:O(),name:E(),versionNumber:A().int().nullable(),versionId:O().nullable(),publishId:O(),status:R(hp),rejectReason:E().nullable()}),yp=P({workspace:P({published:j(),versionNumber:A().int().nullable(),versionId:O().nullable(),publishId:O().nullable(),status:R(hp).nullable(),rejectReason:E().nullable()}),teams:N(vp)}),bp=P({type:E(),provider:E().optional(),scopes:N(E()).optional(),tutorial:E().optional()}),xp=P({type:z(`connector`),id:O(),name:E(),description:E(),iconUrl:E().optional(),toolPrefix:E(),url:E(),transport:E(),authorization:bp.optional()}),Sp=P({id:O(),name:E(),hasPermission:j()}),Cp=P({id:E(),name:E(),available:j()}),wp=P({previous:uf,current:uf}),Tp=P({type:z(`agent`),id:O(),name:E(),description:E(),iconUrl:E().optional(),systemPrompt:E(),conversationStarters:N(E()),model:Cp,connectors:N(Sp),capabilities:tf,diff:wp.optional(),changeSummary:E().nullable().optional()}),Ep=P({id:O(),description:E(),createdBy:P({id:O(),name:E()}),createdAt:B()}),Dp=Ep.extend({name:E(),downloadUrl:E(),contentChanged:j()});I(`type`,[xp,Tp,P({type:z(`skill`),id:O(),name:E(),description:E(),currentVersion:Ep,downloadUrl:E(),previousVersion:Dp.optional(),changeSummary:E().nullable().optional()})]);const Op=[`private`,`review`,`live`,`rejected`],kp=P({private:A().int().nonnegative(),review:A().int().nonnegative(),live:A().int().nonnegative(),rejected:A().int().nonnegative()}),Ap=P({id:O(),versionNumber:A().int().positive()});function jp(e){let t=e;for(;typeof t==`string`;)try{let e=JSON.parse(t);if(e===t)break;t=e}catch{break}return t}const Mp=e=>zc(jp,F([e,E()])),Np=e=>zc(jp,e),Pp=P({name:E().describe(`Identifier: file path, resource id, URL, or title.`),detail:E().describe(`What it is plus what was done to it or why it matters — detailed enough to act on again.`)});P({overview:E().describe(`1–3 sentences: what this session is about and where it stands now.`),userRequests:Mp(N(E())).describe(`Every distinct thing the user has asked for, in their own framing, oldest → newest. Never drop an ask — even a completed one (record completion in state). Merge near-duplicate or sub-divided asks into a single entry so this list stays bounded across repeated compactions.`),keyFacts:Mp(N(E())).describe(`Durable facts, decisions made, concepts/constraints discovered, and errors with their fixes. Omit facts later turns made obsolete.`),artifacts:Mp(N(Pp)).optional().default([]).describe(`Concrete things touched that may need further action: files, resources, documents, datasets, URLs, IDs.`),constraints:Mp(P({preferences:N(E()).describe(`How the user wants output: format, tone, language, style.`),negativeConstraints:N(E()).describe(`What the user explicitly said NOT to do.`)})).describe(`What the user wants and explicitly does not want.`),state:Mp(P({status:R([`pending_input`,`in_progress`,`completed`]).describe(`Overall task state at the point of truncation.`),currentWork:E().describe(`What was actively in progress at truncation, detailed enough to resume immediately.`),nextStep:E().describe(`The single most logical next action. Empty only if genuinely blocked or awaiting the user.`),pendingQuestions:N(E()).describe(`Questions the agent still needs answered to proceed.`)})).describe(`Resumption state — how to pick the work back up seamlessly.`)});const Fp=1500,Ip=2e3;function Lp(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function Rp(e){return[...new Set(e)].slice(0,12)}function zp(e){let t=new Set;return e.filter(e=>{let n=JSON.stringify([e.value,e.context]);return t.has(n)?!1:(t.add(n),!0)}).slice(0,12)}const Bp=N(E().overwrite(e=>Lp(e,500)).max(500)).overwrite(Rp).max(12),Vp=N(P({value:E().overwrite(e=>Lp(e,Ip)).max(Ip).describe(`Exact identifier, path, URL, value, resource id, or title.`),context:E().overwrite(e=>Lp(e,500)).max(500).describe(`Why this reference still matters for the continuation.`)})).overwrite(zp).max(12);P({version:A().min(2).max(2).transform(()=>2),overview:E().overwrite(e=>Lp(e,Fp)).max(Fp).describe(`A concise orientation to the current conversation and active objective.`),userRequests:Np(Bp).describe(`Active or still-relevant user requests. Merge repetitions and omit superseded requests whose effects are preserved elsewhere.`),keyFacts:Np(Bp).describe(`Facts and observations whose loss would change later reasoning. Preserve uncertainty and exact values.`),decisions:Np(Bp).describe(`Still-relevant accepted, rejected, superseded, or abandoned decisions with enough rationale to apply them consistently and avoid repeating discarded approaches.`),reportedProgress:Np(Bp).describe(`Relevant work, observations, and outcomes reported in the conversation. Preserve who or what reported uncertain claims; narration is not runtime-verified progress.`),references:Np(Vp).describe(`Exact identifiers and artifacts that remain necessary for continuation.`),constraints:Np(Bp).describe(`Still-governing requirements, preferences, and prohibitions.`),currentFocus:E().overwrite(e=>Lp(e,Fp)).max(Fp).describe(`The current conversational focus, not a lifecycle state.`),openQuestions:Np(Bp).describe(`Unresolved questions, dependencies, or user decisions that still matter.`),continuationHint:E().overwrite(e=>Lp(e,Fp)).max(Fp).describe(`Advisory conversational guidance only. It never grants permission or defines an executable runtime transition.`)});const Hp=P({key:E(),value:E()});P({summary:E(),sessionMeta:Mp(P({currentIntent:E()})),knowledgeBase:Mp(P({entities:N(Hp),factsEstablished:N(E())})),userConstraints:Mp(P({formatPreferences:E(),toneStyle:E(),negativeConstraints:N(E())})),workflowStatus:Mp(P({lastAction:E(),pendingQuestions:N(E())}))});const Up=R([`pending`,`ready`,`failed`]),Wp=R([`too_large`,`pdf_encrypted`,`pdf_unreadable`,`unsupported`,`conversion_failed`,`model_unavailable`,`extraction_failed`,`sensitive_excluded`,`sensitivity_check_unavailable`,`unknown`]),Gp=2e3,Kp=P({id:O(),projectId:O(),fileId:O(),name:E(),title:E().nullable(),mimeType:E(),size:A().int().nonnegative(),url:E().nullable(),description:E().nullable(),knowledgeIssue:Wp.nullable().optional(),addedBy:O(),versionNumber:A().int().positive(),createdAt:B(),updatedAt:B()}),qp=P({id:O(),projectId:O(),url:E(),title:E().nullable(),status:Up,description:E().nullable(),fetchError:E().nullable(),lastFetchedAt:B().nullable(),addedBy:O(),createdAt:B(),updatedAt:B()}),Jp=E().max(Gp),Yp=P({description:Jp.optional()});Yp.extend({fileId:O()});const Xp=`project_file_version_conflict`,Zp=P({expectedVersionNumber:V().int().positive()}),Qp=P({projectFileId:O(),fileName:E(),mimeType:E(),size:A().int().nonnegative(),url:E().nullable(),currentVersionNumber:A().int().positive(),currentVersionSavedAt:B(),currentVersionEditor:Wu,baseVersionNumber:A().int().positive()}),$p=P({code:z(Xp),data:Qp});Yp.extend({url:Xd});const em=P({title:E().transform(e=>e.replace(/[\s\p{Cc}]+/gu,` `).trim()||null).pipe(E().max(200).nullable()).optional(),description:Jp.optional()}).refine(e=>e.title!==void 0||e.description!==void 0,{message:`Provide a title or a description`});function tm(e){return e.title??e.name}function nm(e){return e.title??e.url}P({files:N(Kp)}),P({links:N(qp)});const rm=1e5,im=R([`self`,`project`]),am=R([`task_messages_contain_sensitive_content`,`sharing_disabled`,`share_visibility_not_allowed`,`share_failed`]);P({content:E().trim().min(1).max(rm),title:E().trim().min(1).max(100).optional(),visibility:im.optional()}),P({taskId:O(),projectId:O(),visibility:im,shareLink:k().optional(),shareFailure:am.optional()});const om=R([`task`,`file`,`link`]);P({q:E().trim().min(1).max(200),type:F([om,N(om).min(1)]).optional().transform(e=>{if(e!==void 0)return[...new Set(Array.isArray(e)?e:[e])]}),limit:V().int().min(1).max(20).default(10)}),P({results:N(I(`type`,[P({type:z(`task`),taskId:O(),title:E(),updatedAt:B(),snippet:E().optional()}),P({type:z(`file`),sourceId:O(),title:E(),description:E().optional(),snippet:E().optional()}),P({type:z(`link`),sourceId:O(),title:E(),description:E().optional(),snippet:E().optional()})]))}),P({depth:R([`summary`,`full`]).default(`summary`),offset:V().int().min(0).optional().describe(`Continue a truncated read from a previous response's nextOffset. For a task in full depth it is the number of newest messages to skip; for a file or link it is the byte position to resume the stored text from.`),revision:E().optional().describe(`The revision the previous page reported. A file or link whose stored text was replaced since then answers 409 context_source_changed instead of continuing at the old offset.`)}),I(`status`,[P({status:z(`text`),sourceType:om,sourceId:O(),title:E(),content:E(),truncated:j(),nextOffset:A().int().nonnegative().optional().describe(`Present only when truncated and more remains; pass it back as offset to read the next page.`),revision:E().optional().describe(`Files and links: identifies the stored text this page came from; pass it back with offset so a replaced snapshot is detected.`)}),P({status:z(`download`),sourceType:R([`file`,`link`]),sourceId:O(),title:E(),downloadUrl:k()}),P({status:z(`pending`),sourceType:z(`link`),sourceId:O(),title:E()}),P({status:z(`failed`),sourceType:z(`link`),sourceId:O(),title:E(),error:E()})]);const sm=2e3,cm=1e4,lm=R([`owner`,`member`]),um=P({id:O(),workspaceId:O(),name:E(),description:E().nullable(),instruction:E().nullable(),createdAt:B(),updatedAt:B()}),dm=P({userId:O(),role:lm,name:E(),email:E(),image:E().nullable().optional()}),fm=P({teamId:O(),name:E(),memberCount:A().int().nonnegative(),role:z(`member`),visibility:R([`visible`,`hidden`]),canExpand:j(),addedAt:B()}),pm=E().max(cm,`Instruction is too long: the maximum is ${cm} characters.`);P({name:E().trim().min(1).max(255),description:E().max(sm).nullable().optional(),instruction:pm.nullable().optional()}).partial();const mm=P({userId:O(),name:E(),email:E(),image:E().nullable()}),hm=um.extend({role:lm,creator:mm.nullable(),isShared:j(),hasOtherMembers:j()}),gm=R([`all`,`mine`,`shared`]),_m=R([`lastActivityAt`,`createdAt`]);P({limit:V().int().min(1).max(100).default(50),nextKey:E().optional(),filter:gm.default(`all`),search:E().trim().max(200).optional(),sortBy:_m.default(`lastActivityAt`),order:R(Kl).default(`desc`)}),P({projects:N(hm),nextKey:E().optional()}),um.extend({role:lm,creator:mm.nullable(),isShared:j(),members:N(dm),teams:N(fm),taskCount:A().int().nonnegative(),sourceCount:A().int().nonnegative(),assetCount:A().int().nonnegative(),assetVersionCount:A().int().nonnegative()}),P({userId:O()}),P({teamId:O()}),P({members:N(dm)});const vm=P({teamId:O(),name:E(),memberCount:A().int().nonnegative(),visibility:R([`visible`,`hidden`])});P({q:E().trim().max(100).optional()}),P({teams:N(vm)}),P({role:lm});const ym=O().optional().describe(`The project the caller last saw the task in. Compared against the current project under the task row lock; a mismatch answers 409 task_project_mismatch and writes nothing. Omitted, the write is unconditional.`);P({projectId:O().nullable(),confirmAssetSharing:j().optional(),expectedProjectId:ym}),P({taskId:O(),projectId:O().nullable()}),P({expectedProjectId:ym});const bm=P({id:O(),name:E()});P({projects:N(P({id:O(),name:E(),description:E().nullable(),addedAt:B(),addedBy:P({id:O(),name:E()}).nullable()})),nextKey:E().optional()});const xm=[`personal`,`managed`],Sm={ALWAYS_ALLOW:`always_allow`,NEED_APPROVAL:`need_approval`,BLOCK:`block`},Cm=R([Sm.ALWAYS_ALLOW,Sm.NEED_APPROVAL,Sm.BLOCK]),wm=P({toolName:E().trim().min(1).max(200),policy:Cm});N(wm).refine(e=>{let t=e.map(e=>e.toolName);return new Set(t).size===t.length},{message:`Duplicate toolName in toolPolicies`});const Tm={[Sm.ALWAYS_ALLOW]:0,[Sm.NEED_APPROVAL]:1,[Sm.BLOCK]:2};function Em(...e){let t=new Map;for(let n of e)for(let{toolName:e,policy:r}of n??[]){let n=t.get(e);(n===void 0||Tm[r]>Tm[n])&&t.set(e,r)}return t}const Dm=P({hour:A().int().min(0).max(23),minute:A().int().min(0).max(59)}).describe(`Wall-clock local time in the schedule's own utcOffset timezone (NOT UTC). E.g. { "hour": 9, "minute": 0 } means 9:00 AM in that timezone, regardless of what utcOffset is — do not convert a user-stated local time to UTC before setting this field.`),Om=E().trim().min(1).max(2e3),km=P({enabled:j().optional(),criteria:Om.optional(),extracted:P({outcomes:N(Om).min(1).max(20),extractedAt:B(),inputFingerprint:E().regex(/^[a-f0-9]{64}$/u).optional(),extractorVersion:A().int().positive().optional()}).optional()});P({completed:z(!1),reason:Om,unmet:N(Om).max(20),criteriaSource:R([`inferred`,`explicit`,`extracted`]),analysis:E().trim().min(1).max(1e3).optional(),escalated:j().optional(),reviewSkipped:j().optional()});const Am=e=>e.hour*60+e.minute,jm=N(P({start:Dm,end:Dm}).refine(e=>Am(e.end)>Am(e.start),{message:`Run window end must be after start (no cross-midnight)`,path:[`end`]})).min(1).max(5),Mm=N(Dm).min(1).max(5).refine(e=>new Set(e.map(e=>e.hour*60+e.minute)).size===e.length,{message:`Trigger times must not contain duplicates`}).optional(),Nm=N(A().int().min(0).max(6)).min(1);I(`type`,[P({type:z(`no-repeat`)}),P({type:z(`repeat`),interval:I(`unit`,[P({unit:z(`minutes`),every:A().int().min(15,`Minimum interval is 15 minutes`).max(1440,`Maximum interval is 1440 minutes (24 hours)`),dailyWindows:jm.optional(),daysOfWeek:Nm.optional()}),P({unit:z(`hours`),every:A().int().min(1),minute:A().int().min(0).max(59),dailyWindows:jm.optional(),daysOfWeek:Nm.optional()}),P({unit:z(`days`),every:A().int().min(1),time:Dm,times:Mm,daysOfWeek:Nm.optional()}),P({unit:z(`weeks`),every:A().int().min(1),daysOfWeek:N(A().int().min(0).max(6)).min(1),time:Dm}),P({unit:z(`months`),every:A().int().min(1),daysOfMonth:N(A().int().min(1).max(31)),lastDayOfMonth:j(),time:Dm})])})]).superRefine((e,t)=>{if(e.type!==`repeat`)return;let n=e.interval;if(n.unit===`months`&&n.daysOfMonth.length===0&&!n.lastDayOfMonth&&t.addIssue({code:`custom`,message:`lastDayOfMonth must be true when daysOfMonth is empty`,path:[`interval`,`daysOfMonth`]}),n.unit===`hours`&&n.every>=24&&(n.daysOfWeek?.length??0)>0&&t.addIssue({code:`custom`,message:`Weekday filter is not available for hourly intervals of 24 hours or more`,path:[`interval`,`daysOfWeek`]}),n.unit===`days`&&n.every%7==0&&(n.daysOfWeek?.length??0)>0&&t.addIssue({code:`custom`,message:`Weekday filter is not supported for day intervals that are a multiple of 7 (the weekday never changes); use the weeks unit instead`,path:[`interval`,`daysOfWeek`]}),n.unit===`hours`&&n.every>=24&&(n.dailyWindows?.length??0)>0&&t.addIssue({code:`custom`,message:`Active windows are not available for hourly intervals of 24 hours or more`,path:[`interval`,`dailyWindows`]}),n.unit!==`minutes`&&n.unit!==`hours`||n.unit===`hours`&&n.every>=24)return;let r=n.dailyWindows;if(!r)return;let i=n.unit===`minutes`?n.every:n.every*60;r.some(e=>Am(e.end)-Am(e.start)<i)&&t.addIssue({code:`custom`,message:`Each run window must be at least as long as the interval`,path:[`interval`,`dailyWindows`]});let a=[...r].toSorted((e,t)=>Am(e.start)-Am(t.start));for(let e=1;e<a.length;e++){let n=a[e],r=a[e-1];if(n&&r&&Am(n.start)<Am(r.end)){t.addIssue({code:`custom`,message:`Run windows must not overlap`,path:[`interval`,`dailyWindows`]});break}}});const Pm=P({id:O(),name:E(),kind:R(xm).optional(),iconUrl:E().optional(),deletedAt:B().optional(),specifiedVersion:Ap.nullable().optional(),updatableToVersion:Ap.nullable().optional()});O().nullable().optional();const Fm=P({id:E(),name:E()}),Im=P({id:O(),title:E(),read:j(),deletedAt:B().nullable()}),Lm=P({id:O(),name:E(),isWorkspaceMember:j()}),Rm=P({id:O(),name:E(),prompt:E(),user:Lm.optional(),agent:Pm.optional(),model:Fm.optional(),startsAt:B(),isActive:j(),unreadTasks:A().int(),nextRunAt:B().nullable(),utcOffset:E(),config:Fc().meta({type:`object`}),judge:km.nullish(),toolApprovalMode:qu.nullish(),approvalHandling:Xu.nullish(),holidayCalendarIds:N(O()).nullish(),recentTasks:N(Im).optional(),createdAt:B(),updatedAt:B()});Rm.extend({toolPolicies:N(wm)}),P({schedules:N(Rm),nextKey:E().optional()}),Ul.extend({search:E().trim().max(200).optional(),sortBy:R([`nextRunAt`,`name`]).optional(),isActive:Rc().optional(),agentId:O().optional()});const zm=R([`queued`,`running`,`completed`,`failed`,`skipped`]),Bm=P({type:E().optional().transform(e=>e===`runtime`||e===`judge`?e:void 0),message:E(),code:E().optional()}),Vm=P({id:O(),name:E()}),Hm=R([`approval`,`client`]);P({runs:N(P({id:O(),scheduledAt:B(),agent:Pm.optional(),model:Fm.optional(),task:Im.nullable(),error:Bm.nullish(),status:zm.optional(),skipReason:E().nullish(),resolvedAt:B().nullish(),resolvedBy:Vm.nullish(),waitingReason:Hm.nullish()})),nextKey:E().optional()}),P({resolvedAt:B(),resolvedBy:Vm.nullable()});const Um=R([K.SELF,`project`,K.WORKSPACE,K.PUBLIC]);K.SELF,K.WORKSPACE,K.PUBLIC,P({shareId:O(),assetId:O()}),P({data:Hu}),P({visibility:Um.optional(),expectedProjectId:ym}),P({id:O(),visibility:Um,createdAt:B(),updatedAt:B()});const Wm=P({userId:O(),name:E(),email:E(),image:E().nullable().optional(),grantedAt:B()}),Gm=P({teamId:O(),name:E(),memberCount:A().int().nonnegative(),grantedAt:B()});P({data:N(Wm),teams:N(Gm)}),P({data:Wm}),P({data:Gm}),R([`running`,`completed`,`failed`]);const Km=P({id:O(),name:E(),iconId:O().optional(),iconUrl:E().optional(),deletedAt:B().optional(),specifiedVersion:Ap.nullable().optional()}),qm=[`chat`,`chatbot`,`schedule`,`agent_api`],Jm=R(qm);P({tasks:N(P({editAssetId:O().optional(),id:O(),title:E(),read:j(),toolApprovalMode:qu.optional(),userId:O(),workspaceId:O(),source:Jm,waitingReason:R([`approval`,`client`]).optional(),share:P({id:O(),visibility:Um}).optional(),isSharedWithOthers:j().optional(),isOwn:j().optional(),agent:Km.optional(),schedule:P({id:O(),name:E()}).optional(),scheduleRun:P({runId:O(),status:zm,error:Bm.nullish(),resolvedAt:B().nullable(),resolvedBy:Vm.nullish(),canResolve:j()}).optional(),project:bm.nullable().optional(),containsSensitiveContent:j().optional(),createdAt:B(),updatedAt:B()})),nextKey:E().optional()}),P({id:O(),title:E(),visibility:Um,workspace:P({id:O()}),agent:Km.optional(),project:bm.optional(),createdAt:B()}),P({results:N(P({id:O(),title:E(),titleHighlight:E().nullable(),contentSnippet:E().nullable(),project:bm.nullable().optional(),createdAt:B(),updatedAt:B()})),nextKey:E().optional()});const Ym=[`enabled`,`disabled`];P({userId:O()}),P({status:R(Ym)}),P({monthlyCapUsd:A().positive().nullable()}),P({items:N(P({connectorId:O(),name:E(),authorizedBy:P({id:O(),name:E(),disabled:j()}),updatedAt:B()}))});const Xm=qm,Zm=[`completed`,`failed`,`running`];Ul.extend({limit:V().int().min(1).max(100).default(30),source:R(Xm).optional(),status:R(Zm).optional(),initiatorId:O().optional(),from:H.optional(),to:H.optional(),q:E().trim().max(200).optional()}).refine(e=>e.from===void 0||e.to===void 0||new Date(e.from)<=new Date(e.to),{message:`to must be greater than or equal to from`,path:[`to`]}),P({items:N(P({taskId:O(),title:E(),source:R(Xm),initiator:P({userId:O().nullable(),name:E(),unlinked:j()}).nullable(),status:R(Zm),actionCount:A().int(),cost:A(),createdAt:B()})),nextKey:E().nullable()});const Qm=P({conversationCount:A().int(),actionCount:A().int(),cost:A(),errorRate:A()});P({today:Qm,week:Qm,monthCost:A(),monthlyCapUsd:A().nullable()}),P({items:N(P({id:O(),name:E(),missingConnectorNames:N(E()),unselectedConnectorNames:N(E()),unconnectedConnectorNames:N(E()),disabled:j()})),nextKey:E().nullable()});const $m={[J.SANDBOX]:`Sandbox`,[J.MULTITASKING]:`Multitasking`,[J.HISTORY]:`History`,[J.CREATION]:`Content Creation`,[J.PROJECT]:`Project Knowledge`,[J.WEB_SEARCH]:`Web Search`,[J.SCHEDULE]:`Schedules`,[J.AGENTS_AND_SKILLS]:`Agents & Skills`,[J.AUDIT_LOG]:`Audit Logs`};function eh(e){return $m[e]??e}P({id:O(),versionNumber:A().int().positive()}).nullable(),P({iconId:O(),url:k()});const th=[`updatedAt`,`usedAt`,`name`];P({search:E().trim().max(200).optional(),nextKey:E().optional(),limit:V().int().min(1).max(100).default(20),sortBy:R(th).optional()});const nh=P({id:O(),name:E(),isMe:j()}),rh=P({id:O()}).nullable();P({agents:N(P({id:O(),name:E(),description:E(),kind:R(xm),managedStatus:R(Ym).optional(),provider:E(),author:nh,iconUrl:E().optional(),publish:rh,myRole:Y,createdAt:B(),updatedAt:B()})),nextKey:E().optional()}),P({search:E().trim().max(200).optional(),status:R(Op).optional(),nextKey:E().optional(),limit:V().int().min(1).max(100).default(20),sortBy:R(th).optional()}),P({agents:N(P({id:O(),name:E(),description:E(),kind:R(xm),managedStatus:R(Ym).optional(),iconUrl:E().optional(),hasUnpublishedChanges:j(),latestVersionNumber:A().int().nullable(),publishedTo:yp.optional(),myRole:Y,createdAt:B(),updatedAt:B()})),nextKey:E().optional(),totalCount:A().int().nonnegative(),statusCounts:kp}),P({id:O(),name:E(),deletedAt:B().optional()});const ih=P({id:E(),name:E(),available:j(),replacement:P({id:E(),name:E()}).optional()}),ah=P({id:O(),name:E(),hasPermission:j(),added:j()}),oh=P({name:E(),isMe:j()}),sh=P({sponsor:P({id:O(),name:E(),image:E().nullable().optional()}),monthlyCapUsd:A().nullable(),skills:N(P({id:O(),name:E()})),delegatableAgents:N(P({id:O(),name:E()})),apiRateLimit:A().int().nullable()});P({id:O(),name:E(),description:E(),kind:R(xm),managedStatus:R(Ym).optional(),managed:sh.optional(),model:ih.optional(),systemPrompt:E().optional(),conversationStarters:N(E()),connectors:N(ah).optional(),capabilities:tf.optional(),provider:E(),author:oh,iconId:O().optional(),iconUrl:E().optional(),versionNumber:A().int().nullable(),selectableVersions:N(Ap).optional(),latestVersionNumber:A().int().nullable().optional(),publishedTo:yp.optional(),myRole:Y,createdAt:B(),updatedAt:B()}),P({agents:N(P({id:O(),name:E(),description:E(),iconUrl:E().optional(),versionNumber:A().int().nullable(),createdAt:B(),updatedAt:B()}))}),P({agents:N(P({id:O(),name:E(),description:E(),kind:R(xm),managedStatus:R(Ym).optional(),conversationStarters:N(E()),provider:E().nullable(),author:oh,publishedTo:yp.optional(),team:P({id:O(),name:E()}).optional(),iconUrl:E().optional(),versionNumber:A().int().nullable(),myRole:Y,createdAt:B(),updatedAt:B()})),nextKey:E().optional()});const ch=R([`true`,`false`]).transform(e=>e===`true`);Ul.extend({createdBy:R([`workspace`,`team`,`me`]).optional(),teamId:O().optional(),search:E().trim().max(200).optional(),executableOnly:ch.optional(),sortBy:R(th).optional(),editableFirst:Rc().optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}).refine(...Gl),P({workspaceId:O(),agentId:O()}),P({limit:V().int().min(1).max(100).default(20),offset:V().int().nonnegative().default(0)});const lh=P({taskId:O(),title:E(),source:Jm,amountUsd:A().nonnegative().nullable(),amountCredits:A().nonnegative().nullable(),usageCount:A().int().nonnegative(),lastUsageAt:B(),createdAt:B(),updatedAt:B()}),uh=P({toolName:E(),input:E().optional(),output:E().optional()}),dh=P({role:R([`user`,`assistant`]),texts:N(E()),toolCalls:N(uh).optional()}),fh=P({taskId:O(),title:E(),amountUsd:A().nonnegative().nullable(),amountCredits:A().nonnegative().nullable(),promptTexts:N(E()),messages:N(dh).optional()});P({agentName:E().optional(),totalAmountUsd:A().nonnegative().nullable(),totalAmountCredits:A().nonnegative().nullable(),runCount:A().int().nonnegative(),total:A().int().nonnegative(),runs:N(lh),promptSamples:N(fh).optional(),promptSamplesTruncated:j().optional()});const ph=P({agentId:O(),agentName:E(),amountUsd:A().nonnegative().nullable(),amountCredits:A().nonnegative().nullable(),runCount:A().int().nonnegative(),usageCount:A().int().nonnegative(),lastUsageAt:B()});P({periodDays:A().int().positive(),since:B(),totalAmountUsd:A().nonnegative().nullable(),totalAmountCredits:A().nonnegative().nullable(),totalAgents:A().int().nonnegative(),agents:N(ph)});const mh=P({p50AmountUsdPerRun:A().nonnegative().nullable(),p50AmountCreditsPerRun:A().nonnegative().nullable(),percentile:A().min(0).max(100).nullable(),workspaceAgentCount:A().int().nonnegative()}),hh=P({avgInputTokensPerRun:A().nonnegative(),avgOutputTokensPerRun:A().nonnegative(),avgCachedInputTokensPerRun:A().nonnegative(),avgTotalTokensPerRun:A().nonnegative(),inputToOutputRatio:A().nonnegative(),cachedInputRatio:A().min(0).max(1),avgLlmCallsPerRun:A().nonnegative()}),gh=P({usageType:E(),amountUsd:A().nonnegative().nullable(),amountCredits:A().nonnegative().nullable()});P({agentId:O(),agentName:E(),modelId:E(),periodDays:A().int().positive(),since:B(),runCount:A().int().nonnegative(),totalAmountUsd:A().nonnegative().nullable(),totalAmountCredits:A().nonnegative().nullable(),avgAmountUsdPerRun:A().nonnegative().nullable(),avgAmountCreditsPerRun:A().nonnegative().nullable(),scheduleRunCount:A().int().nonnegative(),manualRunCount:A().int().nonnegative(),runsPerDay:A().nonnegative(),benchmark:mh,tokenProfile:hh.nullable(),costByType:N(gh),llmCostRatio:A().min(0).max(1).nullable(),highCostPerRun:j(),highFrequency:j(),systemPrompt:E(),systemPromptLength:A().int().nonnegative()}),P({capabilities:N(R(ef)),workspaceCapabilities:N(R($d))});const _h=[`single_select`,`multi_select`],vh=P({label:E().min(1).max(200).describe(`Display text for this option`),description:E().max(500).optional().describe(`Optional explanation of what this option means`)});P({questions:N(P({question:E().min(1).max(500).describe(`The question to ask the user`),type:R(_h).describe(`single_select: user picks one option. multi_select: user picks one or more options.`),options:N(vh).min(2).max(4).describe(`The available choices (2-4 options)`)})).min(1).max(3).describe(`One to three structured questions to ask the user`)}),P({answers:N(P({questionIndex:A().int().min(0).describe(`Index of the question answered`),type:R(_h).describe(`Question type`),selectedOptions:N(E()).describe(`Labels of selected options (empty if skipped)`),customText:E().optional().describe(`Free text if user chose "Something else"`),skipped:j().describe(`Whether the user skipped this question`)})).describe(`Answers for each question`),dismissed:j().describe(`True if the user dismissed the entire wizard without answering`)});const yh=R([`all`,`agent`,`general-task`,`connector`,`skill`,`system`]),bh=R([`workspace_owner`,`agent_owner`]),xh=R([`success`,`failure`]),Sh=R([`personal`,`managed`]),Ch=R([`manual`,`scheduled`]);P({workspaceId:O()}),P({...P({category:yh.optional(),targetId:E().trim().min(1).optional(),agentType:Sh.optional(),executionSource:Ch.optional(),result:xh.optional(),actorId:O().optional(),search:E().trim().max(200).optional()}).shape,category:yh.optional().default(`all`),snapshot:E().min(1).max(2048).optional(),beforeOccurredAt:H.optional(),beforeId:E().min(1).optional(),limit:V().int().min(1).max(100).default(50),offset:V().int().min(0).default(0)}).refine(e=>!!e.beforeOccurredAt==!!e.beforeId,{message:`beforeOccurredAt and beforeId must be provided together`,path:[`beforeOccurredAt`]});const wh=P({id:O(),name:E(),email:E()}),Th=P({type:E(),id:E(),name:E(),agentId:O().optional()}),Eh=I(`type`,[P({type:z(`role`),from:E().optional(),to:E()})]),Dh=P({type:R([`user`,`team`,`email`]),id:E().optional(),name:E(),email:E().optional(),role:E().optional()}),Oh=P({id:E(),occurredAt:B(),actor:wh.nullable(),event:E(),category:yh.exclude([`all`]),result:xh,resource:Th,change:Eh.optional(),subject:Dh.optional(),changedFields:N(E()).optional(),detail:E().optional(),taskUrl:E().optional()}),kh=P({id:E(),name:E(),category:yh.exclude([`all`])}),Ah=P({all:A().int().nonnegative(),agent:A().int().nonnegative(),"general-task":A().int().nonnegative(),connector:A().int().nonnegative(),skill:A().int().nonnegative(),system:A().int().nonnegative()});P({items:N(Oh),asOf:B(),snapshot:E().min(1),total:A().int().nonnegative(),scope:bh,counts:Ah,targets:N(kh),actors:N(wh),retentionDays:A().int().positive()}),P({items:N(Oh),asOf:B(),maxRows:A().int().positive()}),P({canAccess:j(),scope:bh.nullable()});const jh=R([`chat`,`image`]),Mh=E().refine(e=>{if(e===``)return!1;let t=e.replace(/_/g,``),n=Number(t);return!Number.isNaN(n)&&Number.isFinite(n)&&n>=0},{message:`Invalid decimal string`}),Nh=P({input:E(),output:E(),cachedInput:E().optional(),cacheCreation:E().optional()}),Ph=P({input:Mh,output:Mh,cachedInput:Mh.optional(),cacheCreation:Mh.optional()}),Fh=P({effort:R(Zl)}),Ih=P({modelId:E(),deploymentName:E(),workspaceId:E().nullable(),kind:jh,name:E(),description:E(),pricing:Nh,reasoning:Fh.nullable(),createdAt:B(),updatedAt:B()});P({deployments:N(Ih),nextKey:E().optional()}),P({deploymentName:E().min(1),name:E().min(1),description:E().default(``),pricing:Ph,reasoning:Fh.nullable().default(null)}),P({name:E().min(1).optional(),description:E().optional(),pricing:Ph.optional(),reasoning:Fh.nullable().optional()}),P({deploymentName:E().min(1),kind:jh,name:E().min(1),description:E().default(``),pricing:Ph,reasoning:Fh.nullable().default(null)}),P({name:E().min(1).optional(),description:E().optional(),kind:jh.optional(),pricing:Ph.optional(),reasoning:Fh.nullable().optional()}),P({deploymentName:E().min(1)}),P({deployments:N(Ih)}),P({workspaceId:O()}),P({amountUsd:A().positive().max(1e4)}),P({checkoutUrl:k()}),P({id:O(),workspaceId:O(),amountUsd:E(),purchasedBy:O().nullable(),stripeCheckoutSessionId:E(),stripePaymentIntentId:E().nullable(),isAutoReload:j(),createdAt:B()}),P({workspaceId:O()}),P({checkoutUrl:k()}),R([`incomplete`,`incomplete_expired`,`trialing`,`active`,`past_due`,`canceled`,`unpaid`,`paused`]);const Lh=R([`draft`,`open`,`paid`,`uncollectible`,`void`]);R([`upgrade`,`downgrade`,`invite_accept`,`member_join`]),R([`pending`,`processing`,`processed`,`failed`]),R([`seat_change`,`extra_usage_purchase`]),R([`pending`,`processing`,`requires_action`,`succeeded`,`failed`,`expired`,`superseded`]),R([`pending`,`applied`,`failed`,`canceled`]);const Rh=R([`subscription`,`extra_usage`]),zh=P({id:O(),type:Rh,status:Lh,totalUsd:A().nonnegative(),billingDate:B(),hostedInvoiceUrl:k().nullable()});P({workspaceId:O()}),P({limit:V().int().min(1).max(100).default(20),nextKey:E().optional()}),P({invoices:N(zh),nextKey:E().optional()});const Bh=R([`pro`,`premium`]),Vh=P({pro:A().int().nonnegative(),premium:A().int().nonnegative()});P({pro:A().int(),premium:A().int()});const Hh=P({lineItems:N(P({seatType:Bh,quantity:A().int(),amountUsd:E()})),subtotalUsd:E(),taxUsd:E(),totalUsd:E()}),Uh=R([`seat_pool_invariant`,`subscription_canceling`,`payment_required`,`unsupported_billing_state`]);P({workspaceId:O()});const Wh=P({targetPurchasedSeats:Vh,seatAssignment:P({userId:O(),seatType:Bh}).optional()});I(`outcome`,[P({outcome:z(`unchanged`),quoteHash:E().min(1),targetPurchasedSeats:Vh,nextMonthlyAmountUsd:E()}),P({outcome:z(`immediate`),quoteHash:E().min(1),targetPurchasedSeats:Vh,nextMonthlyAmountUsd:E(),dueToday:Hh}),P({outcome:z(`scheduled`),quoteHash:E().min(1),targetPurchasedSeats:Vh,nextMonthlyAmountUsd:E(),dueToday:Hh,effectiveAt:B()}),P({outcome:z(`split`),quoteHash:E().min(1),immediatePurchasedSeats:Vh,targetPurchasedSeats:Vh,nextMonthlyAmountUsd:E(),dueToday:Hh,effectiveAt:B()}),P({outcome:z(`blocked`),reason:Uh})]),P({workspaceId:O()}),Wh.extend({expectedQuoteHash:E().min(1)}),I(`kind`,[P({kind:z(`completed`),operationId:O().nullable()}),P({kind:z(`processing`),operationId:O()}),P({kind:z(`redirect`),operationId:O().nullable(),url:k()})]),P({workspaceId:O()});const Gh=P({startAt:B(),endAt:B()}),Kh=P({cancelAtPeriodEnd:j(),canceledAt:B().nullable()}),qh=P({reason:R([`invoice_payment_failed`,`checkout_incomplete`,`subscription_unpaid`,`subscription_paused`,`unsupported_state`]),startedAt:B().nullable(),retryEndsAt:B().nullable(),stripeInvoiceId:E().min(1).nullable(),hostedInvoiceUrl:k().nullable()});P({lifecycle:I(`kind`,[P({kind:z(`default`),period:Ks(),cancellation:Ks(),paymentIssue:Ks()}),P({kind:z(`active`),period:Gh,cancellation:Kh,paymentIssue:Ks()}),P({kind:z(`payment_required`),period:Gh.nullable(),cancellation:Ks(),paymentIssue:qh}),P({kind:z(`canceled`),period:Ks(),cancellation:Kh,paymentIssue:Ks()}),P({kind:z(`unavailable`),period:Gh.nullable(),cancellation:Ks(),paymentIssue:qh})]),subscription:P({planName:E().min(1),estimatedMonthlyChargeUsd:A().nonnegative(),nextInvoiceDueAt:B().nullable()}).nullable(),seats:P({purchased:Vh,assigned:Vh,available:Vh,totalPurchased:A().int().nonnegative(),totalAssigned:A().int().nonnegative(),totalAvailable:A().int().nonnegative()}),extraUsage:wu.extend({currentPurchasedUsd:A().nonnegative()})}),P({workspaceId:O()}),P({portalUrl:k()}),P({workspaceId:O(),userId:O()}),P({seatType:vu});const Jh=[`2026-10-01`],Yh=R(Jh).describe(`Payload version, locked when the destination is created. Receivers must ignore unknown fields and enum values.`),Xh=P({amount:E().regex(/^-?\d+(\.\d+)?$/).describe(`Decimal string, never a float`),currency:z(`USD`)}).describe(`A monetary amount`),Zh=P({id:O(),email:E(),name:E()}).describe(`The workspace member the event is about`),Qh=E().regex(/^\d{4}-(0[1-9]|1[0-2])$/).describe(`Calendar month of the usage (YYYY-MM), in the same server time zone as monthly usage`);function $h(e,t){return P({id:E().startsWith(`evt_`).describe(`evt_<uuid v7>. Unchanged across retries and resends; receivers deduplicate on it`),type:z(e),apiVersion:Yh,occurredAt:B().describe(`When the event happened (ISO 8601), not when it was sent`),workspace:P({id:O(),name:E()}),data:t})}const eg={limitReached:`budget.limit_reached`,thresholdReached:`budget.threshold_reached`},tg=[`workspace`,`member_override`];N(A().int().min(1).max(99)).max(5).transform(e=>[...new Set(e)].toSorted((e,t)=>e-t)).describe(`Percentages of the effective budget that fire budget.threshold_reached; empty disables it`);const ng=R(tg).describe(`Where the effective budget comes from: the workspace budget or the member override`),rg=P({member:Zh,period:Qh,usage:Xh.describe(`The member's billed usage this month when the limit was crossed`),effectiveBudget:Xh.describe(`The member override, or the workspace budget when there is none`),budgetSource:ng}),ig=P({member:Zh,period:Qh,thresholdPercent:A().int().min(1).max(99).describe(`The notify threshold that was crossed, e.g. 80`),usage:Xh.describe(`The member's billed usage this month when the threshold was crossed`),effectiveBudget:Xh.describe(`The member override, or the workspace budget when there is none`),budgetSource:ng}),ag={id:`8b1d2c3e-4f50-7a61-8b72-9c83d4e5f601`,name:`Acme`},og={id:`3f2a1b0c-9d8e-7f60-8a51-b4c3d2e1f0a9`,email:`alice@example.com`,name:`Alice`},sg={id:`evt_01929c3e-7a1b-7c4d-9e2f-3a4b5c6d7e8f`,type:eg.limitReached,apiVersion:`2026-10-01`,occurredAt:`2026-10-15T06:12:03.120Z`,workspace:ag,data:{member:og,period:`2026-10`,usage:{amount:`50.31`,currency:`USD`},effectiveBudget:{amount:`50.00`,currency:`USD`},budgetSource:`workspace`}},cg=$h(eg.limitReached,rg).meta({description:`A member's billed usage this month reached their effective budget. Once usage is above the budget, the member's requests are blocked until the budget is raised or the month ends.`,examples:[sg]}),lg=$h(eg.thresholdReached,ig).meta({description:`A member's billed usage this month crossed one of the workspace's notify thresholds (a percentage of their effective budget), before the member is blocked.`,examples:[{id:`evt_01929c3e-6f00-7b2a-8c3d-4e5f60718293`,type:eg.thresholdReached,apiVersion:`2026-10-01`,occurredAt:`2026-10-12T02:40:51.004Z`,workspace:ag,data:{member:og,period:`2026-10`,thresholdPercent:80,usage:{amount:`40.02`,currency:`USD`},effectiveBudget:{amount:`50.00`,currency:`USD`},budgetSource:`workspace`}}]}),ug=P({eventType:E().describe(`The event type this test stands in for`),sample:L(E(),M()).describe(`An example event of that type, shaped exactly like a real delivery`)}),dg=P({challenge:E().describe(`Random string the endpoint must echo back as {"challenge": "<value>"} with a 200 within 10 seconds`)}),fg={id:`8b1d2c3e-4f50-7a61-8b72-9c83d4e5f601`,name:`Acme`},pg=$h(`destination.test_sent`,ug).meta({description:"Sent on demand from the Hub or `entrydesk webhook test` to check that a destination receives and verifies deliveries. Always delivered to the destination being tested, whatever it subscribes to.",examples:[{id:`evt_01929c3f-0000-7000-8000-000000000001`,type:`destination.test_sent`,apiVersion:`2026-10-01`,occurredAt:`2026-10-15T06:00:00.000Z`,workspace:fg,data:{eventType:eg.limitReached,sample:{...sg}}}]}),mg=$h(`destination.verification_requested`,dg).meta({description:`Sent when an Owner verifies an endpoint from the Hub. The endpoint proves it is controlled by the person who configured it by echoing the challenge.`,examples:[{id:`evt_01929c3f-0000-7000-8000-000000000002`,type:`destination.verification_requested`,apiVersion:`2026-10-01`,occurredAt:`2026-10-15T06:00:00.000Z`,workspace:fg,data:{challenge:`b7c1f0e2d9a84c3e9f5a6b7c8d9e0f1a`}}]}),hg={[eg.limitReached]:{schema:cg,trigger:`Recording usage moves the member's billed monthly usage from below their effective budget to at or above it. Fires once per member, month and effective budget; raising the budget and crossing it again fires again. On-premises deployments only.`,addedIn:`2026-10-01`,subscribable:!0},[eg.thresholdReached]:{schema:lg,trigger:`Recording usage moves the member's billed monthly usage across one of the workspace's notify thresholds (a percentage of the effective budget). Fires once per member, month, threshold and effective budget. On-premises deployments only.`,addedIn:`2026-10-01`,subscribable:!0},"destination.test_sent":{schema:pg,trigger:"An Owner sends a test from the Hub or `entrydesk webhook test`. Goes only to that destination.",addedIn:`2026-10-01`,subscribable:!1},"destination.verification_requested":{schema:mg,trigger:`An Owner verifies the endpoint from the Hub. Goes only to that destination and is not retried.`,addedIn:`2026-10-01`,subscribable:!1}},gg=Object.keys(hg),_g=[eg.limitReached,eg.thresholdReached],vg=R(_g),yg=R(gg),bg=[`active`,`disabled`],xg=[`manual`,`consecutive_failures`],Sg=[`pending`,`succeeded`,`failed`],Cg=10080*60,wg=R(bg),Tg=R(xg),Eg=R(Sg);function Dg(e){try{let{username:t,password:n}=new URL(e);return t!==``||n!==``}catch{return!1}}const Og=/^[a-z][\d+.a-z-]*:\/\/[^/?#]/iu,kg=/\p{Cc}/u,Ag=/[^\P{Cc}\t\n\r]/u,jg=/[^\p{Cf}\p{Z}\s]/u,Mg=2048,Ng=k({protocol:/^https$/u}).max(Mg).refine(e=>Og.test(e),{message:`URL must include a host`}).refine(e=>!Dg(e),{message:`URL must not contain a username or password`}).transform(e=>new URL(e).href).refine(e=>e.length<=Mg,{message:`URL must be at most ${Mg} characters once percent-encoded`}).describe(`HTTPS endpoint that receives the POSTs`),Pg=E().trim().min(1).max(200).refine(e=>!kg.test(e),{message:`Name must not contain control characters`}).refine(e=>jg.test(e),{message:`Name must contain a visible character`}),Fg=E().trim().max(1e3).refine(e=>!Ag.test(e),{message:`Description must not contain control characters`}),Ig=N(vg).min(1).transform(e=>[...new Set(e)]).nullable().describe(`Event types to receive; null subscribes to all events`);P({workspaceId:O(),destinationId:O()}).extend({deliveryId:O()}),P({workspaceId:O()});const Lg=P({activity:N(P({date:Bc(),count:A().int()})).describe(`Deliveries per day over the last 7 days, oldest first`),deliveryCount:A().int(),failedCount:A().int(),errorRate:A().nullable().describe(`failed / all deliveries over the last 7 days; null when none`),p50ResponseTimeMs:A().int().nullable()}),Rg=P({id:O(),type:z(`https`),name:E(),description:E().nullable(),url:E(),apiVersion:Yh,payloadStyle:z(`snapshot`),eventTypes:N(E()).nullable(),status:wg,disabledReason:Tg.nullable(),verifiedAt:B().nullable(),previousSecretExpiresAt:B().nullable(),createdAt:B(),updatedAt:B(),metrics:Lg});P({items:N(Rg)}),P({name:Pg,description:Fg.nullable().default(null),url:Ng,eventTypes:Ig,apiVersion:Yh.optional()}),P({destination:Rg,signingSecret:E().describe(`Shown only once; store it to verify X-ED-Signature`)}),P({name:Pg,description:Fg.nullable(),url:Ng,eventTypes:Ig,apiVersion:Yh,status:wg}).partial().refine(e=>Object.keys(e).length>0,{message:`Provide at least one field to update`}),P({expirePreviousInSeconds:A().int().min(0).max(Cg).default(86400).describe(`How long the previous secret keeps signing alongside the new one; 0 expires it now`)}),P({signingSecret:E(),previousSecretExpiresAt:B().nullable()}),P({status:Eg.optional(),eventType:yg.optional(),limit:V().int().min(1).max(100).default(20),nextKey:E().optional()});const zg=P({id:O(),destinationId:O(),eventId:E(),eventType:E(),status:Eg,attempts:A().int(),lastHttpStatus:A().int().nullable(),lastError:E().nullable(),responseTimeMs:A().int().nullable(),nextAttemptAt:B().nullable(),deliveredAt:B().nullable(),occurredAt:B(),createdAt:B()});P({items:N(zg),nextKey:E().nullable()});const Bg=P({id:O().describe(`Sent as X-ED-Delivery-Id`),attempt:A().int(),requestHeaders:L(E(),E()),httpStatus:A().int().nullable(),responseBody:E().nullable().describe(`First 4 KB of the response body`),responseTimeMs:A().int().nullable(),error:E().nullable().describe(`Null together with httpStatus while the request is still in progress`),attemptedAt:B()});zg.extend({requestBody:E().describe(`The exact bytes POSTed on every attempt`),attemptHistory:N(Bg)}),P({delivery:zg}),P({eventType:vg.default(_g[0])});const Vg=P({succeeded:j(),httpStatus:A().int().nullable(),responseTimeMs:A().int().nullable(),error:E().nullable()});P({delivery:zg,outcome:Vg}),P({verified:j(),verifiedAt:B().nullable(),outcome:Vg}),P({items:N(P({type:yg,domain:E(),description:E(),trigger:E(),addedIn:Yh,subscribable:j(),example:L(E(),M())})),apiVersions:N(Yh)});const Hg=R([`google`,`outlook`,`caldav`]),Ug=R([`confirmed`,`tentative`,`cancelled`]),Wg=P({email:E(),displayName:E().optional(),responseStatus:R([`needsAction`,`declined`,`tentative`,`accepted`]).optional(),organizer:j().optional(),self:j().optional(),resource:j().optional()}),Gg=P({type:R([`hangoutsMeet`,`zoom`,`teams`,`webex`,`other`]),uri:E().optional(),label:E().optional()}),Kg=P({id:O(),providerCalendarId:E(),name:E(),color:E().nullable(),isVisible:j()});P({accounts:N(P({id:O(),provider:Hg,email:E(),isActive:j(),lastSyncAt:E().nullable(),reminderEnabled:j(),reminderMinutesBefore:A(),createdAt:B(),calendars:N(Kg)}))}),P({events:N(P({id:O(),calendarId:O(),calendarName:E(),calendarColor:E().nullable(),provider:Hg,providerEventId:E(),title:E(),description:E().nullable(),location:E().nullable(),startTime:E(),endTime:E(),isAllDay:j(),status:Ug,conferenceLink:E().nullable(),conferenceData:Gg.nullable(),attendees:N(Wg).nullable(),organizerEmail:E().nullable()}).extend({meetingId:O().nullable(),hasRecordings:j(),hasAudioFile:j()})),nextCursor:O().nullable(),hasMore:j()}),P({startTime:H.optional(),endTime:H.optional(),limit:V().int().min(1).max(500).default(50),cursor:O().optional()}).refine(e=>e.startTime&&e.endTime?new Date(e.startTime)<new Date(e.endTime):!0,{message:`endTime must be greater than startTime`,path:[`endTime`]}),P({hours:V().int().min(1).max(168).default(24),limit:V().int().min(1).max(50).default(10),cursor:O().optional()}),P({id:O(),reminderEnabled:j(),reminderMinutesBefore:A()}),P({updated:A()}),q.IMAGE_GENERATION,q.PROJECT,q.SANDBOX,q.WEB_SEARCH,q.SKILL,q.SLIDES,q.WORKFLOW;const qg=P({inputTokens:A().optional(),outputTokens:A().optional(),totalTokens:A().optional(),reasoningTokens:A().optional(),cachedInputTokens:A().optional(),cachedCreationTokens:A().optional()});P({modelId:E().optional(),toolApprovalMode:qu.optional(),usage:qg.optional(),totalUsage:qg.optional(),platformMessageTs:E().optional(),postedMessageTs:N(E()).optional()}),P({id:O(),name:E(),mimeType:E(),size:A(),url:E().optional().describe(`The signed URL for the file, only available if the file is not expired`),expired:j(),createdAt:B(),updatedAt:B()}),P({phase:R([`running`,`done`])});const Jg=R([`step_limit`,`output_limit`,`retry_limit`]);P({reason:Jg,toolCallIds:N(E()).optional()});function Yg(e){return e.state===`approval-requested`&&e.approval?.isAutomatic!==!0}const Xg=P({reason:Jg,sourceMessageId:O()}),Zg=new TextEncoder;function Qg(e){try{let t=JSON.stringify(e);return typeof t==`string`?Zg.encode(t).byteLength:null}catch{return null}}const $g=P({sourceMessageId:O(),action:z(`continueConversation`),values:M().refine(e=>{let t=Qg(e);return t!==null&&t<=65536},`Widget interaction values must be JSON and at most 64 KiB`)});P({context:E()}),P({delivery:R([`wake`,`passive`]).default(`wake`),runs:N(P({runId:E(),kind:R([`subagent`,`workflow`]),status:E(),summary:E()}))}),P({runs:N(P({kind:z(`tool`),runId:E(),status:E()})),text:E()});const e_=P({system:A(),tools:A(),history:A()});P({totalTokens:A(),breakdown:e_,contextWindowTokens:A().optional(),compactionTriggerTokens:A().optional()});const t_=R([`pending_tool_responses`,`tool_response_not_merged`,`continuation_already_claimed`]);F([P({taskId:E(),streamId:E()}),P({taskId:E(),noop:z(!0),reason:t_})]);const n_=P({text:E(),type:z(`text`)}),r_=P({type:z(`data-widget-interaction`),data:$g}),i_=P({type:z(`data-task-continuation`),data:Xg}),a_=P({id:O(),createdAt:Vc().optional(),role:z(`user`),parts:F([sc([n_]),sc([r_]),sc([i_])])}),o_=F([E().startsWith(`tool-`),z(`dynamic-tool`)]),s_=P({id:E(),approved:j(),reason:E().optional()}),c_=P({type:o_,toolCallId:E(),state:z(`approval-responded`),input:Js().optional(),approval:s_}),l_=P({type:o_,toolCallId:E(),state:z(`output-available`),output:Js(),approval:s_.optional()}),u_=P({type:o_,toolCallId:E(),state:z(`output-error`),errorText:E(),approval:s_.optional()}),d_=P({id:E(),approved:z(!1),reason:E().optional()}),f_=P({type:o_,toolCallId:E(),state:z(`output-denied`),errorText:E().optional(),approval:d_.optional()}).refine(e=>e.errorText!==void 0||e.approval!==void 0,{message:`An output-denied part must carry the refusal, as errorText or as approval.reason`,path:[`errorText`]});I(`role`,[a_,P({id:O(),createdAt:Vc().optional(),role:z(`assistant`),parts:N(I(`state`,[c_,l_,u_,f_])).min(1)})]);function p_(e,t){let n=new Map(e);for(let e of t)n.delete(e);return n}function m_(e,t,n){return new Map(e.map(({toolCallId:e})=>{let r=t.get(e);return[e,{approved:n,preauthorize:n&&r?.approved?r.preauthorize:void 0}]}))}function h_(e,t){let n=[],r=new Set,i=[];for(let a of e){let e=t.get(a.toolCallId);if(!e||(n.push({toolCallId:a.toolCallId,approvalId:a.approvalId,approved:e.approved}),!e.approved||!e.preauthorize))continue;let o=Tf(a.toolName,a.input);o&&(r.add(o),i.push(a.toolCallId))}return{responses:n,preauthorizeToolNames:[...r],preauthorizingToolCallIds:i}}const g_=[`approval-responded`,`output-available`,`output-error`,`output-denied`],__=[`output-available`,`output-error`,`output-denied`];function v_(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.type===`step-start`)return t;return-1}function y_(e){return g_.includes(e)}function b_(e){return __.includes(e)}function x_(e){return e?.role===`assistant`?e.parts.filter(d).filter(e=>!e.providerExecuted):[]}function S_(e){if(e?.role!==`assistant`)return[];let t=v_(e.parts);return x_({role:e.role,parts:e.parts.slice(t+1)})}function C_(e,t){return t(e)?b_(e.state):y_(e.state)}function w_(e,t){return t(e)?b_(e.state):e.state===`approval-responded`||e.state===`output-denied`}function T_(e){return e.state===`input-available`||e.state===`approval-responded`&&e.approval.approved}function E_(e){return e.state===`approval-responded`&&!e.approval.approved}const D_=[];function O_(e){let t=[];for(let n of S_(e)){if(!Yg(n))continue;let e=n.approval?.id;typeof e==`string`&&e!==``&&t.push({toolCallId:n.toolCallId,toolName:u(n),input:n.input,approvalId:e,requestReason:n.approval.requestReason})}return t.length===0?D_:t}function k_(e){let t=`approval`in e?e.approval:void 0;return{type:e.type,toolCallId:e.toolCallId,state:e.state,...e.state===`output-available`&&{output:e.output},...`errorText`in e&&e.errorText!==void 0&&{errorText:e.errorText},...t!==void 0&&{approval:t}}}function A_(e,{isClientTool:t}){return e?.role===`assistant`?{id:e.id,role:`assistant`,parts:S_(e).filter(e=>w_(e,t)).map(k_)}:e}function j_(e){let t=e?.message?.parts;return Array.isArray(t)?t.flatMap(e=>{let t=e?.toolCallId;return typeof t==`string`?[t]:[]}):[]}function M_({messages:e,isClientTool:t,suppressAutomaticSend:n=!1,submittedToolCallIds:r}){if(n)return!1;let i=S_(e.at(-1));return!i.some(e=>!C_(e,t))&&i.some(e=>w_(e,t)&&!r.has(e.toolCallId))}function N_(e){if(e.reason!==void 0)return e.reason;let t=Error(`The operation was aborted.`);return t.name=`AbortError`,t}function P_(e,t){if(!t)return e;let n=()=>N_(t),r,i,a=()=>{i&&=(t.removeEventListener(`abort`,i),void 0)};return new ReadableStream({start(a){if(i=()=>{a.error(n()),(r??e).cancel(n()).catch(()=>{})},t.aborted){i();return}t.addEventListener(`abort`,i,{once:!0})},async pull(n){r??=e.getReader();try{let{done:e,value:t}=await r.read();if(e){n.close(),a();return}n.enqueue(t)}catch(e){t.aborted||n.error(e),a()}},cancel(t){a(),(r??e).cancel(t).catch(()=>{})}})}const F_={schemaVersion:z(2),siteKey:E().min(1),assetId:O(),title:E()};I(`state`,[P({...F_,state:z(`working`),revision:E().min(1)}),P({...F_,state:z(`saved`),versionId:O(),versionNumber:A().int().positive()})]);const I_=R([`pending`,`generating`,`ready`,`error`]),L_=P({page:A().int().positive(),heading:E(),status:I_,version:A().int().nonnegative().default(0),imageUrl:E().optional(),assetId:E().optional(),note:E().optional()});P({deckId:E().min(1),title:E(),style:E(),aspectRatio:E(),status:R([`generating`,`partial`,`ready`]),outputs:P({pdfUrl:E().optional(),pptxUrl:E().optional(),pdfAssetId:E().optional(),pptxAssetId:E().optional()}).default({}),slides:N(L_)});const R_=P({slideId:O(),position:A().int().positive(),heading:E(),status:I_,note:E().optional()}),z_={schemaVersion:z(2),deckKey:E().min(1),assetId:O(),title:E(),style:E(),aspectRatio:E(),slides:N(R_)};I(`state`,[P({...z_,state:z(`working`),revision:E().min(1)}),P({...z_,state:z(`saved`),versionId:O(),versionNumber:A().int().positive()})]),P({data:P({assetId:O(),versionId:O(),versionNumber:A().int().positive(),title:E(),style:E(),aspectRatio:E(),slides:N(P({slideId:O(),position:A().int().positive(),heading:E(),imageUrl:k()})),pdfUrl:k(),pptxUrl:k().optional()})});const B_=[`slack`,`teams`],V_=[`active`,`inactive`,`needs_reauth`],H_=R(B_),U_=R(V_),W_=P({id:O(),platform:H_,platformWorkspaceId:E(),platformWorkspaceName:E(),botUserId:E(),botIconUrl:k().nullable().optional(),status:U_,autoBindEnabled:j(),createdAt:B(),updatedAt:B()});P({platform:H_.optional(),limit:V().int().min(1).max(100).default(20),cursor:O().optional()}),P({installations:N(W_),nextKey:E().optional()}),P({status:R([`active`,`inactive`]).optional()});const G_=P({id:O(),workspaceInstallationId:O(),platform:H_,platformWorkspaceName:E(),platformUserId:E(),createdAt:B()});P({installations:N(G_)}),P({workspaceInstallation:W_.nullable(),userInstallation:G_.nullable(),canManageChatbot:j()}).extend({installUrl:k().nullable()}),P({userInstallation:G_}),P({autoBindEnabled:j()}),P({workspaceInstallation:W_}),P({bindings:N(P({id:O().nullable(),workspaceInstallationId:O().nullable(),userId:O(),userName:E(),userEmail:E(),platformUserId:E().nullable(),createdAt:B().nullable(),updatedAt:B().nullable()})),total:A().int().nonnegative()}),Wl.extend({search:E().trim().max(200).optional()}),P({authorizeUrl:E()});const K_=2048,q_=R([`self`,`anyone`]),J_=P({id:O(),platform:H_,userInstallationId:O(),platformChannelId:E(),channelName:E().nullable(),platformThreadId:E().nullable(),keyword:E().nullable(),triggerScope:q_,agentId:O().nullable(),agentName:E().nullable(),agentIconUrl:E().nullable(),sourceKeywordListenerIds:N(O()),taskId:O().nullable(),titlePreview:E().nullable(),threadUrl:k().nullable(),lastInteractedAt:B().nullable(),enabled:j(),createdAt:B(),updatedAt:B()});P({installationId:O().optional()}),P({listeners:N(J_)}),P({installationId:O(),platformChannelId:E().trim().min(1).max(K_).regex(/^(?:(?:slack:)?[CG][A-Z0-9]+|teams:[A-Za-z0-9_-]+:[A-Za-z0-9_-]+)$/u,`Must be a valid Slack or Microsoft Teams channel id.`),keyword:E().trim().min(1).max(200),triggerScope:q_.optional(),agentId:O().nullable().optional()}),P({listener:J_}),P({keyword:E().trim().min(1).max(200).optional(),triggerScope:q_.optional(),agentId:O().nullable().optional(),enabled:j().optional()}).refine(e=>e.keyword!==void 0||e.triggerScope!==void 0||e.agentId!==void 0||e.enabled!==void 0,{message:`At least one field must be provided`}),P({installationId:O(),platformChannelId:E().trim().min(1).max(K_),keyword:E().trim().min(1).max(200)}),P({count:A().int().nonnegative()}),P({installationId:O()}),P({channels:N(P({id:E(),name:E(),isPrivate:j()}))}),P({}).optional(),P({ok:z(!0),messageTs:E()}),P({olderThanDays:A().int().min(1).max(365).default(14).optional()}).optional(),P({deletedCount:A().int().min(0)});const Y_=R([`enabled`,`disabled`]);P({items:N(P({agentId:O(),agentName:E(),agentIconUrl:E().nullable(),status:Y_,capReached:j(),connectorNames:N(E())}))}),P({items:N(P({agentId:O(),agentName:E(),connectorNames:N(E())}))}),P({agentId:O()}),P({activeConversationCount:A().int(),suppressedListenerCount:A().int()});const X_=E().regex(/^\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/),Z_=P({minSupportedVersion:X_,latestVersion:X_});P({ios:Z_,android:Z_,gntcLoginEnabled:j(),googleLoginEnabled:j(),emailPasswordLoginEnabled:j()});function Q_(e){let t=e.split(`.`);if(t.length!==4)return null;let n=t.map(e=>/^\d{1,3}$/u.test(e)?Number(e):NaN);return n.every(e=>e>=0&&e<=255)?n:null}function $_(e){if(!e.startsWith(`[`)||!e.endsWith(`]`))return null;let[t,n,...r]=e.slice(1,-1).toLowerCase().split(`::`);if(r.length>0)return null;let i=e=>e===``?[]:e.split(`:`),a=i(t??``);if(n===void 0)return a.length===8?a:null;let o=i(n),s=8-a.length-o.length;return s<1?null:[...a,...Array.from({length:s}).fill(`0`),...o]}function ev(e){let[t,n]=e;return t===127?`loopback`:t===0||t===10||t===172&&n>=16&&n<=31||t===192&&n===168||t===100&&n>=64&&n<=127||t===169&&n===254?`internal`:`public`}function tv(e){if(e===`localhost`||e.endsWith(`.localhost`))return`loopback`;let t=Q_(e);if(t)return ev(t);let n=$_(e);if(!n)return`public`;let r=Q_(n[7]??``);if(r&&n.slice(0,5).every(e=>Number(e)===0))return ev(r);if(n.slice(0,5).every(e=>Number(e)===0)&&n[5]===`ffff`){let e=Number.parseInt(n[6]??`0`,16),t=Number.parseInt(n[7]??`0`,16);return ev([e>>8,e&255,t>>8,t&255])}let i=n.map(e=>Number.parseInt(e,16));if(i.slice(0,7).every(e=>e===0)&&i[7]!==void 0&&i[7]<=1)return`loopback`;let a=i[0]??0;return(a&65024)==64512||(a&65472)==65152?`internal`:`public`}function nv(e){return Q_(e)!==null||$_(e)!==null}async function rv(e,t){let n=tv(e);if(t===`literal-only`||nv(e))return n;let r=await t(e);if(r.length===0)throw Error(`${e} does not resolve`);let i=r.map(({address:e,family:t})=>tv(t===6?`[${e}]`:e));return n===`public`?i.find(e=>e===`loopback`)??i.find(e=>e===`internal`)??`public`:n}function iv(e){return tv(e.hostname)===`loopback`}function av(e){return e.protocol===`https:`||e.protocol===`http:`&&iv(e)}async function ov(e,t,n){if(!av(t))return`api.baseUrl is not https`;if(t.pathname!==`/`||t.search!==``||t.hash!==``||t.username!==``||t.password!==``)return`api.baseUrl is not an origin`;let r,i;try{[r,i]=await Promise.all([rv(t.hostname,n),rv(e.hostname,n)])}catch{return`api.baseUrl does not resolve`}return r===`loopback`&&i!==`loopback`?`api.baseUrl is a local address for a remote Hub`:r===`internal`&&i===`public`?`api.baseUrl is an internal address for a remote Hub`:null}const sv=[{webHost:`app.entrydesk.com`,apiHost:`api.entrydesk.com`},{webHost:`entrydesk.dcard.io`,apiHost:`entrydesk-api.dcard.io`},{webHost:`stage.gntc.io`,apiHost:`api-stage.gntc.io`}];function cv(e){return sv.find(t=>t.webHost===e)}function lv(e){if(!URL.canParse(e))return;let t=new URL(e);if(t.protocol!==`https:`||t.pathname!==`/`)return;let n=cv(t.host);return n?`https://${n.apiHost}`:void 0}const uv=P({api:P({baseUrl:k()})}),dv=[`composio`,`mcp`],fv=[`stdio`,`sse`,`streamable_http`];fp.options;const pv=Pf.exclude([`composio`]);pv.options;const mv=[`pat`,`credentials`];P({items:N(P({id:O(),name:E(),description:E(),iconUrl:E().nullable(),kind:R(dv),toolkit:E().nullable(),transport:R(fv),authorizationType:Pf.nullable(),createdAt:B()}))});const hv=P({kind:z(`composio`),name:E().min(1).max(100),description:E().min(1),toolkit:E().min(1),tools:N(E().min(1)).optional(),extraTools:N(E().min(1)).optional(),composioAuthConfigId:E().min(1).optional()}),gv=P({kind:z(`mcp`),name:E().min(1).max(100),description:E().min(1),url:k(),transport:fp,authorization:P({type:pv,provider:E().min(1).optional(),scopes:N(E().min(1)).optional(),tutorial:k().max(100).optional(),configFields:Rf.optional()}).optional()}).refine(e=>e.authorization?.type!==`oauth`||e.authorization.provider!==void 0&&e.authorization.scopes!==void 0,{message:`provider and scopes are required when type is oauth`,path:[`authorization`]}).refine(e=>!e.authorization?.tutorial||mv.some(t=>t===e.authorization?.type),{message:`tutorial is only allowed for pat and credentials authorization types`,path:[`authorization`,`tutorial`]}).refine(e=>!e.authorization?.configFields?.length||If.some(t=>t===e.authorization?.type),{message:`configFields is only allowed for pat and credentials authorization types`,path:[`authorization`,`configFields`]});P({toolkit:E().min(1)});const _v=P({name:E(),mode:E(),scopes:N(E())});P({slug:E(),name:E(),managedAuthSchemes:N(E()),auths:N(_v)}),I(`kind`,[hv,gv]);const vv={en:{authLink:[`auth`,`oauth`,`authorize`,`authorization`,`connect`,`login`,`sign in`,`sign-in`,`signin`],authGlossVerbs:[`authorize`,`connect`,`login`,`sign in`,`sign-in`,`signin`],placement:[`button`,`buttons`,`link`,`links`,`click`,`below`,`following`]},"zh-TW":{authLink:[`授權`,`授权`,`連接`,`连接`,`認證`,`认证`,`登入`,`登录`],authGlossVerbs:[`授權`,`授权`,`連接`,`连接`,`認證`,`认证`,`登入`,`登录`],placement:[`按鈕`,`按钮`,`連結`,`链接`,`點擊`,`点击`,`下方`,`以下`]},de:{authLink:[`autorisieren`,`autorisierung`,`verbinden`,`anmelden`,`login`],authGlossVerbs:[`autorisieren`,`verbinden`,`anmelden`,`login`],placement:[`schaltfläche`,`schaltflächen`,`button`,`buttons`,`link`,`links`,`klicken`,`unten`,`folgende`,`folgenden`]},fr:{authLink:[`autoriser`,`autorisation`,`connecter`,`connexion`,`login`,`se connecter`],authGlossVerbs:[`autoriser`,`connecter`,`connexion`,`login`,`se connecter`],placement:[`bouton`,`boutons`,`lien`,`liens`,`cliquer`,`cliquez`,`ci-dessous`,`suivant`,`suivants`]},"es-ES":{authLink:[`autorizar`,`autorización`,`conectar`,`conexión`,`iniciar sesión`,`login`],authGlossVerbs:[`autorizar`,`conectar`,`iniciar sesión`,`login`],placement:[`botón`,`botones`,`enlace`,`enlaces`,`clic`,`haz clic`,`hacer clic`,`abajo`,`siguiente`,`siguientes`]},"es-419":{authLink:[`autorizar`,`autorización`,`conectar`,`conexión`,`iniciar sesión`,`login`],authGlossVerbs:[`autorizar`,`conectar`,`iniciar sesión`,`login`],placement:[`botón`,`botones`,`enlace`,`enlaces`,`clic`,`haz clic`,`hacer clic`,`abajo`,`siguiente`,`siguientes`]},ja:{authLink:[`認可`,`承認`,`認証`,`接続`,`ログイン`],authGlossVerbs:[`認可`,`承認`,`認証`,`接続`,`ログイン`],placement:[`ボタン`,`リンク`,`クリック`,`下`,`以下`,`次`]},ko:{authLink:[`인증`,`승인`,`권한`,`연결`,`로그인`],authGlossVerbs:[`인증`,`승인`,`연결`,`로그인`],placement:[`버튼`,`링크`,`클릭`,`아래`,`다음`]},it:{authLink:[`autorizza`,`autorizzare`,`autorizzazione`,`connetti`,`connettere`,`accesso`,`login`],authGlossVerbs:[`autorizza`,`autorizzare`,`connetti`,`connettere`,`accedi`,`login`],placement:[`pulsante`,`pulsanti`,`link`,`collegamento`,`collegamenti`,`clic`,`fare clic`,`sotto`,`seguente`,`seguenti`]},"pt-BR":{authLink:[`autorizar`,`autorização`,`conectar`,`conexão`,`entrar`,`login`],authGlossVerbs:[`autorizar`,`conectar`,`entrar`,`login`],placement:[`botão`,`botões`,`link`,`links`,`clicar`,`clique`,`abaixo`,`seguinte`,`seguintes`]}},yv=/[.*+?^${}()|[\]\\]/g;function bv(e){return e.replace(yv,`\\$&`)}function xv(e){let t=new Set,n=[];for(let r of e){let e=r.trim();e.length>0&&!t.has(e)&&(t.add(e),n.push(e))}return n}function Sv(e){return xv(Object.values(vv).flatMap(t=>t[e]))}function Cv(e){let t=Sv(e).toSorted((e,t)=>t.length-e.length).map(bv).join(`|`);return new RegExp(t,`iu`)}function wv(){let e=Sv(`authGlossVerbs`).toSorted((e,t)=>t.length-e.length).map(bv).join(`|`);return RegExp(`^(?:${e})(?=\\s|$|[^\\p{Letter}\\p{Number}])`,`iu`)}Cv(`authLink`),Cv(`placement`),wv(),P({toolkit:E(),tools:N(E()).optional(),extraTools:N(E()).optional()}),P({search:E().trim().max(200).optional(),status:R(Op).optional(),nextKey:E().optional(),limit:V().int().min(1).max(100).default(20),sortBy:R(jf).optional()}),P({connectors:N(P({id:O(),name:E(),iconUrl:E().optional(),hasUnpublishedChanges:j(),latestVersionNumber:A().int().nullable(),publishedTo:yp.optional(),myRole:Y,createdAt:B(),updatedAt:B()})),nextKey:E().optional(),totalCount:A().int().nonnegative(),statusCounts:kp});const Tv=R([`need_approval`,`block`]),Ev=`user_configurable`;F([Tv,z(Ev)]).nullable().transform(e=>e===Ev?null:e);const Dv=R([`need_approval`,`always_allow`,`block`]),Ov=P({id:O(),name:E(),toolName:E(),description:E(),workspacePolicy:Tv.nullable(),userPolicy:Dv.nullable()});P({tools:N(Ov)}),P({tools:N(Ov.extend({schedulePolicy:Cm.nullable()}))});const kv=R([`saas`,`on-premises`]),Av=10**3;function jv(e){let t=Number((Number(e)*Av).toPrecision(12));return Math.ceil(t)/Av}P({path:E(),value:M().optional()});const Mv=P({connectorId:O(),boardUrl:k().max(2e3).refine(e=>{let t=new URL(e);return t.protocol===`https:`&&!t.username&&!t.password}),dataSourceId:E().min(1).max(255),contextPropertyId:E().min(1).max(255).optional()}).extend({databaseId:E().min(1).max(255),connectorName:E(),name:E()});P({databaseId:E(),name:E(),sources:N(P({id:E(),name:E(),contextProperties:N(P({id:E(),name:E()}))}))});const Nv=P({key:O(),createdBy:O(),startedAt:B(),status:R([`pending`,`succeeded`]),destination:Mv,title:E().max(1e4),values:L(E(),P({type:z(`text`),value:E().max(1e6)}))}),Pv=R([`scheduled`,`in_progress`,`completed`,`cancelled`]),Fv=P({term:E().trim().min(1).max(100),kind:R([`company`,`product`,`person`,`technical`]),usageContext:E().max(100),evidenceLine:A().int().positive(),evidenceQuote:E().min(1).max(1e3)}),Iv=P({id:O(),status:R([`matched`,`not_found`,`ambiguous`]),confirmed:j(),summary:j().optional(),glossary:j().optional(),sourceUrl:k().nullable(),connectorId:O().nullable(),documentId:E().min(1).max(256),documentTitle:E(),documentVersion:F([A(),E().max(256)]).nullable(),contentHash:E(),notesHash:E(),startTime:E(),meetingDate:E(),timezone:E(),preparedBy:O(),preparedAt:B(),modelId:E(),lines:N(P({id:A().int().positive(),text:E()})),reason:E().max(500),background:E().max(450),terms:N(Fv).max(24),excludedTerms:N(E()).max(24)});P({blocks:N(I(`type`,[P({id:O(),type:z(`text`),text:E()}),P({id:O(),type:z(`resource`),resourceId:O()})]))});const Lv=P({summary:j(),glossary:j(),excludedTerms:N(E().max(100)).max(24)});P({sourceUrl:k().nullable(),documentTitle:E(),lines:N(P({id:A().int().positive(),text:E()}))}),P({modelId:E(),notesHash:E(),startTime:E(),meetingDate:E(),timezone:E()}),P({id:O(),title:E(),url:k(),mimeType:E(),size:A(),projectSource:P({projectId:O(),projectName:E(),sourceType:R([`file`,`link`,`task`]),sourceId:O(),capturedAt:B()}).optional(),context:Iv.nullable(),stale:j(),contextUsage:Lv}).omit({mimeType:!0,size:!0,projectSource:!0});const Rv=R([`manual`,`calendar`,`recording`]),zv=R([`local`,`upload`,`zoom`,`youtube`,`media`,`bot`]),Bv=R([`chrome_extension`]),Vv=R([`pending`,`extracting_subtitles`,`downloading`,`transcribing`,`refining`,`completed`,`failed`]),Hv=R([`recall`]),Uv=R([`scheduled`,`joining`,`in_call`,`recording`,`done`,`failed`,`removed`]),Wv=R([`manual`,`api`,`connector`,`calendar_subscription`]),Gv=R([`idle`,`queued`,`generating`,`completed`,`failed`]),Kv=R([`generated`,`import`,`user_edit`,`restore`,`migration`]),qv=P({type:R([`hangoutsMeet`,`zoom`,`teams`,`webex`,`other`]),uri:E().optional(),label:E().optional()}),Jv=P({email:E(),displayName:E().nullable().optional(),role:R([`organizer`,`attendee`,`optional`]).optional(),responseStatus:R([`needsAction`,`declined`,`tentative`,`accepted`]).nullable().optional(),userId:O().nullable().optional()}),Yv=P({start:A(),end:A(),text:E()}),Xv=L(E().regex(/^[A-Z0-9]{1,2}$/u),E().trim().min(1).max(100).regex(/^[^\r\n]+$/u)),Zv=P({handlingType:R([`agent`,`assisted`,`human`]),reason:E().max(2e3),nextStep:E().max(2e3),missingInformation:N(E().max(1e3)).max(20)}),Qv=P({ticketDestination:Mv.optional(),ticketCreation:Nv.optional(),id:O(),revision:A().int().nonnegative(),status:R([`open`,`completed`,`dismissed`]),assignedTo:R([`agent`,`human`]).nullable().optional(),sourceFingerprint:E().regex(/^[a-f0-9]{64}$/u).optional(),execution:P({taskId:O(),reportedAt:B(),note:E().max(4e3)}).optional(),tracking:P({connectorId:O(),externalId:E().min(1).max(500),url:k({protocol:/^https$/}).refine(e=>{try{let t=new URL(e);return!t.username&&!t.password}catch{return!1}}),reportedStatus:E().max(500).nullable(),reportedAt:B(),sourceTaskId:O().optional()}).optional(),analysis:P({status:R([`running`,`succeeded`,`failed`]),requestId:O(),sourceFingerprint:E(),startedAt:B(),finishedAt:B().optional(),result:Zv.optional()}).optional()}),$v=P({description:E(),assignee:E().nullable().optional(),dueDate:E().nullable().optional(),completed:j()}).extend({workflow:Qv.optional()}),ey=R([`private`,`workspace`]),ty=R([`viewer`,`editor`]),ny=R([`owner`,`editor`,`viewer`]),ry=R([`explicit`,`workspace`]),iy=P({userId:O(),userName:E(),userEmail:E(),userImage:E().nullable().optional(),role:ty,grantedBy:O().nullable(),createdAt:B()}),ay=P({teamId:O(),teamName:E(),memberCount:A(),role:ty,grantedBy:O().nullable(),createdAt:B()});P({visibility:ey,userGrants:N(iy),teamGrants:N(ay)}),P({role:ty}),P({title:E().trim().min(1).max(500),description:E().optional(),location:E().optional(),startTime:H.optional(),endTime:H.optional(),conferenceLink:k().optional(),conferenceData:qv.optional(),calendarEventId:O().optional(),notes:E().optional()}),P({title:E().trim().min(1).max(500).optional(),description:E().nullable().optional(),location:E().nullable().optional(),startTime:H.nullable().optional(),endTime:H.nullable().optional(),status:Pv.optional(),conferenceLink:k().nullable().optional(),conferenceData:qv.nullable().optional(),notes:E().nullable().optional(),expectedNotes:E().nullable().optional(),summary:E().nullable().optional(),expectedSummary:E().nullable().optional(),calendarEventId:O().nullable().optional(),visibility:ey.optional()});const oy=P({processedChunks:A().int().nonnegative(),totalChunks:A().int().positive()}),sy=R([`preparing`,`queued`,`transcribing`,`validating`,`finalizing`,`falling_back`]),cy=P({estimated:j().optional(),percentage:A().int().min(0).max(100),batchStage:sy.optional(),batchStartedAt:B().optional(),batchElapsedSeconds:A().int().nonnegative().optional()}),ly=P({provisionalCoverageRatio:A().min(0).max(1),finalTranscription:oy}),uy=P({transcript:E(),transcriptWithTimestamps:E(),segments:N(Yv),summary:E().nullable(),actionItems:N($v).nullable().optional(),generatedAt:B(),stability:P({coverageRatio:A().min(0).max(1),eligible:j(),failedChunkCount:A().int().nonnegative(),maxGapSec:A().nonnegative(),missingRangeCount:A().int().nonnegative(),pendingChunkCount:A().int().nonnegative(),reason:E()})}),dy=uy.pick({summary:!0,actionItems:!0}),fy=R([`pending`,`ready`,`failed`]);P({url:E(),downloadUrl:E()}),P({id:O(),uploadedBy:O(),meetingId:O(),title:E(),duration:A().nullable(),transcript:E().nullable(),transcriptWithTimestamps:E().nullable(),segments:N(Yv).nullable(),speakerNames:Xv,transcriptRevision:A().int().nonnegative(),needsSummaryRefresh:j(),isSummaryStale:j(),summary:E().nullable(),actionItems:N($v).nullable(),summaryStatus:Gv,audioStorageKey:E().nullable(),videoStorageKey:E().nullable().optional(),videoStatus:fy.nullable().optional(),canRetranscribe:j().optional(),captureClient:Bv.nullable().optional(),processingStatus:Vv.nullable(),isLiveRecording:j().optional().describe(`Recent unfinished local recording activity within the orphan idle window; not a guarantee that capture remains connected.`),captureOutcome:z(`no_recording`).nullable().optional(),transcriptionOutcome:R([`speech`,`no_speech`]).nullable().optional(),transcriptionNotice:R([`no_speech_skipped`,`speech_unconfirmed`]).nullable().optional(),processingProgress:cy.nullable().optional(),hybridProgress:ly.nullable().optional(),provisionalResult:uy.nullable().optional(),transcriptionProgress:oy.nullable().optional(),recordedAt:B().nullable(),createdAt:B(),updatedAt:B()});const py=P({hasVideo:j().optional(),id:O(),title:E(),duration:A().nullable(),hasSummary:j(),hasTranscript:j(),canRetry:j().optional(),needsSummaryRefresh:j(),isSummaryStale:j(),summary:E().nullable().optional(),actionItems:N($v).nullable().optional(),summaryStatus:Gv,source:zv.nullable().optional(),captureClient:Bv.nullable().optional(),processingStatus:Vv.nullable(),captureOutcome:z(`no_recording`).nullable().optional(),transcriptionOutcome:R([`speech`,`no_speech`]).nullable().optional(),transcriptionNotice:R([`no_speech_skipped`,`speech_unconfirmed`]).nullable().optional(),processingProgress:cy.nullable().optional(),hybridProgress:ly.nullable().optional(),provisionalResult:dy.nullable().optional(),transcriptionProgress:oy.nullable().optional(),recordedAt:B().nullable(),createdAt:B(),updatedAt:B().optional()}),my=R([`transcript`,`summary`]),hy=P({id:O(),name:E()}),gy=P({id:O(),versionNumber:A().int().nonnegative(),origin:Kv,restoredFromVersionId:O().nullable(),createdBy:hy.nullable(),createdAt:B(),excerpt:E().nullable()});P({contentType:my,currentVersionId:O().nullable(),canRestore:j(),versions:N(gy),nextVersionNumber:A().int().nonnegative().nullable()});const _y=gy.omit({excerpt:!0});I(`contentType`,[_y.extend({contentType:z(`transcript`),transcript:E().nullable(),transcriptWithTimestamps:E().nullable(),rawTranscript:E().nullable(),segments:N(Yv).nullable(),speakerNames:Xv}),_y.extend({contentType:z(`summary`),summary:E(),actionItems:N($v).nullable(),sourceTranscriptRevision:A().int().nonnegative().nullable()})]),P({expectedHeadVersionId:O()}),P({currentVersionId:O().nullable(),canRestore:j(),versions:N(gy),nextVersionNumber:A().int().positive().nullable()}),_y.extend({summary:E(),actionItems:N($v).nullable(),sourceRecordingSummaryVersionIds:N(O())});const vy=P({recordingStartedAt:B().nullable().optional(),saveVideo:j().default(!1),recordingControlPending:j().default(!1),videoCaptureActive:j().default(!1),id:O(),meetingRecordingId:O().nullable(),provider:Hv,meetingUrl:E(),botName:E().nullable(),status:Uv,statusDetail:E().nullable(),dispatchSource:Wv,joinedAt:B().nullable(),endedAt:B().nullable(),recordingReadyAt:B().nullable(),createdAt:B(),updatedAt:B()});P({relatedActiveBot:P({meetingId:O(),status:Uv,dispatchedAt:B(),dispatchedBy:P({id:O(),name:E().nullable()}).nullable(),canAccess:j()}).nullable()});const yy=R([`all`,`matching_rules`,`none`]),by=P({field:R([`meeting_type`,`meeting_title`]),matchType:R([`is`,`is_not`,`contains`,`does_not_contain`]),value:E().trim().min(1).max(200)}).superRefine((e,t)=>{if(e.field===`meeting_type`){e.matchType!==`is`&&e.matchType!==`is_not`&&t.addIssue({code:`custom`,path:[`matchType`],message:`meeting_type conditions must use is / is_not`}),e.value!==`internal`&&e.value!==`external`&&t.addIssue({code:`custom`,path:[`value`],message:`meeting_type conditions must match internal / external`});return}e.matchType!==`contains`&&e.matchType!==`does_not_contain`&&t.addIssue({code:`custom`,path:[`matchType`],message:`meeting_title conditions must use contains / does_not_contain`})});P({settings:P({recorderAgentName:E().trim().min(1).max(100),recordingPolicy:yy,saveVideo:j().default(!1),conditions:N(by).max(20)}).superRefine((e,t)=>{e.recordingPolicy===`matching_rules`&&e.conditions.length===0&&t.addIssue({code:`custom`,path:[`conditions`],message:`matching_rules requires at least one condition`})}).nullable(),hasCalendarAccounts:j()}),P({policyVersion:E(),segmentSeconds:A().int().positive(),minFlushSegmentSeconds:A().positive(),maxSegmentDurationSeconds:A().int().positive(),idlePollIntervalMs:A().int().positive(),pendingPollBackoffIntervalsMs:N(A().int().positive()).min(1),pendingPollIntervalMs:A().int().positive(),pollJitterRatio:A().min(0).max(1),uploadTimeoutMs:A().int().positive(),liveTranscriptionModelTimeoutMs:A().int().positive(),maxQueuedSegments:A().int().positive(),maxPendingChunks:A().int().positive(),maxUploadBytes:A().int().positive(),displayLagSeconds:A().nonnegative(),timelineCatchUpIntervalMs:A().int().positive(),timelineGapRevealAheadChunks:A().int().nonnegative(),timelineMaxBurstSegments:A().int().positive(),timelineMaxDisplaySegmentDurationSeconds:A().positive(),timelineMinDisplaySegmentDurationSeconds:A().positive(),timelineTypingCriticalBacklogChars:A().int().positive(),timelineTypingCriticalCharsPerSecond:A().int().positive(),timelineTypingHighBacklogChars:A().int().positive(),timelineTypingHighBacklogCharsPerSecond:A().int().positive(),timelineTypingLowBacklogChars:A().int().positive(),timelineTypingLowBacklogCharsPerSecond:A().int().positive(),timelineTypingNormalCharsPerSecond:A().int().positive(),timelineTypingRevealTickMs:A().int().positive()});const xy=P({userId:O(),name:E().nullable(),email:E(),image:E().nullable().optional()});P({id:O(),workspaceId:O(),createdBy:O(),owner:xy.optional(),calendarEventId:O().nullable(),title:E(),description:E().nullable(),location:E().nullable(),startTime:E().nullable(),endTime:E().nullable(),status:Pv,source:Rv,conferenceLink:E().nullable(),conferenceData:qv.nullable(),notes:E().nullable(),summary:E().nullable(),actionItems:N($v).nullable().optional(),calendarEvent:P({title:E(),providerEventId:E(),calendarId:E(),provider:R([`google`,`outlook`,`caldav`]),providerCalendarId:E(),startTime:E(),endTime:E()}).nullable(),participants:N(Jv).optional(),recordings:N(py).optional(),hasEverRecorded:j().optional(),meetingBots:N(vy).optional(),isOwner:j().optional(),sharedVia:ry.optional(),visibility:ey,myRole:ny.optional(),createdAt:B(),updatedAt:B()});const Sy=P({hasVideo:j().optional(),id:O(),title:E(),sortTime:E(),createdAt:B(),updatedAt:B(),startTime:E().nullable(),endTime:E().nullable(),status:Pv.nullable(),source:Rv.nullable(),conferenceLink:E().nullable(),hasRecordings:j(),hasNotes:j().optional(),hasEverRecorded:j().optional(),participantCount:A().nullable(),isOwner:j(),myRole:ny,owner:xy.optional(),sharedVia:ry.optional(),isSharedWithOthers:j().optional(),duration:A().nullable(),hasTranscript:j(),hasSummary:j(),summaryStatus:Gv,recordingStats:P({total:A().int().nonnegative(),available:A().int().nonnegative(),processing:A().int().nonnegative(),needsAttention:A().int().nonnegative(),failed:A().int().nonnegative().optional(),noRecording:A().int().nonnegative()}).optional(),recordingSource:zv.nullable(),processingStatus:Vv.nullable(),hasActiveMeetingBot:j().optional(),activeMeetingBot:vy.optional()}),Cy=P({meetingId:E(),userId:E(),userName:E(),userEmail:E(),userImage:E().nullable().optional(),createdAt:B()});P({recordings:N(py),nextKey:E().optional()}),P({meetings:N(Sy),nextKey:E().optional()}),P({shares:N(Cy)}),P({meetings:N(P({id:E(),title:E(),startTime:E().nullable()}))}),P({photos:L(E(),E())});const wy=P({meetingId:O(),title:E(),startTime:E().nullable(),summary:E(),actionItems:N($v)}),Ty=P({meetingId:O(),title:E(),startTime:E().nullable(),item:$v});P({previous:wy.nullable(),seriesActionItems:P({open:N(Ty),recentlyCompleted:N(Ty)}).optional()}),Ul.extend({search:E().trim().max(200).optional(),filter:R([`mine`,`shared`,`all`]).default(`all`),sortBy:R([`updated_at`,`start_time`]).default(`updated_at`),hasContent:Rc().optional(),hasActiveMeetingBot:Rc().optional()});function Ey(e){return e.summary?e.summary:e.recordings?.find(e=>e.summary)?.summary||e.recordings?.find(e=>e.provisionalResult?.summary)?.provisionalResult?.summary}const Dy=Object.values({AGENT:`agent`,SKILL:`skill`}),Oy={ROLE:`role`,BADGE:`badge`,USE_CASE:`use_case`},ky=Object.values(Oy),Ay=P({speaker:R([`user`,`assistant`]),text:E()}),jy=P({id:O(),name:E(),provider:E(),iconUrl:E().nullable(),purpose:E()}),My=P({tag:E(),category:R(ky),label:E()}),Ny=P({slug:E(),type:R(Dy),name:E(),description:E(),iconUrl:E().nullable(),tags:N(My)}),Py=E().optional().transform(e=>Jc(e));P({type:R(Dy).optional(),tag:E().optional(),limit:V().int().min(1).max(100).default(30),cursor:E().optional(),lang:Py}),P({items:N(Ny),nextCursor:E().nullable()}),I(`type`,[P({slug:E(),type:z(`agent`),name:E(),description:E(),iconUrl:E().nullable(),tags:N(My),starterPrompts:N(E()),exampleConversation:N(Ay),connectors:N(jy)}),P({slug:E(),type:z(`skill`),name:E(),description:E(),iconUrl:E().nullable(),tags:N(My),exampleConversation:N(Ay)})]),P({items:N(P({tag:E(),name:E(),tagline:E()}))}),P({toolApprovalMode:qu.optional()}).default({}),P({resourceId:O(),resourceType:R(Dy),workspaceId:O(),taskId:O().nullable(),resourceSlug:E()}),P({type:R(Dy),slug:E().min(1)}),P({lang:Py});const Fy=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Iy=P({connectorId:O(),purpose:E().trim().min(1,`Purpose is required`)}),Ly={name:E().trim().min(1).max(120),description:E().trim().min(1).max(2e3),iconId:O().nullable().optional(),tags:N(E()).default([]),model:fu,systemPrompt:E().trim().min(1),conversationStarters:N(E().trim().min(1)).max(5).default([]),exampleConversation:N(Ay).min(1,`At least one example turn is required`),connectors:N(Iy).refine(e=>new Set(e.map(e=>e.connectorId)).size===e.length,{message:`Each connector can only be added once`}).default([])};P({slug:E().trim().regex(Fy,`Use lowercase-kebab-case`).max(120),...Ly}),P(Ly),P({id:O()}),P({type:R(Dy).optional(),limit:V().int().min(1).max(100).default(30),offset:V().int().min(0).default(0)}),P({items:N(P({id:O(),type:R(Dy),slug:E(),name:E(),description:E(),tags:N(E()),isDelisted:j(),createdAt:B(),updatedAt:B()})),total:A().int().min(0)});const Ry=P({connectorId:O(),name:E(),purpose:E()});P({id:O(),slug:E(),name:E(),description:E(),iconId:O().nullable(),tags:N(E()),model:E(),systemPrompt:E(),conversationStarters:N(E()),exampleConversation:N(Ay),connectors:N(Ry),isDelisted:j(),createdAt:B(),updatedAt:B()}),P({items:N(P({tag:E(),category:R([Oy.ROLE,Oy.BADGE,Oy.USE_CASE])}))}),P({items:N(P({id:O(),name:E(),description:E()}))});const zy={description:E().trim().min(1).max(2e3),iconId:O().nullable().optional(),tags:N(E()).default([]),exampleConversation:N(Ay).min(1,`At least one example turn is required`)};P({slug:E().trim().regex(Fy,`Use lowercase-kebab-case`).max(120),...zy}),P(zy),P({id:O()}),P({id:O(),slug:E(),name:E(),description:E(),iconId:O().nullable(),tags:N(E()),exampleConversation:N(Ay),hasPackagedContent:j(),isDelisted:j(),createdAt:B(),updatedAt:B()}),P({name:E(),description:E()});const By=P({id:A(),content:E(),createdAt:B(),updatedAt:B()});P({limit:V().int().min(1).max(100).default(100),nextKey:E().optional()}),P({memories:N(By),nextKey:E().optional()}),P({workspaceId:O()}),P({workspaceId:O(),memoryId:V().int()}),P({kind:z(`stream_error`),code:R([`context_length_exceeded`,`request_too_large`,`token_compaction_failed`,`rate_limited`,`quota_exhausted`,`auth`,`timeout`,`content_filter`,`subscription_vendor_quota_exhausted`,`subscription_pool_exhausted`,`subscription_pool_not_configured`,`subscription_pool_member_allowance_reached`,`provider_unavailable`,`agent_unavailable`,`unknown`]).catch(`unknown`),errorId:E().max(128).optional()}),P({providers:N(P({id:E(),name:E(),clientId:E().nullable(),authUrl:E(),tokenUrl:E(),usePKCE:j(),defaultScopes:N(E()).nullable(),strategy:E(),configured:j(),builtIn:j(),iconUrl:E().optional()}))});const Vy={AGENT:`agent`,SKILL:`skill`,WORKFLOW:`workflow`,CONNECTOR:`connector`,SCHEDULE:`schedule`,PROJECT:`project`};function Hy({resourceType:e,resourceId:t}){return`${e}:${t}`}const Uy=R([Vy.AGENT,Vy.SKILL,Vy.WORKFLOW,Vy.CONNECTOR,Vy.SCHEDULE,Vy.PROJECT]),Wy=P({resourceType:Uy,resourceId:O(),name:E(),managedAgent:P({channelCount:A().int().nonnegative()}).optional()}),Gy=P({projectId:O(),name:E(),teams:N(P({teamId:O(),name:E()}))});P({hash:E().regex(/^[0-9a-f]{64}$/),items:N(Wy),teamOnlyProjects:N(Gy)});const Ky=I(`action`,[P({resourceType:Uy,resourceId:O(),action:z(`transfer`),successorUserId:O()}),P({resourceType:Uy,resourceId:O(),action:z(`delete`)})]),qy=I(`action`,[P({action:z(`transfer`),successorUserId:O()}),P({action:z(`delete`)})]);P({inventoryHash:E().min(1),defaultAction:qy.optional(),decisions:N(Ky).max(1e3).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.entries()){let e=Hy(i);n.has(e)?t.addIssue({code:`custom`,path:[r],message:`Duplicate decision for resource`}):n.add(e)}})}),P({transferred:A(),deleted:A()}),P({userId:O()}),P({roleId:O()}),P({url:Xd.refine(e=>{if(!URL.canParse(e))return!1;let t=new URL(e);return!t.username&&!t.password&&!t.port},`Preview URLs must not contain credentials or a custom port`)}),P({title:E().max(300).nullable(),description:E().max(600).nullable(),siteName:E().max(100).nullable()});const Jy=P({en:R([`en-US`,`en-GB`]).optional(),zh:R([`zh-CN`,`zh-HK`,`zh-TW`]).optional(),es:R([`es-MX`,`es-ES`,`es-US`]).optional(),fr:R([`fr-FR`,`fr-CA`]).optional(),pt:R([`pt-PT`,`pt-BR`]).optional()}).strict(),Yy=P({displayName:E().nullable(),jobTitle:E().nullable(),language:E().nullable(),customPreferences:E().nullable(),voiceLanguageVariants:Jy.nullable(),updatedAt:B()});P({displayName:E().trim().max(100).nullable().optional(),jobTitle:E().trim().max(100).nullable().optional(),language:E().trim().max(100).nullable().optional(),customPreferences:E().trim().max(1e3).nullable().optional(),voiceLanguageVariants:Jy.nullable().optional()}),P({workspaceId:O()}),Yy.extend({updatedAt:B().nullable()}),P({workspaceId:O()}),P({workspaceId:O(),teamId:O(),publishId:O()}),P({workspaceId:O(),teamId:O()});const Xy=[pf.MEMBER,pf.MANAGER,pf.OWNER];P({resourceType:mp,resourceId:O(),versionId:O().optional(),teamIds:N(O()).min(1).max(20).refine(e=>new Set(e).size===e.length,{message:`teamIds must not contain duplicates`}),message:E().trim().max(500).optional()}),P({roles:N(R(Xy)).min(1).refine(e=>new Set(e).size===e.length,{message:`Roles must be unique`})}),P({roles:N(R(Xy)).min(1).refine(e=>new Set(e).size===e.length,{message:`Roles must be unique`})}),P({items:N(P({id:O(),resource:_p,author:gp,requester:gp,teamId:O(),versionNumber:A().int().nullable(),status:R(hp),message:E().nullable(),roles:N(R(Xy)).nullable(),reviewer:gp.nullable(),reviewedAt:B().nullable(),rejectReason:E().nullable(),createdAt:B(),updatedAt:B()})),nextKey:E().optional()}),P({count:A().int()}),P({workspaceId:O()}),P({workspaceId:O(),publishId:O()}),P({resourceType:mp,resourceId:O(),versionId:O().optional(),message:E().trim().max(500).optional()}),P({roleIds:N(O()).min(1).optional()}),P({roleIds:N(O()).nullable().optional()}),P({items:N(P({id:O(),resource:_p,author:gp.nullable(),requester:gp.nullable(),versionNumber:A().int().nullable(),workspaceId:O(),status:R(hp),message:E().nullable(),roleIds:N(O()).nullable(),reviewer:gp.nullable(),reviewedAt:B().nullable(),rejectReason:E().nullable(),createdAt:B(),updatedAt:B()})),total:A().int().nonnegative(),nextKey:E().optional()}),P({resourceType:mp.optional()}),P({count:A().int()});const Zy=P({low:A().min(-12).max(12),mid:A().min(-12).max(12),high:A().min(-12).max(12)});P({startSeconds:A().int().nonnegative(),endSeconds:A().int().positive(),equalizer:Zy.optional()}).refine(e=>e.endSeconds-e.startSeconds>=1,{message:`Keep at least one second of audio`,path:[`endSeconds`]}).safeExtend({requestId:O(),expectedTranscriptRevision:A().int().nonnegative()}),P({recordingId:O(),meetingId:O()});const Qy=R([`web`,`desktop`,`chrome_extension`]);P({sessionId:O(),ownerId:O(),client:Qy,title:E().trim().min(1).max(500)});const $y=P({sessionId:O(),ownerId:O()});$y.extend({phase:R([`capturing`,`finalizing`])}),$y.extend({reason:R([`saved`,`discarded`,`start_failed`])}),P({sessionId:O(),lastSeenAt:B(),confirmedStopped:z(!0)});const eb=P({sessionId:O(),ownerId:O(),userId:O(),workspaceId:O(),client:Qy,title:E(),recordingId:O().nullable(),meetingId:O().nullable(),phase:R([`capturing`,`finalizing`]),health:R([`active`,`unknown`]),startedAt:B(),lastSeenAt:B()});P({userId:O(),capture:eb.nullable()}).extend({acquired:j()}),P({peaks:N(A().min(0).max(1)).max(1728e3),duration:A().positive(),secondsPerPeak:A().positive()}),P({version:z(1),transcriptRevision:A().int().nonnegative(),operationId:O().optional(),model:E(),processingPath:R([`batch`,`chunks`]).optional(),kind:R([`upload`,`trim`,`retry`]),fileBytes:A().nonnegative(),format:E(),audioSeconds:A().nonnegative(),uploadSeconds:A().positive(),observedUploadSeconds:A().positive().optional(),processingSeconds:A().positive(),uploadSampleCount:A().int().nonnegative(),processingSampleCount:A().int().nonnegative(),preparedAt:B(),processingStartedAt:B().optional(),completedAt:B().optional(),uploadFraction:A().min(0).max(.99).optional()}),[{extension:`mp3`,mimeTypes:[`audio/mpeg`]},{extension:`m4a`,mimeTypes:[`audio/mp4`,`audio/x-m4a`]},{extension:`wav`,mimeTypes:[`audio/wav`,`audio/wave`]},{extension:`mp4`,mimeTypes:[`video/mp4`]},{extension:`webm`,mimeTypes:[`audio/webm`,`video/webm`]},{extension:`aac`,mimeTypes:[`audio/aac`]},{extension:`ogg`,mimeTypes:[`audio/ogg`]},{extension:`flac`,mimeTypes:[`audio/flac`]},{extension:`mpeg`,mimeTypes:[`audio/mpeg`]}].map(({extension:e})=>`.${e}`),P({url:k(),title:E().trim().min(1).max(500).optional(),preferredLanguage:E().trim().min(2).max(10).regex(/^[a-zA-Z]{2,3}(-[a-zA-Z]{2,8})?$/,`Invalid language code format`).optional()}),P({recordingId:O(),source:z(`media`),message:E()}),P({url:k()}),P({url:E(),type:z(`media`),title:E(),duration:A().optional(),thumbnailUrl:E().optional(),contentType:E().optional(),fileSize:A().optional(),extractor:E().optional(),channelName:E().optional(),uploadDate:E().optional()}),P({downloadUrl:E(),playbackPending:j(),url:E()}),P({eventId:O(),occurredAt:B(),clientVersion:E().max(64),captureClient:R([`chrome_extension`,`web`,`desktop`,`mobile`]),stage:R([`capture`,`persistence`,`live_upload`,`finalize`,`upload`]),outcome:R([`started`,`completed`,`failed`,`degraded`,`recovered`]),reason:R([`started`,`stopped`,`capture_failed`,`capture_interrupted`,`storage_unavailable`,`storage_write_failed`,`finalize_failed`,`upload_failed`,`upload_completed`,`upload_recovered`,`live_segment_dropped`,`live_segment_recovered`]),attempt:A().int().min(0).max(100).optional(),seq:A().int().min(0).optional(),status:A().int().min(0).max(599).optional(),recoverable:j().optional()}),P({deploymentMode:kv,features:P({enableCapability:j(),enableCapabilityProviderSwitch:j(),enableChatbotSlack:j(),enableChatbotTeams:j(),enableOutgoingWebhooks:j(),enableProject:j(),enableScheduleActiveWindows:j(),enableScheduleJudge:j(),scheduleJudgeDefaultEnabled:j()})});const tb=P({id:O(),name:E(),email:E(),image:E().nullable().optional()}),nb=P({id:O(),name:E()});P({subjectType:vf,subjectId:O()}),P({grants:N(I(`subjectType`,[P({subjectType:z(_f.USER),subjectId:O(),userId:O().optional(),role:gf,user:tb}),P({subjectType:z(_f.TEAM),subjectId:O(),teamId:O().optional(),role:gf,team:nb})]))}),P({role:gf});function rb(e){return e.subjectType===_f.USER}function ib(e){return e.grants.filter(rb)}P({workspaceId:O(),resourceType:mp}),P({teams:N(P({id:O(),name:E()}))}),P({roles:N(P({id:O(),name:E(),description:E().optional(),isDefault:j(),memberCount:A().int(),permissions:N(E()),fixedPermissions:N(E()).optional(),createdAt:B(),updatedAt:B()})),nextKey:E().optional()}),P({name:E().trim().min(1).max(100),description:E().trim().max(500).optional(),permissions:N(Fu).min(1)}),P({name:E().trim().min(1).max(100),description:E().trim().max(500).optional(),permissions:N(Fu).min(1)});const ab=R([`skills`,`connectors`,`schedules`,`chatbot`,`workflows`,`projects`,`meetings`,`marketplace`]),ob=N(ab).transform(e=>[...new Set(e)]),sb=P({roleId:O(),hiddenEntries:ob});P({roles:N(sb)}),P({roles:N(sb)}),P({hiddenEntries:N(ab)});const cb={},lb={};function ub(e,t){try{let n=(cb[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in lb?lb[n]:fb(n,n.split(`:`))}catch{if(e in lb)return lb[e];let t=e?.match(db);return t?fb(e,t.slice(1)):NaN}}const db=/([+-]\d\d):?(\d\d)?/;function fb(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return lb[e]=n*60+r>0?n*60+r+i:n*60-r-i}var pb=class e extends Date{constructor(...e){super(),e.length>1&&typeof e[e.length-1]==`string`&&(this.timeZone=e.pop()),this.internal=new Date,isNaN(ub(this.timeZone,this))?this.setTime(NaN):e.length?typeof e[0]==`number`&&(e.length===1||e.length===2&&typeof e[1]!=`number`)?this.setTime(e[0]):typeof e[0]==`string`?this.setTime(+new Date(e[0])):e[0]instanceof Date?this.setTime(+e[0]):(this.setTime(+new Date(...e)),_b(this,e)):this.setTime(Date.now())}static tz(t,...n){return n.length?new e(...n,t):new e(Date.now(),t)}withTimeZone(t){return new e(+this,t)}getTimezoneOffset(){let e=-ub(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),hb(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};const mb=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!mb.test(e))return;let t=e.replace(mb,`$1UTC`);pb.prototype[t]&&(e.startsWith(`get`)?pb.prototype[e]=function(){return this.internal[t]()}:(pb.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),gb(this),+this},pb.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),hb(this),+this}))});function hb(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-ub(e.timeZone,e)*60))}function gb(e){Date.prototype.setFullYear.call(e,e.internal.getUTCFullYear(),e.internal.getUTCMonth(),e.internal.getUTCDate()),Date.prototype.setHours.call(e,e.internal.getUTCHours(),e.internal.getUTCMinutes(),e.internal.getUTCSeconds(),e.internal.getUTCMilliseconds()),_b(e)}function _b(e,t){let n=Array.isArray(t)?vb(t):+e.internal,r=ub(e.timeZone,e),i=r>0?Math.floor(r):Math.ceil(r),a=new Date(+e);a.setUTCHours(a.getUTCHours()-1);let o=-new Date(+e).getTimezoneOffset(),s=-new Date(+a).getTimezoneOffset(),c=o-s,l=o;if(c&&o!==i&&Date.prototype.getHours.apply(e)!==(Array.isArray(t)?t[3]||0:e.internal.getUTCHours())){let t=new Date(+e),n=o-i;n&&t.setUTCMinutes(t.getUTCMinutes()+n);let r=ub(e.timeZone,t);(r>0?Math.floor(r):Math.ceil(r))===i&&(l=s)}let u=l-i;u&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+u);let d=new Date(+e);d.setUTCSeconds(0);let f=o>0?d.getSeconds():(d.getSeconds()-60)%60,p=Math.round(-(ub(e.timeZone,e)*60))%60;(p||f)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+f);let ee=ub(e.timeZone,e),te=ee>0?Math.floor(ee):Math.ceil(ee),ne=-new Date(+e).getTimezoneOffset()-te,re=te!==i,ie=ne-u,ae=te-i,oe=n-te*60*1e3,se=ae>0&&yb(e)-n===ae*60*1e3&&yb(e,oe)!==n;if(re&&ie&&!se){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+ie);let t=ub(e.timeZone,e),n=te-(t>0?Math.floor(t):Math.ceil(t));n&&ie<0&&Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+n)}hb(e);let ce=(t?n:n+p*1e3)-+e.internal;ce&&Math.abs(ce)<1800*1e3&&(Date.prototype.setTime.call(e,+e+ce),hb(e))}function vb(e){return Date.UTC(e[0],e.length>1?e[1]:0,e.length>2?e[2]:1,...e.slice(3))}function yb(e,t){let n=new Date(t??+e);return n.setUTCSeconds(n.getUTCSeconds()-Math.round(-ub(e.timeZone,n)*60)),+n}const bb=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u,xb=L(E().regex(/^[A-Za-z_][A-Za-z0-9_]*$/u),E()).optional();P({runId:E().regex(bb),command:E().min(1),cwd:E().optional(),env:xb,secretEnv:xb,deadlineMs:A().int().min(1e3).max(72e5),outputLimitBytes:A().int().positive().max(1073741824).default(104857600)});const Sb=E().length(12).regex(/^[a-z0-9]+$/u),Cb=F([I(`mode`,[P({mode:z(`version`),versionId:O()}),P({mode:z(`work`),taskId:O()})]),P({mode:z(`file`),fileId:O()}),P({mode:z(`live`)})]);tc({siteKey:Sb,env:E().min(1),serve:Cb,iat:A().optional(),exp:A().optional()});const wb=[`preview_site_ready`,`preview_site_publish`,`preview_site_read`,`preview_site_delete`];function Tb(e,t){let n=new Set;for(let r of e){let e=t(r);if(n.has(e))return e;n.add(e)}}const Eb=N(E().min(1)).superRefine((e,t)=>{let n=Tb(e,e=>e);n&&t.addIssue({code:`custom`,message:`Duplicate path: ${n}`})});R(wb);const Db={env:E().min(1),sandboxDomain:E().min(1),sandboxId:E().min(1)},Ob={...Db,siteDir:E().min(1).default(`app`)},kb={env:E().min(1),siteKey:Sb},Ab={...kb,serve:Cb};I(`op`,[P({op:z(`preview_site_ready`),...Ob}),P({op:z(`preview_site_publish`),...Ob}),P({op:z(`preview_site_delete`),...Db})]),I(`op`,[P({op:z(`preview_site_ready`),...Ab}),P({op:z(`preview_site_publish`),...Ab}),P({op:z(`preview_site_read`),...Ab}),P({op:z(`preview_site_delete`),...kb})]),P({files:N(P({path:E().min(1),contentBase64:Ls(`Invalid base64 content`),contentType:E().optional()})).max(128).superRefine((e,t)=>{let n=Tb(e,e=>e.path);n&&t.addIssue({code:`custom`,message:`Duplicate path: ${n}`})}),finalize:j().default(!0),manifestFiles:Eb.optional()}).superRefine((e,t)=>{if(!e.finalize||!e.manifestFiles)return;let n=new Set(e.manifestFiles);for(let r of e.files)if(!n.has(r.path)){t.addIssue({code:`custom`,message:`Manifest is missing published file: ${r.path}`});return}}),P({filesUploaded:A().int().nonnegative(),filesDeleted:A().int().nonnegative()}),P({files:Eb});const jb=Object.values({BUILT_IN:`built_in`,CUSTOM:`custom`}),Mb=[`updatedAt`,`name`];Ul.extend({createdBy:R([`me`]).optional(),search:E().trim().max(200).optional(),sortBy:R(Mb).optional()});const Nb=P({id:O(),name:E(),isMe:j()}),Pb=P({id:O()}).nullable(),Fb=P({id:O(),name:E(),description:E(),type:R(jb).optional(),provider:E().nullable(),author:Nb.nullable(),publish:Pb,publishedTo:yp.optional(),team:P({id:O(),name:E()}).optional().describe(`The team this skill is published to, only present when createdBy is team`),versionNumber:A().int().nullable().optional(),isEnabled:j(),myRole:Y,createdAt:B(),updatedAt:B()});P({skills:N(Fb),nextKey:E().optional()}),P({id:O(),workspaceId:O(),authorId:O(),name:E(),description:E(),currentVersionId:O(),createdAt:B(),updatedAt:B()}),P({workspaceId:O(),skillId:O(),versionId:O()});const Ib=P({id:O(),name:E()}),Lb=P({id:O(),versionNumber:A().int().min(1),description:E(),createdBy:Ib,createdAt:B()});P({skillId:O(),skillName:E(),versions:N(Lb)}),P({url:k()}),P({search:E().trim().max(200).optional(),status:R(Op).optional(),nextKey:E().optional(),limit:V().int().min(1).max(100).default(20),sortBy:R(Mb).optional()}),P({skills:N(P({id:O(),name:E(),description:E().optional(),hasUnpublishedChanges:j(),latestVersionNumber:A().int().nullable(),publishedTo:yp.optional(),myRole:Y,createdAt:B(),updatedAt:B()})),nextKey:E().optional(),totalCount:A().int().nonnegative(),statusCounts:kp}),Ul.extend({createdBy:R([`workspace`,`team`,`me`]).optional(),teamId:O().optional(),search:E().trim().max(200).optional(),sortBy:R(Mb).optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}),P({field:E(),message:E()}),P({workspaceId:O(),skillId:O()}),P({isEnabled:j()}),P({isEnabled:j()}),P({skills:N(Fb),nextKey:E().optional()}),P({workspaceId:O(),skillId:O()});const Rb=P({path:E(),size:A().int().nonnegative()});P({skillId:O(),skillName:E(),description:E(),versionId:O(),files:N(Rb)}),P({workspaceId:O(),skillId:O()}),P({path:E().trim().min(1).max(1024)}),I(`kind`,[P({kind:z(`text`),path:E(),size:A().int().nonnegative(),content:E()}),P({kind:z(`image`),path:E(),size:A().int().nonnegative(),content:E()}),P({kind:z(`binary`),path:E(),size:A().int().nonnegative()}),P({kind:z(`too_large`),path:E(),size:A().int().nonnegative()})]);const zb=R([`queued`,`running`,`completed`,`failed`,`cancelled`]),Bb=zb,Vb=R([`subagent`,`workflow`]);function Hb(e){return e===`subagent`?`subagentRuns`:`workflowRuns`}const Ub=new Set([`completed`,`failed`,`cancelled`]);function Wb(e){return Ub.has(e)}function Gb(e){return e.at(-1)?.toolCallCount??0}P({runs:N(P({runId:E(),kind:Vb,status:Bb,label:E(),startedAt:E().nullable(),createdAt:E()}))}),P({runId:O(),status:zb,startedAt:E().nullable(),progress:Fc().nullable().meta({type:`object`}),result:Fc().nullable().meta({type:`object`}),error:Fc().nullable().meta({type:`object`})});const Kb=R([`chatgpt`]),qb=R([`active`,`expired`,`needs_reauth`,`quota_exhausted`,`error`]),Jb=Su,Yb=P({observedAt:B(),windows:L(E(),Jb),resetCreditsAvailable:A().int().nonnegative().optional()}),Xb=P({id:O(),provider:Kb,label:E(),accountId:E(),status:qb,quotaResetAt:B().nullable(),quota:Yb.nullable(),lastCheckedAt:B().nullable(),createdAt:B()});P({accounts:N(Xb)}),P({outcome:R([`reset`,`nothing_to_reset`,`no_credit`,`already_redeemed`]),windowsReset:A().int().nonnegative(),account:Xb}),P({accountIds:N(O()).min(1)}),P({provider:Kb,label:E().trim().min(1).max(100).optional()}),P({provider:Kb}),P({status:R([`pending`,`connected`,`error`]),account:Xb.nullable(),lastError:E().nullable()}),P({errorMessage:E().min(1).max(1e3),url:k().max(2e3).optional(),userAgent:E().max(500),workspaceId:O().optional(),sentryEventId:E().max(64).optional(),description:E().max(5e3).nullable()}),P({requestId:A().int()});const Zb=P({taskRunId:O(),streamId:O().nullable(),status:R([`queued`,`running`,`waiting`]),waitingReason:R([`approval`,`background`,`client`]).nullable(),pendingToolCalls:N(P({toolCallId:E(),toolName:E(),state:E()})).optional()});P({code:z(`task_busy`),data:Zb}),P({message:P({id:E().optional(),role:E(),parts:N(P({type:E(),text:E().optional()}))}).optional(),fileIds:N(E()).optional()}),R([`step_limit`,`usage_exhausted`,`output_limit`,`retry_limit`,`client_unresponsive`]);const Qb=[`pending`,`running`,`completed`,`failed`,`cancelled`],$b=[`input`,`output`],ex=R(Qb),tx=R($b),nx=P({taskAssetId:O(),role:tx}),rx=P({id:O(),position:A().int().positive().nullable(),title:E(),status:ex,startedAt:Vc().nullable(),finishedAt:Vc().nullable(),assets:N(nx)}),ix=P({id:O(),taskRunId:O(),revision:A().int().nonnegative(),items:N(rx)}),ax=rx.extend({startedAt:B().nullable(),finishedAt:B().nullable()});ix.extend({items:N(ax)}),P({workspaceId:O()}),P({workspaceId:O(),teamId:O()}),P({workspaceId:O(),teamId:O(),userId:O()});const ox=[pf.OWNER,pf.MANAGER,pf.MEMBER],sx=[mf.VISIBLE,mf.HIDDEN],cx=[pf.OWNER,pf.MANAGER,pf.MEMBER],lx=P({email:xs(),role:R(cx)});P({name:E().trim().min(1).max(100),description:E().trim().max(500).nullable().default(null),visibility:R(sx).optional(),requireReview:j().optional(),acceptExternalSubmissions:j().optional(),members:N(lx).min(1).max(50).optional()}),P({name:E().trim().min(1).max(100).optional(),description:E().trim().max(500).nullable().optional(),visibility:R(sx).optional(),requireReview:j().optional(),acceptExternalSubmissions:j().optional()}).refine(e=>e.name!==void 0||e.description!==void 0||e.visibility!==void 0||e.requireReview!==void 0||e.acceptExternalSubmissions!==void 0,{message:`At least one field must be provided`}),P({members:N(lx).min(1).max(50)}),P({role:R(cx)});const ux=P({id:O(),name:E()});P({teams:N(P({id:O(),name:E(),description:E().nullable(),visibility:R(sx),requireReview:j(),acceptExternalSubmissions:j(),memberCount:A().int(),currentUserRole:R(ox).nullable(),createdBy:ux,createdAt:B(),updatedAt:B()}).extend({publishPendingCount:A().int(),published:j().optional()})),nextKey:E().optional()}),Ul.extend({search:E().trim().max(200).optional(),resourceType:mp.optional(),resourceId:O().optional()}),P({members:N(P({userId:O(),name:E(),email:E(),role:R(ox),createdAt:B()})),total:A().int().nonnegative()}),Wl.extend({search:E().trim().max(200).optional()}),R([`queued`,`running`,`completed`,`failed`,`cancelled`,`unknown`]),P({platform:R([`posthog`,`sentry`,`zendesk`])}),P({id:O()});const dx=1e3,fx=R([`personal`,`team`,`workspace`]),px=R([`manual`,`auto_learned`]),mx=P({id:O(),workspaceId:O(),scope:fx,userId:O().nullable(),teamId:O().nullable(),term:E(),usageContext:E().nullable(),source:px,createdBy:O().nullable(),createdAt:B(),updatedAt:B()}),hx=P({workspaceId:O()}),gx=hx.extend({teamId:O()});hx.extend({entryId:O()}),gx.extend({entryId:O()}),P({limit:V().int().min(1).max(100).default(100),nextKey:E().optional()}),P({entries:N(mx),nextKey:E().optional()});const _x=E().trim().min(1).max(200);P({term:_x,usageContext:E().trim().max(dx).nullable().optional()}),P({term:_x.optional(),usageContext:E().trim().max(dx).nullable().optional()}).refine(e=>Object.keys(e).length>0,{message:`At least one field is required`});const vx=L(E(),M()),yx=E().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/,`node id must be lower_snake_case`),bx=R(su),xx=F([z(`auto`),bx]),Sx=R([`routine`,`reasoning`,`judgment`]),Cx=R([`implicit_auto`,`fanout_max_excluded`,`only_enabled_tier`,`single_eligible_tier`,`tier_unavailable`]),wx=P({requestedTier:xx,classifiedDemand:Sx.optional(),selectedTier:bx,source:R([`pinned`,`classified`,`fallback`,`policy`,`chat-router`]),constraints:N(Cx),policyVersion:R([`chat-router-v1`,`workflow-v1`])});P({id:yx,label:E().min(1).max(120)}).extend({kind:z(`agent`),promptTemplate:E().min(1),agentId:O().optional(),toolAllowlist:N(E()).optional(),outputSchema:vx.optional(),modelSelection:xx.optional(),maxSteps:A().int().min(1).max(50).optional()}),P({status:R([`queued`,`running`,`done`,`failed`]),output:M().optional(),error:E().optional(),durationMs:A().int().optional(),tokens:A().int().optional(),usage:P({inputTokens:A().int(),outputTokens:A().int(),totalTokens:A().int(),reasoningTokens:A().int(),cachedInputTokens:A().int(),cachedCreationTokens:A().int(),model:E().optional()}).optional(),fanOut:P({total:A().int(),done:A().int(),failed:A().int(),running:A().int()}).optional(),label:E().optional(),kind:R([`agent`,`fan_out`]).optional(),seq:A().int().optional(),prompt:E().optional(),invocation:P({schema:M().optional(),toolAllowlist:N(E()).optional(),agentId:E().optional(),maxSteps:A().int().optional(),model:xx.optional()}).optional(),modelAllocation:wx.optional(),stepCount:A().int().optional(),toolCalls:N(P({name:E(),summary:E()})).optional(),phaseId:E().optional(),phaseSeq:A().int().optional()}),P({workflows:N(P({id:O(),name:E(),description:E().nullable(),scriptSource:E(),isActive:j(),createdAt:B(),updatedAt:B(),myRole:Y})),nextKey:E().optional()});const Tx=R([`queued`,`running`,`completed`,`failed`,`cancelled`]),Ex=P({id:O(),status:Tx,startedAt:B().nullable(),completedAt:B().nullable(),error:M().nullable(),createdAt:B()});P({runs:N(Ex),nextKey:E().optional()}),Ex.extend({workflowId:O(),context:Fc().meta({type:`object`}),scriptSnapshot:E(),args:M().nullable()}),P({error:E(),code:E().optional(),errorId:E().max(128).optional()});const Dx=E().regex(/^(?:rs1:[0-9a-f-]{36}:\d+:\d+:[0-9a-f]{64}|rsl1:[0-9a-f-]{36}:[0-9a-f-]{36}:\d+)$/);P({recordingId:O(),transcriptRevision:A().int().nonnegative(),segmentIndex:A().int().nonnegative(),mediaFingerprint:E().regex(/^[0-9a-f]{64}$/)}),P({recordingId:O(),chunkId:O(),segmentIndex:A().int().nonnegative()});const Ox=P({start:A().nonnegative(),end:A().nonnegative(),text:E(),speaker:E().nullable(),speakerName:E().nullable()});P({sourceId:Dx,recordingId:O(),meetingId:O(),title:E(),transcriptRevision:A().int().nonnegative(),segment:Ox,context:N(Ox),audioUrl:E().nullable(),audioOffsetSec:A().nonnegative().optional(),playbackPending:j().optional(),isHistorical:j()});const kx=[`apiUrl`,`hubUrl`];function Ax(e,t){if(e!==`apiUrl`)return null;let n;try{({pathname:n}=new URL(t))}catch{return null}return n.replace(/\/+$/u,``).endsWith(`/api`)?`Warning: ${t} looks like a web app's "/api" browser proxy path. Such proxies usually strip the Authorization header, so CLI requests will fail with 401 missing_token — prefer the API server's own URL unless you know this proxy forwards Authorization.`:null}function jx(e){let t=$.getEffectiveProfileName(e);return $.getProfileConfigFile(t)}function X(e){let t=jx(e);try{if(!n.existsSync(t))return{};let e=n.readFileSync(t,`utf-8`);return JSON.parse(e)}catch{return{}}}function Mx(e,t){let r=$.getEffectiveProfileName(t);$.ensureProfileDir(r);let i=$.getProfileConfigFile(r);n.writeFileSync(i,JSON.stringify(e,null,2),{mode:384});try{n.chmodSync(i,384)}catch{}}const Nx={getApiUrl(e){return X(e).apiUrl??null},setApiUrl(e,t){let n=X(t);n.apiUrl=e,Mx(n,t)},clearApiUrl(e){let t=X(e);delete t.apiUrl,Mx(t,e)},getHubUrl(e){return X(e).hubUrl??null},setHubUrl(e,t){let n=X(t);n.hubUrl=e,Mx(n,t)},getAll(e){return X(e)},setAll(e,t){Mx(e,t)},set(e,t,n){let r=X(n);r[e]=t,Mx(r,n)},get(e,t){return X(t)[e]},unset(e,t){let n=X(t);delete n[e],Mx(n,t)},getDefaultModel(e){return X(e).model?.default??null},setDefaultModel(e,t){let n=X(t);n.model={...n.model,default:e},Mx(n,t)},getDefaultConnectorIds(e){return X(e).connectors?.defaults??null},setDefaultConnectorIds(e,t){let n=X(t);n.connectors={...n.connectors,defaults:e},Mx(n,t)},getLocalTools(e){return X(e).localTools??null},setLocalTools(e,t){let n=X(t);n.localTools={...n.localTools,...e},Mx(n,t)},getToolApprovalMode(e){let t=qu.safeParse(X(e).toolApprovalMode);return t.success?t.data:null},setToolApprovalMode(e,t){let n=X(t);n.toolApprovalMode=e,Mx(n,t)},clearToolApprovalMode(e){let t=X(e);delete t.toolApprovalMode,Mx(t,e)}};function Px(){return i.join(xC(),`hub-discovery.json`)}function Fx(e){return typeof e==`object`&&!!e&&`checkedAt`in e&&typeof e.checkedAt==`number`&&`apiUrl`in e&&typeof e.apiUrl==`string`}function Ix(){try{let e=JSON.parse(n.readFileSync(Px(),`utf-8`));return typeof e==`object`&&e?e:{}}catch{return{}}}const Lx={get(e){let t=new Map(Object.entries(Ix())).get(e);return Fx(t)?t:null},set(e,t){try{kC(Px(),{...Ix(),[e]:t})}catch{}}};function Rx(){let e=process.env.X_WEB_PROXY_ID;return e?{"x-web-proxy-id":e}:{}}const zx=new Map,Bx=new Map;function Vx(e,t){zx.set(e,t)}function Hx(e){return(t,n,r)=>{if(p(t)){let e=p(t);r(null,n.all?[{address:t,family:e}]:t,e);return}let i=t===e?zx.get(e):void 0,[a]=i??[];if(!a){r(Object.assign(Error(`${t} was not the address verified for ${e}`),{code:`ENOTFOUND`}),[]);return}r(null,n.all?i:a.address,a.family)}}function Ux(e){let{hostname:t}=new URL(e),n=Bx.get(t);n||(n=new ee({connect:{lookup:Hx(t)}}),Bx.set(t,n));let r=n,i=te;return async(e,t)=>{let n=e instanceof Request?e:new Request(e,t),a=n.method===`GET`||n.method===`HEAD`?void 0:await n.arrayBuffer();return i(n.url,{method:n.method,headers:[...n.headers],body:a&&a.byteLength>0?a:void 0,signal:n.signal,redirect:n.redirect,dispatcher:r})}}function Wx(e){return e.replace(/\/+$/u,``)}function Gx(e){return sv.some(({apiHost:t})=>`https://${t}`===e)}function Kx(e){return lv(e)}async function qx(e){let t=await f(e,{all:!0});return t.length>0&&Vx(e,t),t}async function Jx(e,t){return ov(e,t,qx)}async function Yx(e,t){return URL.canParse(e)&&URL.canParse(t)&&new URL(t).origin===t&&await Jx(new URL(e),new URL(t))===null}async function Xx(e,t){let n=uv.safeParse(t);if(!n.success)throw Error(`malformed response`);let r=new URL(n.data.api.baseUrl),i=await Jx(new URL(e),r);if(i)throw Error(i);return r.origin}async function Zx(e){if(!URL.canParse(e)||!av(new URL(e)))throw Error(`hubUrl is not https`);try{return await a.get(`${e}/.well-known/entrydesk/client`,{headers:Kx(e)?Rx():{},redirect:`error`,retry:0,timeout:5e3}).json()}catch(e){throw c(e)?Error(e.response.status===404?`no discovery endpoint`:`HTTP ${e.response.status}`,{cause:e}):e instanceof SyntaxError?Error(`response is not JSON`,{cause:e}):Error(l(e)?`timed out`:`network error`,{cause:e})}}async function Qx(e){return Xx(e,await Zx(e))}const $x=`https://api.entrydesk.com`,eS=`https://app.entrydesk.com`,tS=new Map,nS=new Map,rS=`ENTRYDESK_MCP_TIMEOUT`,iS=`ENTRYDESK_MCP_MAX_TIMEOUT`;function aS(e,t){let n=process.env[e];if(!n)return t;let r=Number(n);return Number.isSafeInteger(r)&&r>0?Math.min(r,2147483647):t}function oS(e){return process.env.ENTRYDESK_API_URL||Nx.getApiUrl(e)||null}function sS(e){return process.env.ENTRYDESK_HUB_URL||Nx.getHubUrl(e)||null}async function cS(e){let t=Lx.get(e),n=t&&await Yx(e,t.apiUrl)?t:null;if(n&&Date.now()-n.checkedAt<3e5)return n.apiUrl;try{let t=await Qx(e);return Lx.set(e,{apiUrl:t,checkedAt:Date.now()}),t}catch(t){let r=n?.apiUrl??Kx(e);if(!r)throw new mC(`Could not find the EntryDesk API for Hub ${e} (${t instanceof Error?t.message:String(t)}). Set the API URL with \`entrydesk profile set apiUrl <url>\`.`);return Lx.set(e,{apiUrl:r,checkedAt:Date.now()}),r}}async function lS(e){try{let t=await cS(e);return nS.set(e,t),t}finally{tS.delete(e)}}async function uS(e){let t=oS(e);if(t)return t;let n=sS(e);if(!n)return $x;let r=Wx(n),i=tS.get(r)??lS(r);return tS.set(r,i),i}function dS(e,t){return e===oS(t)||e===`https://api.entrydesk.com`||Gx(e)}function fS(e,t){return dS(e,t)?Rx():{}}function pS(e,t){return dS(e,t)?void 0:Ux(e)}function mS(e){let t=oS(e);if(t)return t;let n=sS(e);if(!n)return $x;let r=Wx(n);return nS.get(r)??`resolved from ${r} on first request`}function hS(e){return sS(e)||`https://app.entrydesk.com`}function gS(){return{loginTimeout:3e5,ignoreSslErrors:process.env.ENTRYDESK_IGNORE_SSL_ERRORS===`true`||!1}}function _S(){let e=aS(rS,3e5);return{httpPort:3100,requestTimeout:e,requestMaxTotalTimeout:Math.max(aS(iS,18e5),e)}}function vS(e,t){return`${Wx(hS(t))}${e}`}function yS(e){return Array.isArray(e)?e.flatMap(e=>{if(typeof e!=`object`||!e||!(`message`in e)||typeof e.message!=`string`)return[];let{message:t}=e;return[{path:(`path`in e&&Array.isArray(e.path)?e.path.filter(e=>typeof e==`string`||typeof e==`number`):[]).join(`.`),message:t}]}):[]}function bS(e){if(typeof e!=`object`||!e)return{error:``,issues:[]};let t=e;return{code:typeof t.code==`string`?t.code:void 0,error:typeof t.error==`string`?t.error:``,issues:yS(t.errors)}}const xS=/^[a-z0-9_.-]{1,64}$/iu;function SS(e){let t=bS(e).code;return t&&xS.test(t)?t:void 0}function Z(e){return le(e).filter(e=>{let t=e.codePointAt(0)??0;return!(t<=31)&&t!==127&&!(t>=128&&t<=159)}).join(``)}const CS=`EntryDesk CLI`,wS={keychain:!1,permissions:!1,corruptFile:!1,windowsFile:!1};function TS(e,t){wS[e]||(wS[e]=!0,console.error(t))}function ES(){return process.env.ENTRYDESK_DEBUG?.toLowerCase()===`true`}function DS(e){return!(!we(e)||!(`accessToken`in e||`refreshToken`in e||`email`in e||`workspaceId`in e)||`accessToken`in e&&typeof e.accessToken!=`string`||`refreshToken`in e&&typeof e.refreshToken!=`string`||`email`in e&&typeof e.email!=`string`||`workspaceId`in e&&typeof e.workspaceId!=`string`)}function OS(e){return we(e)?typeof e.getPassword==`function`&&typeof e.setPassword==`function`&&typeof e.deletePassword==`function`:!1}function kS(e){return $.getProfileCredentialsFile(e)}var AS=class{getKeyFilePath(e){return i.join($.getProfileDir(e),`.credentials.key`)}loadEncryptionKey(e){let t=this.getKeyFilePath(e);try{if(!n.existsSync(t))return null;let e=n.readFileSync(t);return e.length===32?(this.ensureSecureFilePermissions(t),e):null}catch{return null}}createEncryptionKey(e){$.ensureProfileDir(e);let t=this.getKeyFilePath(e),r=ne.randomBytes(32);return n.writeFileSync(t,r,{mode:384}),this.ensureSecureFilePermissions(t),r}getOrCreateEncryptionKey(e){return this.loadEncryptionKey(e)||this.createEncryptionKey(e)}encrypt(e,t){let n=ne.randomBytes(16),r=ne.createCipheriv(`aes-256-gcm`,t,n),i=r.update(e,`utf8`,`hex`);i+=r.final(`hex`);let a=r.getAuthTag();return`${n.toString(`hex`)}:${a.toString(`hex`)}:${i}`}decrypt(e,t){let n=e.split(`:`);if(n.length!==3)throw Error(`Invalid encrypted data format`);let r=Buffer.from(n[0],`hex`),i=Buffer.from(n[1],`hex`),a=n[2],o=ne.createDecipheriv(`aes-256-gcm`,t,r,{authTagLength:16});o.setAuthTag(i);let s=o.update(a,`hex`,`utf8`);return s+=o.final(`utf8`),s}tryDecrypt(e,t){try{return this.decrypt(e,t)}catch{return null}}tryParseCredentials(e){try{let t=JSON.parse(e);return DS(t)?t:null}catch{return null}}ensureSecureFilePermissions(e){if(process.platform!==`win32`){try{n.chmodSync(e,384)}catch{TS(`permissions`,`Warning: Failed to set secure permissions on credentials file.`);return}try{(n.statSync(e).mode&511)!=384&&TS(`permissions`,`Warning: Credentials file permissions are too permissive.`)}catch{TS(`permissions`,`Warning: Failed to verify credentials file permissions.`)}}}async getCredentials(e){let t=kS(e);try{if(!n.existsSync(t))return null;let r=n.readFileSync(t,`utf-8`).trim();if(!r)return null;let i=this.loadEncryptionKey(e),a=i?this.tryDecrypt(r,i):null;if(a){let e=this.tryParseCredentials(a);if(e)return e}return TS(`corruptFile`,"Warning: Credentials file is unreadable. Run `entrydesk login` again."),null}catch{return null}}async setCredentials(e,t){$.ensureProfileDir(e);let r=kS(e),i=this.getOrCreateEncryptionKey(e),a=this.encrypt(JSON.stringify(t),i);n.writeFileSync(r,a,{mode:384}),this.ensureSecureFilePermissions(r)}async deleteCredentials(e){let t=kS(e);try{n.existsSync(t)&&n.unlinkSync(t)}catch{}}},jS=class{keytarModule=null;keytarLoadAttempted=!1;keychainAvailable=null;async getKeytar(){if(this.keytarLoadAttempted)return this.keytarModule;this.keytarLoadAttempted=!0;try{let e=await import(`keytar`),t=e&&typeof e==`object`&&`default`in e?e.default:e;this.keytarModule=OS(t)?t:null}catch{this.keytarModule=null}return this.keytarModule}getAccount(e){return`profile:${e}`}async checkKeychainAvailability(){if(this.keychainAvailable!==null)return this.keychainAvailable;try{let e=await this.getKeytar();if(!e)return this.keychainAvailable=!1,!1;let t=`__entrydesk_keychain_test__${ne.randomBytes(8).toString(`hex`)}`,n=`test`;await e.setPassword(CS,t,n);let r=await e.getPassword(CS,t),i=await e.deletePassword(CS,t);return this.keychainAvailable=i&&r===n,this.keychainAvailable}catch{return this.keychainAvailable=!1,!1}}async isAvailable(){return this.checkKeychainAvailability()}async getCredentials(e){if(!await this.checkKeychainAvailability())throw Error(`Keychain is not available`);let t=await this.getKeytar();if(!t)throw Error(`Keytar module not available`);let n=await t.getPassword(CS,this.getAccount(e));if(!n)return null;let r=this.tryParseKeychainPayload(n);return r||TS(`corruptFile`,`Warning: Keychain entry for profile "${e}" is unreadable.`),r}async setCredentials(e,t){if(!await this.checkKeychainAvailability())throw Error(`Keychain is not available`);let n=await this.getKeytar();if(!n)throw Error(`Keytar module not available`);let r=JSON.stringify(t);await n.setPassword(CS,this.getAccount(e),r)}async deleteCredentials(e){if(!await this.checkKeychainAvailability())throw Error(`Keychain is not available`);let t=await this.getKeytar();if(!t)throw Error(`Keytar module not available`);await t.deletePassword(CS,this.getAccount(e))}tryParseKeychainPayload(e){try{let t=JSON.parse(e);return DS(t)?t:null}catch{return null}}};const Q=new class{keychainStorage=null;fileStorage=new AS;keychainAvailable=null;initPromise=null;shouldForceFileStorage(){return process.env.ENTRYDESK_FORCE_FILE_STORAGE?.toLowerCase()===`true`}async initializeStorage(){if(this.shouldForceFileStorage()){this.keychainAvailable=!1,this.keychainStorage=null;return}try{let e=new jS,t=await e.isAvailable();this.keychainAvailable=t,this.keychainStorage=t?e:null}catch{this.keychainAvailable=!1,this.keychainStorage=null}!this.keychainAvailable&&!this.shouldForceFileStorage()&&(ES()&&TS(`keychain`,`Keychain unavailable. Falling back to file-based credentials.`),process.platform===`win32`&&TS(`windowsFile`,`Warning: File-based credentials on Windows may be readable by other users.`))}async ensureInitialized(){if(this.shouldForceFileStorage()){this.keychainAvailable=!1,this.keychainStorage=null;return}this.keychainAvailable===null&&(this.initPromise??=this.initializeStorage(),await this.initPromise)}disableKeychain(){this.shouldForceFileStorage()||TS(`keychain`,`Keychain error encountered. Falling back to file-based credentials.`),this.keychainAvailable=!1,this.keychainStorage=null}async getKeychainStorage(){return await this.ensureInitialized(),this.shouldForceFileStorage()?null:this.keychainAvailable?this.keychainStorage:null}async getCredentials(e){let t=await this.getKeychainStorage();if(!t)return this.fileStorage.getCredentials(e);try{let n=await t.getCredentials(e);if(n)return n}catch{return this.disableKeychain(),this.fileStorage.getCredentials(e)}let n=await this.fileStorage.getCredentials(e);if(n)try{await t.setCredentials(e,n),await this.fileStorage.deleteCredentials(e)}catch{}return n}async setCredentials(e,t){let n=await this.getKeychainStorage();if(!n){await this.fileStorage.setCredentials(e,t);return}try{await n.setCredentials(e,t),await this.fileStorage.deleteCredentials(e)}catch{this.disableKeychain(),await this.fileStorage.setCredentials(e,t)}}async deleteCredentials(e){let t=await this.getKeychainStorage();if(t)try{await t.deleteCredentials(e)}catch{this.disableKeychain()}await this.fileStorage.deleteCredentials(e)}},MS={async saveAccessToken(e,t){let n=$.getEffectiveProfileName(t),r=await Q.getCredentials(n)??{};r.accessToken=e,await Q.setCredentials(n,r)},async getAccessToken(e){let t=$.getEffectiveProfileName(e);return(await Q.getCredentials(t))?.accessToken??null},async saveRefreshToken(e,t){let n=$.getEffectiveProfileName(t),r=await Q.getCredentials(n)??{};r.refreshToken=e,await Q.setCredentials(n,r)},async getRefreshToken(e){let t=$.getEffectiveProfileName(e);return(await Q.getCredentials(t))?.refreshToken??null},async saveEmail(e,t){let n=$.getEffectiveProfileName(t),r=await Q.getCredentials(n)??{};r.email=e,await Q.setCredentials(n,r)},async getEmail(e){let t=$.getEffectiveProfileName(e);return(await Q.getCredentials(t))?.email??null},async saveWorkspaceId(e,t){let n=$.getEffectiveProfileName(t),r=await Q.getCredentials(n)??{};r.workspaceId=e,await Q.setCredentials(n,r)},async getWorkspaceId(e){let t=$.getEffectiveProfileName(e);return(await Q.getCredentials(t))?.workspaceId??null},async saveAll(e,t){let n=$.getEffectiveProfileName(t);await Q.setCredentials(n,e)},async getAll(e){let t=$.getEffectiveProfileName(e);return Q.getCredentials(t)},async clear(e){let t=$.getEffectiveProfileName(e);await Q.deleteCredentials(t)},async moveProfileCredentials(e,t){let n=await Q.getCredentials(e);n&&(await Q.setCredentials(t,n),await Q.deleteCredentials(e))},async deleteProfileCredentials(e){await Q.deleteCredentials(e)},async isLoggedIn(e){let t=$.getEffectiveProfileName(e);return(await Q.getCredentials(t))?.accessToken!=null}};function NS(e){return e instanceof AbortSignal?{signal:e}:e}function PS(e){try{let t=JSON.parse(e);if(typeof t!=`object`||!t)return;let{code:n}=t;return typeof n==`string`?n:void 0}catch{return}}function FS(e){return{...e,title:Z(e.title),...e.project&&{project:{...e.project,name:Z(e.project.name)}}}}function IS(e){return{...e,tasks:e.tasks.map(FS)}}function LS(e){return{...e,results:e.results.map(e=>({...e,title:Z(e.title),titleHighlight:e.titleHighlight&&Z(e.titleHighlight),contentSnippet:e.contentSnippet&&Z(e.contentSnippet)}))}}var RS=class extends Error{status;body;code;constructor(e,t){super(`Task API failed (${e}): ${t}`),this.status=e,this.body=t,this.name=`TaskApiError`,this.code=PS(t)}};function zS(e){let t=new FormData;return t.append(`file`,new Blob([e.buffer],{type:e.mimeType}),e.filename),t}var BS=class e{explicitBaseUrl;profileName;currentClient;runtimeConfigCache;constructor(e,t){this.explicitBaseUrl=e,this.profileName=t,gS().ignoreSslErrors&&(process.env.NODE_TLS_REJECT_UNAUTHORIZED=`0`,process.env.DEBUG&&console.log(`[DEBUG] ApiClient: SSL certificate validation disabled`))}async resolveBaseUrl(){return this.explicitBaseUrl||await uS(this.profileName)}async http(){let e=await this.resolveBaseUrl();if(this.currentClient?.baseUrl===e)return this.currentClient.client;let t=a.create({baseUrl:e.replace(/\/?$/,`/`),timeout:3e4,headers:fS(e,this.profileName),fetch:pS(e,this.profileName),retry:{limit:3,methods:[`get`,`put`,`head`,`delete`,`options`,`trace`],statusCodes:[408,413,429,500,502,503,504]},hooks:{beforeError:[({error:e})=>(c(e)&&(e.request.headers.delete(`authorization`),e.request.headers.delete(`Authorization`),e.request.headers.delete(`x-web-proxy-id`)),e)]}});return this.currentClient={baseUrl:e,client:t},t}async refreshOAuthToken(e){return(await this.http()).post(`v1/oauth/token`,{json:{grant_type:`refresh_token`,refresh_token:e.refreshToken,client_id:e.clientId}}).json()}async revokeOAuthToken(e){await(await this.http()).post(`v1/oauth/revoke`,{json:{token:e.token,token_type_hint:`refresh_token`,client_id:e.clientId}})}async getWorkspaces(e){let t=await this.http();try{return process.env.DEBUG&&console.log(`[DEBUG] Calling getWorkspaces API: ${await this.resolveBaseUrl()}/v1/workspaces`),await t.get(`v1/workspaces`,{headers:{Authorization:`Bearer ${e}`}}).json()}catch(e){throw process.env.DEBUG&&(console.error(`[DEBUG] getWorkspaces error:`,e),e instanceof Error&&`cause`in e&&console.error(`[DEBUG] Error cause:`,e.cause)),e}}async getAgents(e,t,n){let r=await this.http(),i={limit:n?.limit??100};return n?.nextKey&&(i.nextKey=n.nextKey),n?.search&&(i.search=n.search),await r.get(`v1/workspaces/${t}/availableAgents`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async createAgent(e,t,n){return await(await this.http()).post(`v1/workspaces/${t}/agents`,{headers:{Authorization:`Bearer ${e}`},json:n}).json()}async updateAgent(e,t,n,r){await(await this.http()).put(`v1/workspaces/${t}/agents/${n}`,{headers:{Authorization:`Bearer ${e}`},json:r})}async deleteAgent(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/agents/${n}`,{headers:{Authorization:`Bearer ${e}`}})}async getMyAgents(e,t,n){let r=await this.http(),i={limit:n?.limit??100};return n?.nextKey&&(i.nextKey=n.nextKey),n?.search&&(i.search=n.search),await r.get(`v1/workspaces/${t}/myAgents`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async publishAgent(e,t,n){await(await this.http()).post(`v1/workspaces/${t}/agents/${n}/publish`,{headers:{Authorization:`Bearer ${e}`}})}async getAgentGrants(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/agents/${n}/grants`,{headers:{Authorization:`Bearer ${e}`}}).json()}async upsertAgentGrant(e,t,n,r,i){return await(await this.http()).put(`v1/workspaces/${t}/agents/${n}/grants/${r}`,{headers:{Authorization:`Bearer ${e}`},json:{role:i}}).json()}async removeAgentGrant(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/agents/${n}/grants/${r}`,{headers:{Authorization:`Bearer ${e}`}})}async getMeetings(e,t,n){let r=await this.http(),i={limit:n?.limit??20};return n?.nextKey&&(i.nextKey=n.nextKey),n?.search&&(i.search=n.search),n?.filter&&(i.filter=n.filter),n?.sortBy&&(i.sortBy=n.sortBy),await r.get(`v1/workspaces/${t}/meetings`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async getMeeting(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/meetings/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async createMeeting(e,t,n){return await(await this.http()).post(`v1/workspaces/${t}/meetings`,{headers:{Authorization:`Bearer ${e}`},json:n}).json()}async updateMeeting(e,t,n,r){return await(await this.http()).patch(`v1/workspaces/${t}/meetings/${n}`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async deleteMeeting(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/meetings/${n}`,{headers:{Authorization:`Bearer ${e}`}})}async getMeetingPreviousBrief(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/meetings/${n}/previous`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getRecording(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/recordings/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getMeetingShares(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/meetings/${n}/shares`,{headers:{Authorization:`Bearer ${e}`}}).json()}async upsertMeetingUserGrant(e,t,n,r,i){return await(await this.http()).put(`v1/workspaces/${t}/meetings/${n}/shares/users/${r}`,{headers:{Authorization:`Bearer ${e}`},json:{role:i}}).json()}async removeMeetingUserGrant(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/meetings/${n}/shares/users/${r}`,{headers:{Authorization:`Bearer ${e}`}})}async upsertMeetingTeamGrant(e,t,n,r,i){return await(await this.http()).put(`v1/workspaces/${t}/meetings/${n}/shares/teams/${r}`,{headers:{Authorization:`Bearer ${e}`},json:{role:i}}).json()}async removeMeetingTeamGrant(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/meetings/${n}/shares/teams/${r}`,{headers:{Authorization:`Bearer ${e}`}})}async getWorkflows(e,t,n){let r=await this.http(),i={limit:n?.limit??20};return n?.nextKey&&(i.nextKey=n.nextKey),n?.search&&(i.search=n.search),await r.get(`v1/workspaces/${t}/workflows`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async getWorkflow(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/workflows/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async createWorkflow(e,t,n){return await(await this.http()).post(`v1/workspaces/${t}/workflows`,{headers:{Authorization:`Bearer ${e}`},json:n}).json()}async updateWorkflow(e,t,n,r){await(await this.http()).put(`v1/workspaces/${t}/workflows/${n}`,{headers:{Authorization:`Bearer ${e}`},json:r})}async triggerWorkflowRun(e,t,n,r){return await(await this.http()).post(`v1/workspaces/${t}/workflows/${n}/runs`,{headers:{Authorization:`Bearer ${e}`},json:r===void 0?{}:{args:r}}).json()}async getWorkflowRuns(e,t,n,r){let i=await this.http(),a={limit:r?.limit??20};return r?.nextKey&&(a.nextKey=r.nextKey),await i.get(`v1/workspaces/${t}/workflows/${n}/runs`,{headers:{Authorization:`Bearer ${e}`},searchParams:a}).json()}async getWorkflowRun(e,t,n,r){return await(await this.http()).get(`v1/workspaces/${t}/workflows/${n}/runs/${r}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getWorkflowGrants(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/workflows/${n}/grants`,{headers:{Authorization:`Bearer ${e}`}}).json()}async upsertWorkflowGrant(e,t,n,r,i){return await(await this.http()).put(`v1/workspaces/${t}/workflows/${n}/grants/${r}`,{headers:{Authorization:`Bearer ${e}`},json:{role:i}}).json()}async removeWorkflowGrant(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/workflows/${n}/grants/${r}`,{headers:{Authorization:`Bearer ${e}`}})}async listProjects(e,t,n){let r=await this.http(),i={limit:n.limit,sortBy:n.sortBy,order:n.order};return n.nextKey&&(i.nextKey=n.nextKey),n.filter&&(i.filter=n.filter),r.get(`v1/workspaces/${t}/projects`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async getProject(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/projects/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async updateProject(e,t,n,r){return(await this.http()).patch(`v1/workspaces/${t}/projects/${n}`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async createProjectNote(e,t,n,r){return(await this.http()).post(`v1/workspaces/${t}/projects/${n}/notes`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async createProject(e,t,n){return(await this.http()).post(`v1/workspaces/${t}/projects`,{headers:{Authorization:`Bearer ${e}`},json:n}).json()}async deleteProject(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/projects/${n}`,{headers:{Authorization:`Bearer ${e}`}})}async addProjectMember(e,t,n,r){return(await this.http()).post(`v1/workspaces/${t}/projects/${n}/members`,{headers:{Authorization:`Bearer ${e}`},json:{userId:r}}).json()}async updateProjectMemberRole(e,t,n,r,i){await(await this.http()).patch(`v1/workspaces/${t}/projects/${n}/members/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i})}async removeProjectMember(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/projects/${n}/members/${r}`,{headers:{Authorization:`Bearer ${e}`}})}async addProjectTeam(e,t,n,r){return(await this.http()).post(`v1/workspaces/${t}/projects/${n}/teams`,{headers:{Authorization:`Bearer ${e}`},json:{teamId:r}}).json()}async removeProjectTeam(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/projects/${n}/teams/${r}`,{headers:{Authorization:`Bearer ${e}`}})}async listProjectTeamCandidates(e,t,n,r){let{teams:i}=await(await this.http()).get(`v1/workspaces/${t}/projects/${n}/teams/candidates`,{headers:{Authorization:`Bearer ${e}`},searchParams:{q:r}}).json();return i}async listProjectFiles(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/projects/${n}/files`,{headers:{Authorization:`Bearer ${e}`}}).json()}async listProjectLinks(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/projects/${n}/links`,{headers:{Authorization:`Bearer ${e}`}}).json()}async searchProjectContext(e,t,n,r){let i=await this.http(),a={q:r.q};return r.type&&(a.type=r.type),r.limit!==void 0&&(a.limit=r.limit),i.get(`v1/workspaces/${t}/projects/${n}/context/search`,{headers:{Authorization:`Bearer ${e}`},searchParams:a}).json()}async readProjectContext(e,t,n,r,i){let a=await this.http(),o={depth:i.depth};return i.offset!==void 0&&(o.offset=i.offset),i.revision!==void 0&&(o.revision=i.revision),a.get(`v1/workspaces/${t}/projects/${n}/context/${r.sourceType}/${encodeURIComponent(r.sourceId)}`,{headers:{Authorization:`Bearer ${e}`},searchParams:o}).json()}async assignTaskProject(e,t,n,r){return(await this.http()).put(`v1/workspaces/${t}/tasks/${n}/project`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async grantTaskShareMember(e,t,n,r,i={}){let{data:a}=await(await this.http()).put(`v1/workspaces/${t}/tasks/${n}/shares/members/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i}).json();return{...a,name:Z(a.name),email:Z(a.email)}}async revokeTaskShareMember(e,t,n,r,i={}){await(await this.http()).delete(`v1/workspaces/${t}/tasks/${n}/shares/members/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i})}async grantTaskShareTeam(e,t,n,r,i={}){let{data:a}=await(await this.http()).put(`v1/workspaces/${t}/tasks/${n}/shares/teams/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i}).json();return{...a,name:Z(a.name)}}async revokeTaskShareTeam(e,t,n,r,i={}){await(await this.http()).delete(`v1/workspaces/${t}/tasks/${n}/shares/teams/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i})}async upsertTaskShare(e,t,n,r){return(await this.http()).post(`v1/workspaces/${t}/tasks/${n}/shares`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async uploadProjectFile(e,t,n,r,i){let a=await this.http(),o=zS(r);return i.description!==void 0&&o.append(`description`,i.description),a.post(`v1/workspaces/${t}/projects/${n}/files/upload`,{headers:{Authorization:`Bearer ${e}`},body:o,timeout:12e4}).json()}async replaceProjectFile(e,t,n,r,i,a){let o=await this.http(),s=zS(i);return s.append(`expectedVersionNumber`,String(a.expectedVersionNumber)),o.put(`v1/workspaces/${t}/projects/${n}/files/${encodeURIComponent(r)}/content`,{headers:{Authorization:`Bearer ${e}`},body:s,timeout:12e4,retry:0}).json()}async updateProjectFile(e,t,n,r,i){return(await this.http()).patch(`v1/workspaces/${t}/projects/${n}/files/${encodeURIComponent(r)}`,{headers:{Authorization:`Bearer ${e}`},json:i}).json()}async removeProjectFile(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/projects/${n}/files/${encodeURIComponent(r)}`,{headers:{Authorization:`Bearer ${e}`}})}async addProjectLink(e,t,n,r){return(await this.http()).post(`v1/workspaces/${t}/projects/${n}/links`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async updateProjectLink(e,t,n,r,i){return(await this.http()).patch(`v1/workspaces/${t}/projects/${n}/links/${encodeURIComponent(r)}`,{headers:{Authorization:`Bearer ${e}`},json:i}).json()}async removeProjectLink(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/projects/${n}/links/${encodeURIComponent(r)}`,{headers:{Authorization:`Bearer ${e}`}})}async refetchProjectLink(e,t,n,r){return(await this.http()).post(`v1/workspaces/${t}/projects/${n}/links/${encodeURIComponent(r)}/refetch`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getNotifications(e,t,n){let r=await this.http(),i={limit:n?.limit??20};return n?.tab&&(i.tab=n.tab),n?.eventType&&(i.eventType=n.eventType),n?.cursor&&(i.cursor=n.cursor),await r.get(`v1/workspaces/${t}/notifications`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async getNotificationUnreadCount(e,t){return await(await this.http()).get(`v1/workspaces/${t}/notifications/unreadCount`,{headers:{Authorization:`Bearer ${e}`}}).json()}async markNotificationRead(e,t,n){await(await this.http()).post(`v1/workspaces/${t}/notifications/${n}/read`,{headers:{Authorization:`Bearer ${e}`}})}async markAllNotificationsRead(e,t){await(await this.http()).post(`v1/workspaces/${t}/notifications/readAll`,{headers:{Authorization:`Bearer ${e}`}})}async getRuntimeConfig(){let e=await this.resolveBaseUrl();if(this.runtimeConfigCache?.baseUrl===e)return this.runtimeConfigCache.config;let t=await(await this.http()).get(`v1/runtimeConfig`).json();return this.runtimeConfigCache={baseUrl:e,config:t},t}async getModels(e,t){return await(await this.http()).get(`v1/workspaces/${t}/models`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getWorkspaceConfig(e,t){return await(await this.http()).get(`v1/workspaces/${t}/config`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getModelTiers(e,t){return await(await this.http()).get(`v1/workspaces/${t}/modelTiers`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getModelTierMappings(e,t){return await(await this.http()).get(`v1/workspaces/${t}/modelTierMappings`,{headers:{Authorization:`Bearer ${e}`}}).json()}async listSelectableModels(e,t){let{deploymentMode:n}=await this.getRuntimeConfig(),{models:r}=n===`saas`?await this.getModelTiers(e,t):await this.getModels(e,t);return{models:r.filter(e=>e.enabled!==!1)}}async getConnectors(e,t,n){let r=await this.http(),i={limit:n?.limit??100,connectionStatus:n?.connectionStatus??`connected`};return n?.search&&(i.search=n.search),n?.nextKey&&(i.nextKey=n.nextKey),await r.get(`v1/workspaces/${t}/availableConnectors`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async getConnectorTools(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/connectors/${n}/tools`,{headers:{Authorization:`Bearer ${e}`}}).json()}async syncConnectorTools(e,t,n){await(await this.http()).post(`v1/workspaces/${t}/connectors/${n}/tools/sync`,{headers:{Authorization:`Bearer ${e}`}})}async connectConnectorToken(e,t,n,r){await(await this.http()).put(`v1/workspaces/${t}/connectors/${n}/token`,{headers:{Authorization:`Bearer ${e}`},json:r})}async getConnectorAuthUrl(e,t,n){return(await this.http()).post(`v1/workspaces/${t}/connectors/${n}/authUrl`,{headers:{Authorization:`Bearer ${e}`},json:{}}).json()}async createCustomConnector(e,t,n){return(await this.http()).post(`v1/workspaces/${t}/customConnectors`,{headers:{Authorization:`Bearer ${e}`},json:n}).json()}async getCustomConnector(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/customConnectors/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async updateCustomConnector(e,t,n,r){return(await this.http()).put(`v1/workspaces/${t}/customConnectors/${n}`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async disconnectConnector(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/connectors/${n}/token`,{headers:{Authorization:`Bearer ${e}`}})}async getTasks(e,t,n){let r=await this.http(),i={limit:n?.limit??20};return n?.nextKey&&(i.nextKey=n.nextKey),r.get(n?.projectId?`v1/workspaces/${t}/projects/${n.projectId}/tasks`:`v1/workspaces/${t}/tasks`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json().then(IS)}async searchTasks(e,t,n,r){let i=await this.http(),a={q:n,limit:r?.limit??20};return r?.nextKey&&(a.nextKey=r.nextKey),r?.projectId&&(a.projectId=r.projectId),LS(await i.get(`v1/workspaces/${t}/tasks/search`,{headers:{Authorization:`Bearer ${e}`},searchParams:a}).json())}async getMessages(e,t,n,r=50){return await(await this.http()).get(`v1/workspaces/${t}/tasks/${n}/messages`,{headers:{Authorization:`Bearer ${e}`},searchParams:{limit:r}}).json()}async getAgent(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/agents/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getAgentVersionByNumber(e,t,n,r){return(await(await this.http()).get(`v1/workspaces/${t}/agents/${n}/versions`,{headers:{Authorization:`Bearer ${e}`},searchParams:{versionNumber:r,limit:1}}).json()).versions.at(0)}async listAvailableSkills(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/availableSkills`,{headers:{Authorization:`Bearer ${e}`},searchParams:{createdBy:n?.createdBy,nextKey:n?.nextKey,limit:n?.limit??20}}).json()}async uploadSkill(e,t,n){return await(await this.http()).post(`v1/workspaces/${t}/skills`,{headers:{Authorization:`Bearer ${e}`},body:n}).json()}async deleteSkill(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/skills/${n}`,{headers:{Authorization:`Bearer ${e}`}})}async updateSkillPreference(e,t,n,r){return await(await this.http()).patch(`v1/workspaces/${t}/skills/${n}/preference`,{headers:{Authorization:`Bearer ${e}`},json:{isEnabled:r}}).json()}async getSkillVersions(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/skills/${n}/versions`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getSkillGrants(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/skills/${n}/grants`,{headers:{Authorization:`Bearer ${e}`}}).json()}async upsertSkillGrant(e,t,n,r,i){return await(await this.http()).put(`v1/workspaces/${t}/skills/${n}/grants/${r}`,{headers:{Authorization:`Bearer ${e}`},json:{role:i}}).json()}async removeSkillGrant(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/skills/${n}/grants/${r}`,{headers:{Authorization:`Bearer ${e}`}})}async downloadSkillCurrent(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/skills/${n}/download`,{headers:{Authorization:`Bearer ${e}`}}).json()}async task(e,t,n,r,i={}){let{signal:a,rawTextDelivery:o=!1}=NS(i),c=await this.http();try{let i=await c.post(`v1/workspaces/${t}/tasks`,{headers:{Authorization:`Bearer ${e}`},json:n,timeout:6e4,throwHttpErrors:!1,...a?{signal:a}:{}});if(!i.ok)throw new RS(i.status,await i.text());let s=await i.json();return r?.(s),s.noop||!s.streamId?new Response(`data: [DONE]
|
|
67
|
+
|
|
68
|
+
`,{headers:{"Content-Type":`text/event-stream`}}):await this.taskStream(e,t,s.taskId,{streamId:s.streamId,signal:a,rawTextDelivery:o})}catch(e){throw e instanceof s?TypeError(`Request timed out. Check your connection and try again.`,{cause:e}):e}}async taskStream(e,t,n,{streamId:r,signal:i,rawTextDelivery:a}={}){let o=await(await this.http()).get(r?`v1/workspaces/${t}/tasks/${n}/streams/${r}`:`v1/workspaces/${t}/tasks/${n}/stream`,{headers:{Authorization:`Bearer ${e}`,Accept:`text/event-stream`},timeout:!1,throwHttpErrors:!1,...a?{searchParams:{textDelivery:`raw`}}:{},...i?{signal:i}:{}});if(!o.ok)throw new RS(o.status,await o.text());if(a&&o.headers.get(`X-EntryDesk-Text-Delivery`)!==`raw`)throw await o.body?.cancel().catch(()=>void 0),TypeError(`API did not negotiate raw task stream delivery`);return o}resumeTaskStream(e,t,n){return this.taskStream(e,t,n)}resumeTaskStreamById(e,t,n,r,i={}){let{signal:a,rawTextDelivery:o=!1}=i;return this.taskStream(e,t,n,{streamId:r,rawTextDelivery:o,...a?{signal:a}:{}})}async stopTask(e,t,n){let r=await(await this.http()).post(`v1/workspaces/${t}/tasks/${n}/stop`,{headers:{Authorization:`Bearer ${e}`},timeout:1e4,throwHttpErrors:!1});if(![202,404,409].includes(r.status))throw new RS(r.status,await r.text())}async getSubagentRun(e,t,n,r){return(await this.http()).get(`v1/workspaces/${t}/subagentRuns/${n}`,{headers:{Authorization:`Bearer ${e}`},signal:r}).json()}async openSubagentRunEvents(e,t,n,r){let i=await(await this.http()).get(`v1/workspaces/${t}/subagentRuns/${n}/events`,{headers:{Authorization:`Bearer ${e}`,Accept:`text/event-stream`},timeout:!1,throwHttpErrors:!1,signal:r});if(!i.ok){let e=await i.text();throw Error(`Subagent run events stream failed (${i.status}): ${e}`)}return i}async listBackgroundRuns(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/tasks/${n}/backgroundRuns`,{headers:{Authorization:`Bearer ${e}`}}).json()}async stopBackgroundRun(e,t,n,r,i){let a=await this.http(),o=Hb(i);return(await a.post(`v1/workspaces/${t}/tasks/${n}/${o}/${r}/stop`,{headers:{Authorization:`Bearer ${e}`}})).status===202?`stopping`:`already-finished`}async openWakeEvents(e,t,n,r){let i=await(await this.http()).get(`v1/workspaces/${t}/tasks/${n}/wakeEvents`,{headers:{Authorization:`Bearer ${e}`,Accept:`text/event-stream`},timeout:!1,throwHttpErrors:!1,signal:r});if(!i.ok){let e=await i.text();throw Error(`Wake events stream failed (${i.status}): ${e}`)}return i}webhooksPath(e,...t){return[`v1/workspaces/${encodeURIComponent(e)}/webhooks`,...t.map(e=>encodeURIComponent(e))].join(`/`)}async listWebhookDestinations(e,t){return(await this.http()).get(this.webhooksPath(t),{headers:{Authorization:`Bearer ${e}`}}).json()}async getWebhookDestination(e,t,n){return(await this.http()).get(this.webhooksPath(t,n),{headers:{Authorization:`Bearer ${e}`}}).json()}async createWebhookDestination(e,t,n){return(await this.http()).post(this.webhooksPath(t),{headers:{Authorization:`Bearer ${e}`},json:n}).json()}async updateWebhookDestination(e,t,n,r){return(await this.http()).patch(this.webhooksPath(t,n),{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async deleteWebhookDestination(e,t,n){await(await this.http()).delete(this.webhooksPath(t,n),{headers:{Authorization:`Bearer ${e}`}})}async rotateWebhookSecret(e,t,n,r){return(await this.http()).post(this.webhooksPath(t,n,`rotateSecret`),{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async listWebhookDeliveries(e,t,n,r){let i=await this.http(),a=new URLSearchParams;return r.status&&a.set(`status`,r.status),r.eventType&&a.set(`eventType`,r.eventType),r.limit!==void 0&&a.set(`limit`,String(r.limit)),r.nextKey&&a.set(`nextKey`,r.nextKey),i.get(this.webhooksPath(t,n,`deliveries`),{headers:{Authorization:`Bearer ${e}`},searchParams:a}).json()}async getWebhookDelivery(e,t,n,r){return(await this.http()).get(this.webhooksPath(t,n,`deliveries`,r),{headers:{Authorization:`Bearer ${e}`}}).json()}async resendWebhookDelivery(e,t,n,r){return(await this.http()).post(this.webhooksPath(t,n,`deliveries`,r,`resend`),{headers:{Authorization:`Bearer ${e}`}}).json()}async sendWebhookTest(e,t,n,r){return(await this.http()).post(this.webhooksPath(t,n,`test`),{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async listWebhookEventTypes(e,t){return(await this.http()).get(this.webhooksPath(t,`eventTypes`),{headers:{Authorization:`Bearer ${e}`}}).json()}async getBudget(e,t){return await(await this.http()).get(`v1/workspaces/${t}/budget`,{headers:{Authorization:`Bearer ${e}`}}).json()}async updateBudget(e,t,n){await(await this.http()).put(`v1/workspaces/${t}/budget`,{headers:{Authorization:`Bearer ${e}`},json:{budget:n}})}async getMonthlyUsages(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/monthlyUsages`,{headers:{Authorization:`Bearer ${e}`},searchParams:{nextKey:n?.nextKey,limit:n?.limit??20}}).json()}async getBillingOverview(e,t){return await(await this.http()).get(`v1/workspaces/${t}/billing/overview`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getBillingInvoices(e,t,n){let r=await this.http(),i={limit:n?.limit??20};return n?.nextKey&&(i.nextKey=n.nextKey),await r.get(`v1/workspaces/${t}/billing/invoices`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async getUsageOverview(e,t){return await(await this.http()).get(`v1/workspaces/${t}/usage/overview`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getUsageMe(e,t){return await(await this.http()).get(`v1/workspaces/${t}/usage/me`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getUsageConsumptions(e,t,n){let r=await this.http(),i={limit:n?.limit??20,offset:n?.offset??0};return n?.periodStart&&(i.periodStart=n.periodStart),await r.get(`v1/workspaces/${t}/usage/consumptions`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async exportUsageCsv(e,t,n){let r=await this.http(),i={};return n&&(i.periodStart=n),await r.get(`v1/workspaces/${t}/usage/export`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).text()}async createTaskShare(e,t,n,r){try{return await this.upsertTaskShare(e,t,n,r===void 0?{}:{visibility:r})}catch(e){if(c(e)&&e.response.status===403){let t=await e.response.json().catch(()=>null);if(t?.code===`sharing_disabled`)throw Error(`Sharing is turned off for this workspace by an admin.`,{cause:e});if(t?.code===`share_visibility_not_allowed`)throw Error(`Public sharing is turned off for this workspace by an admin.`,{cause:e})}throw e}}async getSharedTask(e,t){let n=await this.http(),r={};return t&&(r.Authorization=`Bearer ${t}`),await n.get(`v1/shares/${e}`,{headers:r}).json()}async getSharedMessages(e,t=50,n){let r=await this.http(),i={};return n&&(i.Authorization=`Bearer ${n}`),await r.get(`v1/shares/${e}/messages`,{headers:i,searchParams:{limit:t}}).json()}async getTask(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/tasks/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json().then(FS)}async getTaskCost(e,t,n,r={}){return(await this.http()).get(`v1/workspaces/${t}/tasks/${n}/cost`,{headers:{Authorization:`Bearer ${e}`},searchParams:r.waitForSettled?{waitForSettled:`true`}:void 0}).json()}async updateTaskToolApprovalMode(e,t,n,r){await(await this.http()).patch(`v1/workspaces/${t}/tasks/${n}/toolApprovalMode`,{headers:{Authorization:`Bearer ${e}`},json:{toolApprovalMode:r}})}async deleteTask(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/tasks/${n}`,{headers:{Authorization:`Bearer ${e}`}})}async getModelProviders(e,t){return await(await this.http()).get(`v1/workspaces/${t}/modelProviders`,{headers:{Authorization:`Bearer ${e}`}}).json()}async uploadFile(e,t,n,r){let i=await this.http(),a=zS(n);return a.append(`modelProviderId`,r),await i.post(`v1/workspaces/${t}/files`,{headers:{Authorization:`Bearer ${e}`},body:a,timeout:12e4}).json()}async getCalendarAccounts(e,t){return await(await this.http()).get(`v1/workspaces/${t}/calendar/accounts`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getSchedules(e,t,n){let r=await this.http(),i={limit:n?.limit??20};return n?.nextKey&&(i.nextKey=n.nextKey),n?.search&&(i.search=n.search),await r.get(`v1/workspaces/${t}/schedules`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async getSchedule(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/schedules/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async createSchedule(e,t,n){return await(await this.http()).post(`v1/workspaces/${t}/schedules`,{headers:{Authorization:`Bearer ${e}`},json:n}).json()}async updateSchedule(e,t,n,r){await(await this.http()).put(`v1/workspaces/${t}/schedules/${n}`,{headers:{Authorization:`Bearer ${e}`},json:r})}async deleteSchedule(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/schedules/${n}`,{headers:{Authorization:`Bearer ${e}`}})}async activateSchedule(e,t,n){await(await this.http()).post(`v1/workspaces/${t}/schedules/${n}/activate`,{headers:{Authorization:`Bearer ${e}`}})}async deactivateSchedule(e,t,n){await(await this.http()).post(`v1/workspaces/${t}/schedules/${n}/deactivate`,{headers:{Authorization:`Bearer ${e}`}})}async runScheduleNow(e,t,n){return await(await this.http()).post(`v1/workspaces/${t}/schedules/${n}/run`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getScheduleRuns(e,t,n,r){let i=await this.http(),a={limit:r?.limit??20};return r?.nextKey&&(a.nextKey=r.nextKey),await i.get(`v1/workspaces/${t}/schedules/${n}/runs`,{headers:{Authorization:`Bearer ${e}`},searchParams:a}).json()}async listRecordings(e,t,n){let r=await this.http(),i={limit:n?.limit??20};return n?.nextKey&&(i.nextKey=n.nextKey),n?.search&&(i.search=n.search),r.get(`v1/workspaces/${t}/recordings`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async importRecordingMedia(e,t,n){return(await this.http()).post(`v1/workspaces/${t}/recordings/import/media`,{headers:{Authorization:`Bearer ${e}`},json:n}).json()}async previewRecordingMedia(e,t,n){let r=await this.http(),i={url:n};return r.get(`v1/workspaces/${t}/recordings/preview/media`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async getRecordingAudioUrl(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/recordings/${n}/audioUrl`,{headers:{Authorization:`Bearer ${e}`}}).json()}async retryRecording(e,t,n){return(await this.http()).post(`v1/workspaces/${t}/recordings/${n}/retry`,{headers:{Authorization:`Bearer ${e}`}}).json()}async deleteRecording(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/recordings/${n}`,{headers:{Authorization:`Bearer ${e}`}})}async searchMarketplace(e){let t=await this.http(),n={};return e?.type&&(n.type=e.type),e?.tag&&(n.tag=e.tag),e?.limit&&(n.limit=e.limit),e?.cursor&&(n.cursor=e.cursor),t.get(`v1/marketplace/resources`,{searchParams:n}).json()}async getMarketplaceAgent(e){return(await this.http()).get(`v1/marketplace/agents/${encodeURIComponent(e)}`).json()}async getMarketplaceSkill(e){return(await this.http()).get(`v1/marketplace/skills/${encodeURIComponent(e)}`).json()}async listMarketplaceRoles(){return(await this.http()).get(`v1/marketplace/roles`).json()}async installMarketplaceResource(e,t,n,r,i){return(await this.http()).post(`v1/workspaces/${t}/marketplace/${n}s/${encodeURIComponent(r)}/install`,{headers:{Authorization:`Bearer ${e}`},json:{toolApprovalMode:i}}).json()}static async getAuthenticatedClient(t){let n=await MS.getAll(t);return n?{client:new e(void 0,t),accessToken:n.accessToken,workspaceId:n.workspaceId??null}:null}};function VS(){return process.env.ENTRYDESK_SANDBOX===`true`}function HS(){if(!VS())return null;let e=process.env.ENTRYDESK_SANDBOX_ACCESS_TOKEN?.trim(),t=process.env.ENTRYDESK_SANDBOX_WORKSPACE_ID?.trim();if(!e||!t){let n=[];throw e||n.push(`ENTRYDESK_SANDBOX_ACCESS_TOKEN`),t||n.push(`ENTRYDESK_SANDBOX_WORKSPACE_ID`),Error(`Sandbox mode enabled but missing credentials: ${n.join(`, `)}`)}return{accessToken:e,workspaceId:t}}function US(){return!!process.env.ENTRYDESK_TOKEN?.trim()}function WS(){let e=process.env.ENTRYDESK_TOKEN?.trim();if(!e)return null;let t=process.env.ENTRYDESK_WORKSPACE_ID?.trim();if(!t)throw Error(`ENTRYDESK_TOKEN is set but ENTRYDESK_WORKSPACE_ID is missing. Both are required for PAT authentication.`);return{accessToken:e,workspaceId:t}}const GS=`sandbox environment (ENTRYDESK_SANDBOX)`;function KS(){let e=HS();if(e)return{authSource:`sandbox-env`,label:GS,workspaceId:e.workspaceId};let t=WS();return t?{authSource:`pat-env`,label:`personal access token (ENTRYDESK_TOKEN)`,workspaceId:t.workspaceId}:null}const qS=`entrydesk-cli`;function JS(e,t){let n=new Set(t.split(/[\s,]+/).filter(Boolean)),r=e.split(` `).filter(Boolean);return{rejected:r.filter(e=>n.has(e)),remaining:r.filter(e=>!n.has(e))}}async function YS(e,t,n){try{return await e.post(`v1/oauth/device/code`,{json:{client_id:qS,scope:t}}).json()}catch(r){if(!(r instanceof o))throw r;let{code:i,error:a}=bS(r.data);if(i===`invalid_scope`){let{rejected:r,remaining:i}=JS(t,a);if(r.length>0&&i.length>0)return n?.onWarning?.(`This server doesn't support these scopes: ${r.join(`, `)}. Continuing without them — commands that need them may be unavailable.`),e.post(`v1/oauth/device/code`,{json:{client_id:qS,scope:i.join(` `)}}).json()}throw Error(a?`Failed to request device code: ${a}`:`Failed to request device code`,{cause:r})}}const XS=new Set([`localhost`,`0.0.0.0`,`::`,`::1`]);function ZS(e){let t=e.replace(/^\[|\]$/gu,``).replace(/\.$/u,``).toLowerCase(),n=t.replace(/^::ffff:/u,``);return XS.has(t)||/^127(?:\.\d{1,3}){3}$/u.test(n)||t.startsWith(`::ffff:7f`)}const QS=/^[A-Za-z0-9\-._~/]*$/u,$S=/^[A-Za-z0-9-]{1,64}$/u;function eC(e,t,n){let r=null;if(e)try{let t=new URL(e);(t.protocol===`https:`||t.protocol===`http:`)&&t.username===``&&t.password===``&&t.hostname!==``&&!ZS(t.hostname)&&QS.test(t.pathname)&&(r=new URL(t.pathname,t.origin))}catch{}return r??=new URL(`/oauth/device`,t),$S.test(n)&&r.searchParams.set(`user_code`,n),r.toString()}function tC(e){return new Promise((t,n)=>{let r=process.platform,i,a;switch(r){case`darwin`:i=`open`,a=[e];break;case`win32`:i=`cmd`,a=[`/c`,`start`,``,e];break;default:i=`xdg-open`,a=[e];break}re(i,a,r=>{r?n(Error(`Could not open the browser. Visit this URL to continue: ${e}`,{cause:r})):t()})})}async function nC(e){let t=await uS(),n=hS(),r=gS(),i=process.env.NODE_TLS_REJECT_UNAUTHORIZED;r.ignoreSslErrors&&(process.env.NODE_TLS_REJECT_UNAUTHORIZED=`0`,console.error(`WARNING: SSL certificate validation is disabled globally for this process during the login flow. All connections in this process will skip TLS verification. Only use ENTRYDESK_IGNORE_SSL_ERRORS for local development.`));try{let r=a.create({baseUrl:t.replace(/\/?$/,`/`),timeout:3e4,headers:fS(t),fetch:pS(t),hooks:{beforeError:[({error:e})=>(c(e)&&(e.request.headers.delete(`authorization`),e.request.headers.delete(`Authorization`),e.request.headers.delete(`x-web-proxy-id`)),e)]}}),i;try{i=await YS(r,`offline_access workspaces:read workspaces:write tasks:read tasks:write tasks:delete projects:read projects:write agents:read agents:write connectors:read connectors:write tools:read tools:execute skills:read skills:write meetings:read meetings:write workflows:read workflows:write notifications:read notifications:write publishes:read publishes:write calendar:read calendar:write schedules:read schedules:write user:read user:write`,e)}catch(t){let n=t instanceof Error?t:Error(`Failed to request device code`);throw e?.onError?.(n),n}let{device_code:s,user_code:l,expires_in:u,interval:d}=i,f=eC(i.verification_uri,n,l);e?.onDeviceCodeReceived?.(l,f),e?.onBrowserOpening?.();try{await tC(f)}catch(e){process.env.DEBUG&&console.error(`[DEBUG] Failed to open browser:`,e)}e?.onWaitingForAuthorization?.();let p=Math.max(d,5)*1e3,ee=Date.now()+u*1e3;for(;Date.now()<ee;){await ie(p);try{let t=await r.post(`v1/oauth/token`,{json:{grant_type:`urn:ietf:params:oauth:grant-type:device_code`,device_code:s,client_id:qS}}).json();e?.onAuthorized?.();let n={};try{n=ae(t.access_token)}catch{}return{accessToken:t.access_token,refreshToken:t.refresh_token??void 0,email:n.email||``,scopes:t.scope.split(` `).filter(e=>e.length>0)}}catch(t){if(t instanceof o){let{code:e,error:n}=bS(t.data),r=e||n;if(!r)continue;switch(r){case`authorization_pending`:continue;case`slow_down`:p+=5e3;continue;case`access_denied`:throw Error(`Authorization denied.`,{cause:t});case`expired_token`:throw Error("Device code expired. Run `entrydesk login` again.",{cause:t});default:throw Error(`Authorization failed: ${r||`Unknown error`}`,{cause:t})}}let n=t instanceof Error?t:Error(`Unknown error during authorization`);throw e?.onError?.(n),n}}throw Error("Device code expired. Run `entrydesk login` again.")}finally{i===void 0?delete process.env.NODE_TLS_REJECT_UNAUTHORIZED:process.env.NODE_TLS_REJECT_UNAUTHORIZED=i}}function rC(e){if(e instanceof o){let t=e.response.status;return t===400||t===401}return!1}var iC=class extends Error{code;constructor(e,t){super(t),this.name=`AuthError`,this.code=e}};function aC(e){try{let t=e.split(`.`);if(t.length<2)return null;let n=t[1].replace(/-/g,`+`).replace(/_/g,`/`),r=(4-n.length%4)%4,i=n.padEnd(n.length+r,`=`),a=Buffer.from(i,`base64`).toString(`utf8`);return JSON.parse(a)}catch{return null}}function oC(e,t=300){let n=aC(e)?.exp;return typeof n==`number`&&n-Math.floor(Date.now()/1e3)<=t}async function sC(e){let t=e.accessToken;if(!oC(t))return t;if(!e.refreshToken)throw await MS.clear(),new iC(`session-expired`,"Session expired. Run `entrydesk login` again.");let n=e.refreshToken,r=new BS(await uS());try{let t=await r.refreshOAuthToken({refreshToken:n,clientId:qS}),i=await MS.getAll();return i?.accessToken&&i.refreshToken&&i.refreshToken!==n?i.accessToken:(await MS.saveAll({...i??e,accessToken:t.access_token,refreshToken:t.refresh_token??i?.refreshToken??n}),t.access_token)}catch(e){if(!rC(e))throw new iC(`refresh-failed`,`Could not refresh your session — the auth server is unreachable. Try again in a moment.`);let t=await MS.getAll();if(t?.accessToken&&t.refreshToken&&t.refreshToken!==n)return t.accessToken;throw await MS.clear(),new iC(`session-expired`,"Session expired. Run `entrydesk login` again.")}}async function cC(){let e=HS();if(e)return e.accessToken;let t=await MS.getAll();if(!t?.accessToken)throw new iC(`not-logged-in`,"Not logged in. Run `entrydesk login` first.");return sC(t)}async function lC(){let e=HS();if(e)return{accessToken:e.accessToken,workspaceId:e.workspaceId};let t=WS();if(t)return t;let n=await MS.getAll();if(!n?.accessToken)throw new iC(`not-logged-in`,"Not logged in. Run `entrydesk login` first.");if(!n.workspaceId)throw new iC(`no-workspace`,"No workspace selected. Run `entrydesk workspaces` first.");return{accessToken:await sC(n),workspaceId:n.workspaceId}}function uC(e){let t=``;try{t=` by ${mS()}`}catch{}let n=SS(e.data),r=n?` (server code: ${n})`:``,i;return i=n===`missing_token`||n===`bearer_not_supported`?process.env.ENTRYDESK_API_URL?`The API did not accept your Authorization header (stripped or refused en route) — the URL likely points at a browser-facing proxy path (such as a Hub "/api" URL). It comes from the ENTRYDESK_API_URL environment variable, which overrides profile config — update or unset ENTRYDESK_API_URL.`:'The API did not accept your Authorization header (stripped or refused en route) — the URL likely points at a browser-facing proxy path (such as a Hub "/api" URL). Set apiUrl to the API server URL with `entrydesk profile set apiUrl <url>`.':VS()?`Requests are authenticated via ${GS} — ask the sandbox owner to issue fresh credentials.`:US()?"ENTRYDESK_TOKEN is set and takes priority over `entrydesk login` credentials for workspace commands — unset it or replace it with a valid token; if this command does not use it, run `entrydesk login`.":"Your session may have expired — run `entrydesk login`. If this is not the environment you expect, check `entrydesk profile get apiUrl`.",`Not authorized (401)${t}${r}. ${i}`}function dC(e){let t=Math.round(e/1e3);return t%60==0&&t>=60?`${t/60}m`:`${t}s`}function fC(e){return e instanceof Error&&e.name===`SdkError`&&`code`in e&&e.code===`REQUEST_TIMEOUT`}function pC(){let{requestTimeout:e,requestMaxTotalTimeout:t}=_S();return`The request timed out after ${dC(e)} without a response or progress update (absolute cap ${dC(t)}). Raise the limit with ${rS}=<milliseconds>, and ${iS}=<milliseconds> for the absolute cap.`}var mC=class extends Error{exitCode;cause;constructor(e,t=1,n){super(e),this.exitCode=t,this.cause=n,this.name=`CLIError`}};function hC(e){if(e instanceof mC)return{message:`Error: ${e.message}`,exitCode:e.exitCode,cause:e.cause,stack:e.cause?.stack};if(e instanceof iC)return{message:e.message,exitCode:1,stack:e.stack};if(fC(e))return{message:pC(),exitCode:1,stack:e instanceof Error?e.stack:void 0};if(e instanceof s)return{message:`Request timed out. Check your connection and try again.`,exitCode:1,stack:e.stack};if(e instanceof o){let t=e.response.status,n=SS(e.data);if(t===401)return{message:uC(e),code:n,exitCode:1,stack:e.stack};if(t===403)return{message:"Forbidden (403). Your account or token lacks permission for this action. If your token predates a recently added feature, run `entrydesk login` to refresh its scopes; otherwise you may lack permission in this workspace.",code:n,exitCode:1,stack:e.stack};let r=bS(e.data),i=n?` (server code: ${n})`:``,a=Z(r.error),o=Z(e.response.statusText),s=a||o,c=r.issues.slice(0,5).map(e=>de(Z(e.path?`${e.path}: ${e.message}`:e.message),200)).join(`; `);return{message:`Request failed (${t}): ${s}${c?` — ${c}`:``}${i}`,code:n,exitCode:1,stack:e.stack}}return e instanceof Error?{message:`Unexpected error: ${e.message}`,exitCode:1,stack:e.stack}:{message:`An unknown error occurred`,exitCode:1}}function gC(e){let{code:t=`request_failed`,message:n}=hC(e);return{code:t,message:n}}function _C(e){let t=hC(e);console.error(t.message),t.cause&&console.error(`Cause: ${t.cause.message}`),process.env.DEBUG&&t.stack&&console.error(t.stack),process.exit(t.exitCode)}const vC=`default`,yC=/^[A-Za-z0-9_-]+$/;let bC=null;function xC(){return i.join(r.homedir(),`.entrydesk`)}function SC(){return i.join(xC(),`profiles`)}function CC(){return i.join(xC(),`profiles.json`)}function wC(e){return i.join(SC(),e)}function TC(e){if(n.existsSync(e))try{n.chmodSync(e,448)}catch{}else n.mkdirSync(e,{mode:448,recursive:!0})}function EC(){TC(xC())}function DC(){TC(SC())}function OC(){let e=CC();try{if(!n.existsSync(e))return null;let t=n.readFileSync(e,`utf-8`);return JSON.parse(t)}catch{return null}}function kC(e,t){EC();let r=`${e}.${process.pid}.tmp`;try{n.writeFileSync(r,JSON.stringify(t,null,2),{mode:384}),n.renameSync(r,e)}catch(e){throw n.rmSync(r,{force:!0}),e}try{n.chmodSync(e,384)}catch{}}function AC(e){kC(CC(),e)}function jC(e){let t=e.profiles?.length?[...new Set(e.profiles)]:[],n=e.currentProfile&&t.includes(e.currentProfile)?e.currentProfile:t[0]||vC;return t.length===0&&t.push(vC),t.includes(n)||t.unshift(n),{currentProfile:n,profiles:t}}function MC(e){DC(),TC(wC(e))}function NC(){let e=OC();if(!e){let e={currentProfile:vC,profiles:[vC]};return AC(e),DC(),MC(vC),e}let t=jC(e);return(t.currentProfile!==e.currentProfile||t.profiles.length!==e.profiles.length)&&AC(t),DC(),t}function PC(e){if(!e)throw new mC(`Profile name is required.`);if(!yC.test(e))throw new mC(`Invalid profile name. Use letters, numbers, dash, or underscore.`)}function FC(e,t){if(!e.profiles.includes(t))throw new mC(`Profile not found: ${t}`)}function IC(e,t){if(e.profiles.includes(t))throw new mC(`Profile already exists: ${t}`)}const $={DEFAULT_PROFILE:vC,setOverrideProfile(e){bC=e},getOverrideProfile(){return bC},getProfileDir(e){return wC(e)},getProfileConfigFile(e){return i.join($.getProfileDir(e),`config.json`)},getProfileCredentialsFile(e){return i.join($.getProfileDir(e),`credentials.json`)},getProfileNames(){return[...NC().profiles]},getProfileCount(){return $.getProfileNames().length},getCurrentProfileName(){return NC().currentProfile},getEffectiveProfileName(e){let t=NC(),n=e||bC||t.currentProfile;return PC(n),FC(t,n),n},ensureProfileExists(e){let t=NC();PC(e),FC(t,e)},createProfile(e){PC(e);let t=NC();IC(t,e),AC({currentProfile:t.currentProfile,profiles:[...t.profiles,e]}),MC(e)},deleteProfile(e){PC(e);let t=NC();if(FC(t,e),t.profiles.length===1)throw new mC(`Cannot delete the last profile.`);let r=t.profiles.filter(t=>t!==e),i=t.currentProfile;i===e&&(i=r.includes(vC)?vC:r[0]),AC({currentProfile:i,profiles:r});try{n.rmSync($.getProfileDir(e),{recursive:!0,force:!0})}catch{}return{currentProfile:i}},renameProfile(e,t){PC(e),PC(t);let r=NC();FC(r,e),IC(r,t);let i=wC(e),a=wC(t),o=n.existsSync(i);if(o)try{n.renameSync(i,a)}catch(e){throw new mC(`Failed to rename profile directory.`,1,e)}let s=r.profiles.map(n=>n===e?t:n),c=r.currentProfile===e?t:r.currentProfile,l={currentProfile:c,profiles:s};try{AC(l)}catch(e){if(o)try{n.renameSync(a,i)}catch(e){throw new mC(`The profile could not be renamed, and its data could not be put back. It is at ${a}.`,1,e instanceof Error?e:void 0)}throw e}if(!o)try{MC(t)}catch(e){console.warn(`Warning: Profile renamed, but its directory could not be created (${e instanceof Error?e.message:String(e)}). It will be created on the next write.`)}return{currentProfile:c}},setCurrentProfile(e){PC(e);let t=NC();FC(t,e),AC({currentProfile:e,profiles:t.profiles}),MC(e)},ensureProfileDir:MC};export{T_ as $,Ku as $t,vS as A,rp as At,ib as B,Df as Bt,MS as C,tm as Ct,eS as D,Zp as Dt,$x as E,im as Et,kx as F,Bf as Ft,Pv as G,J as Gt,Ey as H,xf as Ht,Nx as I,dp as It,S_ as J,rf as Jt,jv as K,ef as Kt,Ax as L,Mf as Lt,_S as M,Yf as Mt,uS as N,ip as Nt,pS as O,em as Ot,fS as P,fp as Pt,E_ as Q,Zu as Qt,Gb as R,Cf as Rt,RS as S,om as St,Z as T,nm as Tt,ty as U,gf as Ut,Dy as V,bf as Vt,ey as W,of as Wt,j_ as X,Vd as Xt,O_ as Y,Xd as Yt,A_ as Z,Gu as Zt,KS as _,_m as _t,hC as a,od as an,Cg as at,US as b,Gp as bt,fC as c,Kl as cn,_g as ct,lC as d,ue as dn,Um as dt,ed as en,M_ as et,oC as f,Sm as ft,GS as g,gm as gt,nC as h,cm as ht,pC as i,dd as in,Yg as it,hS as j,lp as jt,mS as k,cp as kt,iC as l,Zc as ln,Jh as lt,qS as m,sm as mt,xC as n,Ju as nn,h_ as nt,gC as o,Qu as on,Sg as ot,sC as p,Em as pt,P_ as q,af as qt,mC as r,ld as rn,p_ as rt,_C as s,qu as sn,gg as st,$ as t,$u as tn,m_ as tt,cC as u,we as un,eh as ut,HS as v,lm as vt,SS as w,$p as wt,BS as x,rm as xt,WS as y,Xp as yt,Wb as z,kf as zt};
|