@entrydesk/cli 2.2.0-beta.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/README.md +81 -3
  2. package/dist/{add-BYupRwo_.js → add-CliIFCt0.js} +1 -1
  3. package/dist/{agents-CeXkI4US.js → agents-DZ5MMNgm.js} +1 -1
  4. package/dist/{billing-BeaQvLSK.js → billing-BVg9kb_L.js} +1 -1
  5. package/dist/{budget-B4SKcu-1.js → budget-BA_V5uWx.js} +1 -1
  6. package/dist/build-task-request-config-DpENRUKp.js +10 -0
  7. package/dist/{commands-Bisc9IY0.js → commands-Be9x6Mn2.js} +1 -1
  8. package/dist/{commands-Drf0_Uu8.js → commands-D7DwcYwS.js} +1 -1
  9. package/dist/{config-ROg2C1qz.js → config-BhMlE1Tn.js} +2 -2
  10. package/dist/connectors-Cvzw7qlZ.js +11 -0
  11. package/dist/{file-upload-ClVCUJp1.js → file-upload-CdLxxBH8.js} +1 -1
  12. package/dist/{format-B6a10P86.js → format-C0gQh0-a.js} +1 -1
  13. package/dist/index.js +43 -23
  14. package/dist/{instruction-D0Sy5WJu.js → instruction-b-Qrs68S.js} +1 -1
  15. package/dist/{login-7nuzjqqL.js → login-BZ-nQu3d.js} +1 -1
  16. package/dist/{logout-O7uVmxmK.js → logout-BWkZBnD-.js} +1 -1
  17. package/dist/{marketplace-8V1DNOld.js → marketplace-DgwQPDeN.js} +2 -2
  18. package/dist/{mcp-DwMCTWU-.js → mcp-C_O_23sO.js} +1 -1
  19. package/dist/{mcp-client-DpDabxv9.js → mcp-client-B8MmdXBG.js} +1 -1
  20. package/dist/{meeting-DCMyPA59.js → meeting-DzVRhcfg.js} +1 -1
  21. package/dist/{message-utils-C6JS91tT.js → message-utils-CcBgWZ5t.js} +7 -7
  22. package/dist/{models-BdxCIBZD.js → models-BxuwtAxX.js} +1 -1
  23. package/dist/{notifications-BZxmGqEM.js → notifications-DqQYkVSS.js} +1 -1
  24. package/dist/{paginate-B-nHzQ0j.js → paginate-cPRCZh55.js} +1 -1
  25. package/dist/{paths-ZPsPG0IC.js → paths-C8hkD2dC.js} +1 -1
  26. package/dist/profile-B8nE-j1O.js +10 -0
  27. package/dist/profile-storage-Cr7deOY9.js +74 -0
  28. package/dist/{project-Ba5LBPMF.js → project-BxVdJtOP.js} +1 -1
  29. package/dist/project-context-BqEcMdlw.js +10 -0
  30. package/dist/{project-governance-B66BEQxO.js → project-governance-QB_gZDCX.js} +1 -1
  31. package/dist/{project-sources-D4m1oEvu.js → project-sources-Blt3VJJN.js} +1 -1
  32. package/dist/{project-sources-write-CCICd6f8.js → project-sources-write-CVrDTztH.js} +1 -1
  33. package/dist/{project-tasks-ylwpld2n.js → project-tasks-BfkQKohb.js} +1 -1
  34. package/dist/{push-CNZNGP6D.js → push-vRsxRNBH.js} +1 -1
  35. package/dist/{recordings-DpDUq0iw.js → recordings-zh5XEAev.js} +1 -1
  36. package/dist/{remove-CbGljmXk.js → remove-Nz6GWS0F.js} +1 -1
  37. package/dist/resolve-KMh83zHX.js +14 -0
  38. package/dist/resource-grants-fNkgsqvv.js +10 -0
  39. package/dist/{schedules-CTFIi2SL.js → schedules-CQuymYZT.js} +2 -2
  40. package/dist/{skills-DbFd9oBS.js → skills-D09C16xt.js} +1 -1
  41. package/dist/status-BXYEKkJH.js +10 -0
  42. package/dist/{status-Br8KI96N.js → status-CUeNgSAa.js} +1 -1
  43. package/dist/task-rOOgtJCU.js +116 -0
  44. package/dist/tasks-EFh2RjvH.js +22 -0
  45. package/dist/{tasks-CNUJbs7w.js → tasks-Z1gITmPI.js} +1 -1
  46. package/dist/{team-BfBb-uk2.js → team-CMQsRjEv.js} +1 -1
  47. package/dist/{teams-47YS8wYw.js → teams-CmycEyf1.js} +1 -1
  48. package/dist/{token-CvjOXFDB.js → token-h7XXxssb.js} +1 -1
  49. package/dist/{tool-D_n28XK0.js → tool-xATD3WTo.js} +7 -7
  50. package/dist/update-DApkxaRa.js +10 -0
  51. package/dist/{usage-audit-STxCfVta.js → usage-audit-Ds7ucnal.js} +3 -3
  52. package/dist/{usage-BPyHU-GL.js → usage-k9CiuTSU.js} +1 -1
  53. package/dist/{version-Ca4arzgb.js → version-DLXK4Ntd.js} +1 -1
  54. package/dist/{webhook-B0E0M2EK.js → webhook-WYUHbChD.js} +1 -1
  55. package/dist/{workflow-B-iN8d5R.js → workflow-B0QZjfU5.js} +1 -1
  56. package/dist/{workspaces-DmqtYNX1.js → workspaces-DBEB_gl6.js} +1 -1
  57. package/package.json +4 -4
  58. package/dist/build-task-request-config-eOeyGAfk.js +0 -10
  59. package/dist/connectors-jktsuWlk.js +0 -11
  60. package/dist/profile-D4jP-vQE.js +0 -10
  61. package/dist/profile-storage--QCh_u_Q.js +0 -73
  62. package/dist/project-context-8lb14kaU.js +0 -10
  63. package/dist/resolve-Di6ohyyF.js +0 -14
  64. package/dist/resource-grants-DojPWFs8.js +0 -10
  65. package/dist/status-DLI2OgMv.js +0 -10
  66. package/dist/task-CRwWxEOf.js +0 -116
  67. package/dist/tasks-VEfTbXVT.js +0 -22
  68. package/dist/update-B8gxXkSO.js +0 -10
@@ -0,0 +1,74 @@
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,isNetworkError as l,isTimeoutError as u}from"ky";import{getToolName as d,isToolUIPart as f}from"ai";import{lookup as p}from"node:dns/promises";import{isIP as ee}from"node:net";import{Agent as te,fetch as ne}from"undici";import re from"node:crypto";import{execFile as ie}from"node:child_process";import{setTimeout as ae}from"node:timers/promises";import{decodeJwt as oe}from"jose";let se;function ce(){return se===void 0&&(se=typeof Intl<`u`&&typeof Intl.Segmenter==`function`?new Intl.Segmenter(void 0,{granularity:`grapheme`}):null),se}function le(e){let t=0;for(let n of e)t+=1;return t}function ue(e){let t=[];for(let n of e)t.push(n);return t}function de(e){let t=ce();return t?Array.from(t.segment(e),e=>e.segment):ue(e)}function fe(e,t){let n=ce();if(!n)return ue(e).slice(0,t).join(``);let r=0,i=0;for(let{segment:a,index:o}of n.segment(e)){let e=le(a);if(r+e>t)break;r+=e,i=o+a.length}return i===0&&e.length>0?ue(e).slice(0,t).join(``):e.slice(0,i)}function pe(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 me(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:arguments[t];t%2?pe(Object(n),!0).forEach(function(t){he(e,t,n[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):pe(Object(n)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))})}return e}function he(e,t,n){return t=ge(t),t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ge(e){var t=_e(e,`string`);return typeof t==`symbol`?t:String(t)}function _e(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)}ve({});function ve(e){return t.withOptions=t=>ve(me(me({},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?ye(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 ye(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 be={blue:`#0360f0`,yellow:`#ffce25`,cyan:`#00d2ff`},xe={width:570.45,height:120.05};`${xe.width}${xe.height}`;const Se=[{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`}],Ce=[{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`}],we=[{tag:`polygon`,fill:be.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:be.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:be.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`}];[...Se,...Ce,...we];function Te(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function Ee(e){return Object.keys(e)}new TextEncoder,new TextDecoder(`utf-8`,{fatal:!1});function De(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 Oe(e,t=`|`){return e.map(e=>Qe(e)).join(t)}function ke(e,t){return typeof t==`bigint`?t.toString():t}var Ae=class{constructor(e){this._getter=e,this._value=void 0}get value(){let e=this._getter;return e!==void 0&&(this._value=e(),this._getter=void 0),this._value}};function je(e){return new Ae(e)}function Me(e){return e==null}function Ne(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Pe(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 Fe(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Ie(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function Le(e){return Ie(e._zod.def)??e._zod.def.shape}function Re(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return Fe(this,t,e),e},enumerable:!0,configurable:!0})}function ze(e,t,n){t in e?Fe(e,t,n):e[t]=n}function Be(e,t,n,r){let i=Le(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?Re(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):ze(e,a,r?r(n.value,a):n.value))}}function Ve(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?Re(e,n,()=>t[n]):ze(e,n,r.value))}}function m(...e){let t={};for(let n of e){let e=Object.getOwnPropertyDescriptors(n);Object.assign(t,e)}return Object.defineProperties({},t)}function He(e){return JSON.stringify(e)}function Ue(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const We=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function Ge(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Ke=je(()=>{if(Bt.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function qe(e){if(Ge(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return Ge(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function Je(e){return qe(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Ye=new Set([`string`,`number`,`symbol`]);function Xe(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Ze(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 Qe(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function $e(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}const et={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},tt={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function nt(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`);let i={};return Be(i,e,rt(e,t)),Ze(e,m(n,{shape:i,checks:[]}))}function rt(e,t){let n=Le(e),r=[];for(let e of Reflect.ownKeys(t)){if(!Object.getOwnPropertyDescriptor(n,e)?.enumerable)throw Error(`Unrecognized key: "${String(e)}"`);t[e]&&r.push(e)}return r}function it(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`);let i=new Set(rt(e,t)),a={};return Be(a,e,Reflect.ownKeys(Le(e)).filter(e=>!i.has(e))),Ze(e,m(n,{shape:a,checks:[]}))}function at(e,t){if(!qe(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=Le(e);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 Ze(e,m(e._zod.def,{shape:ot(e,t)}))}function ot(e,t){let n={};return Be(n,e,Reflect.ownKeys(Le(e))),Ve(n,t),n}function st(e,t){if(!qe(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Ze(e,m(e._zod.def,{shape:ot(e,t)}))}function ct(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.`);let n={};return Be(n,e,Reflect.ownKeys(Le(e))),Be(n,t,Reflect.ownKeys(Le(t))),Ze(e,m(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function lt(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`);let a=n?new Set(rt(t,n)):void 0,o={};return Be(o,t,Reflect.ownKeys(Le(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),Ze(t,m(t._zod.def,{shape:o,checks:[]}))}function ut(e,t,n){let r=n?new Set(rt(t,n)):void 0,i={};return Be(i,t,Reflect.ownKeys(Le(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),Ze(t,m(t._zod.def,{shape:i}))}function dt(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 ft(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 pt(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function mt(e){return typeof e==`string`?e:e?.message}function ht(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function gt(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:mt(e.inst?._zod.def?.error?.(e))??mt(a?.(e))??mt(t?.error?.(e))??mt(n.customError?.(e))??mt(n.localeError?.(e))??`Invalid input`,s={};for(let t of Object.keys(e))t!==`inst`&&t!==`schema`&&t!==`continue`&&t!==`input`&&t!==`__proto__`&&(s[t]=e[t]);return s.path??=[],s.message=o,t?.reportInput&&(s.input=e.input),s}const _t=/[\uD800-\uDBFF]/;function vt(e){let t=e.length;if(!_t.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 yt(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function bt(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 xt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function St(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Et(e,n,r.value)}}function Ct(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function wt(e,t,n){return Ct(e,t,n,!1)}function Tt(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return Ct(this,n,r(this))},set(e){Ct(this,n,e)}})}return t}function Et(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:Ct(this,t,n.bind(this))},set(e){Ct(this,t,e)}})}function Dt(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let Ot,kt=!1;const At={configurable:!0,get(){kt=!0}};function g(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Ot!==e._zod){Ot=void 0;return}Ot=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,At);let e=kt;kt=!1;try{let r=n(this);return kt?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),kt||=e,r}catch(n){throw delete this[t],kt||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function jt(e,t,n,r){let i=Dt(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 Mt(e){let t=()=>e;return t[`~constantCatch`]=!0,t}var Nt;const Pt=Object.freeze({status:`aborted`}),Ft={value:void 0,enumerable:!1};let It=`captureStackTrace`in Error?Error:null;function Lt(e){let t=It;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return It=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){Ft.value=new a(r);try{Object.defineProperty(n,"_zod",Ft)}finally{Ft.value=void 0}}else 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),St(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?Lt(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 Rt=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},zt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Nt=globalThis).__zod_globalConfig??(Nt.__zod_globalConfig={});const Bt=globalThis.__zod_globalConfig;function Vt(e){return e&&Object.assign(Bt,e),Bt}function Ht(){let e=this._zod;return e.message??=JSON.stringify(e.def,ke,2),e.message}function Ut(e){this._zod.message=e}const Wt={get:Ht,set:Ut,enumerable:!0,configurable:!0},Gt={value:void 0,enumerable:!1},Kt=new WeakSet([Object.prototype,Error.prototype]),qt=(e,t)=>{e.name=`$ZodError`,Gt.value=t,Object.defineProperty(e,"issues",Gt),Gt.value=void 0,Object.defineProperty(e,"message",Wt);let n=Object.getPrototypeOf(e);Kt.has(n)||(Kt.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})}}))},Jt=_(`$ZodError`,qt);_(`$ZodError`,qt,void 0,{Parent:Error});function Yt(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 Xt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?Yt(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Zt(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 Qt(e,t){return{callee:t?.callee??e,Err:t?.Err}}const $t=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 Rt;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>gt(e,o,Vt())));throw We(n,a?.callee??t),n}return s.value};return t},en=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=>gt(e,o,Vt())));throw We(n,a?.callee??t),n}return s.value};return t},tn=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 Rt;return a.issues.length?nn(e,a.issues,i):{success:!0,data:a.value}};function nn(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>gt(e,n,Vt()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}const rn=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?nn(e,a.issues,i):{success:!0,data:a.value}},an=Symbol.for(`zod.compile.invalid`),on=Symbol.for(`zod.compile.fallback`),sn=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==an)return!0;if(r.definite===!0&&n===void 0)return!1}return cn(e,t,n)});function cn(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[on]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new Rt;return a.issues.length===0}const ln=async(e,t,n)=>{let r=n?{...n,async:!0,abortEarly:!0}:{async:!0,abortEarly:!0},i=e._zod.run({value:t,issues:[]},r);return i instanceof Promise&&(i=await i),i.issues.length===0},un=e=>{let t=$t(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Qt(n,a))};return n},dn=e=>{let t=$t(e),n=(e,r,i,a)=>t(e,r,i,Qt(n,a));return n},fn=e=>{let t=en(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,Qt(n,a))};return n},pn=e=>{let t=en(e),n=async(e,r,i,a)=>await t(e,r,i,Qt(n,a));return n},mn=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return tn(e)(t,n,i)},hn=e=>(t,n,r)=>tn(e)(t,n,r),gn=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return rn(e)(t,n,i)},_n=e=>async(t,n,r)=>rn(e)(t,n,r),vn=/^[cC][0-9a-z]{6,}$/,yn=/^[0-9a-z]+$/,bn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,xn=/^[0-9a-vA-V]{20}$/,Sn=/^[A-Za-z0-9]{27}$/,Cn=/^[a-zA-Z0-9_-]{21}$/;function wn(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const Tn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,En=/^([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})$/,Dn=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)$/,On=/^(?:[A-Za-z0-9_'+\-]+\.)*[A-Za-z0-9_'+\-]*[A-Za-z0-9_+-]@(?:[A-Za-z0-9][A-Za-z0-9\-]*\.)+[A-Za-z]{2,}$/;function kn(){return RegExp(`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`,`u`)}const An=/^(?:(?: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])$/,jn=/^(([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}|:))$/,Mn=/^((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])$/,Nn=/^(([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])$/,Pn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Fn=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,In=/^https?$/,Ln=/^\+[1-9]\d{6,14}$/,Rn=`(?:(?:\\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 zn(e){return RegExp(`^${e}$`)}const Bn=zn(Rn);function Vn(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 Hn(e){return RegExp(`^${Vn(e)}$`)}function Un(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${Vn({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${Vn({precision:e.precision})}`:n;return RegExp(`^${Rn}T(?:${r})$`)}const Wn=/^[\s\S]{0,}$/,Gn=/^-?\d+$/,Kn=/^-?\d+(?:\.\d+)?$/,qn=/^(?:true|false)$/i,Jn=/^null$/i,Yn=/^[^A-Z]*$/,Xn=/^[^a-z]*$/,v=_(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Zn=e=>{let t=e.value;return!Me(t)&&t.length!==void 0},Qn={number:`number`,bigint:`bigint`,object:`date`},$n=_(`$ZodCheckLessThan`,(e,t)=>{v.init(e,t);let n=Qn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Qn[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})}}),er=_(`$ZodCheckGreaterThan`,(e,t)=>{v.init(e,t);let n=Qn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Qn[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})}}),tr=_(`$ZodCheckMultipleOf`,(e,t)=>{v.init(e,t),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):Pe(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})}}),nr=_(`$ZodCheckNumberFormat`,(e,t)=>{v.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=et[t.format];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})}}),rr=_(`$ZodCheckMaxLength`,(e,t)=>{var n;v.init(e,t),(n=e._zod.def).when??(n.when=Zn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?vt(r):i)<=t.maximum)return;let a=yt(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ir=_(`$ZodCheckMinLength`,(e,t)=>{var n;v.init(e,t),(n=e._zod.def).when??(n.when=Zn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?vt(r):i)>=t.minimum)return;let a=yt(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),ar=_(`$ZodCheckLengthEquals`,(e,t)=>{var n;v.init(e,t),(n=e._zod.def).when??(n.when=Zn),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?vt(r):i;if(a===t.length)return;let o=yt(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})}}),or=_(`$ZodCheckStringFormat`,(e,t)=>{var n,r;v.init(e,t),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=()=>{})}),sr=_(`$ZodCheckRegex`,(e,t)=>{or.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})}}),cr=_(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=Yn,or.init(e,t)}),lr=_(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Xn,or.init(e,t)}),ur=_(`$ZodCheckIncludes`,(e,t)=>{v.init(e,t);let n=Xe(t.includes);t.pattern=new RegExp(typeof t.position==`number`?`^.{${t.position},}${n}`:n),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})}}),dr=_(`$ZodCheckStartsWith`,(e,t)=>{v.init(e,t);let n=RegExp(`^${Xe(t.prefix)}.*`);t.pattern??=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})}}),fr=_(`$ZodCheckEndsWith`,(e,t)=>{v.init(e,t);let n=RegExp(`.*${Xe(t.suffix)}$`);t.pattern??=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})}}),pr=_(`$ZodCheckOverwrite`,(e,t)=>{v.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var mr=class{constructor(e=[],t={}){this.content=[],this.indent=0,this.args=e,this.closed=t}indented(e){this.indent+=1;try{e(this)}finally{--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 hr={major:4,minor:6,patch:5},y=_(`$ZodType`,(e,t)=>{var n;e??={},e._zod.def=t,e._zod.bag=e._zod.bag||{},e._zod.version=hr;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=dt(t),a;for(let o of n){if(o._zod.def.when){if(ft(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 Rt;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(ht(t.issues,n,e),i||=dt(t,n))});else{if(t.issues.length===n)continue;ht(t.issues,n,e),i||=dt(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(dt(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new Rt;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 Rt;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return wt(this,`~standard`,vr(this))},set"~standard"(e){Ct(this,`~standard`,e)}}),gr=(e,t)=>e.issues.length?{issues:e.issues.map(e=>gt(e,t,Vt()))}:{value:e.value};async function _r(e,t){let n={async:!0};return gr(await e._zod.run({value:t,issues:[]},n),n)}function vr(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return gr(r,n)}catch{}return _r(e,t)},vendor:`zod`,version:1}}const yr=_(`$ZodString`,(e,t)=>{y.init(e,t),e._zod.pattern=t.pattern??Wn,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}}),b=_(`$ZodStringFormat`,(e,t)=>{or.init(e,t),yr.init(e,t)}),br=_(`$ZodGUID`,(e,t)=>{t.pattern??=En,b.init(e,t)}),xr=_(`$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??=Dn(e)}else t.pattern??=Dn();b.init(e,t)}),Sr=_(`$ZodEmail`,(e,t)=>{t.pattern??=On,b.init(e,t)});function Cr(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function wr(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?Cr(e)||2:Tr(e,t)}function Tr(e,t){if(!t.normalize&&t.protocol?.source===In.source&&!/^https?:\/\//i.test(e))return 1;try{if(typeof URL<`u`){let t=URL;if(typeof t.parse==`function`)return t.parse(e)??2}return new URL(e)}catch{return 2}}const Er=/[\t\n\r]/g;function Dr(e){return e.replace(Er,``)}function Or(e,t){return t.lastIndex=0,t.test(e.hostname)}function kr(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}const Ar=_(`$ZodURL`,(e,t)=>{b.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=wr(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}if(i===!0){n.value=Dr(r);return}t.hostname&&!Or(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&&!kr(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:Dr(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),jr=_(`$ZodEmoji`,(e,t)=>{t.pattern??=kn(),b.init(e,t)}),Mr=_(`$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?Cn:wn(t.length),b.init(e,t)}),Nr=_(`$ZodCUID`,(e,t)=>{t.pattern??=vn,b.init(e,t)}),Pr=_(`$ZodCUID2`,(e,t)=>{t.pattern??=yn,b.init(e,t)}),Fr=_(`$ZodULID`,(e,t)=>{t.pattern??=bn,b.init(e,t)}),Ir=_(`$ZodXID`,(e,t)=>{t.pattern??=xn,b.init(e,t)}),Lr=_(`$ZodKSUID`,(e,t)=>{t.pattern??=Sn,b.init(e,t)}),Rr=_(`$ZodISODateTime`,(e,t)=>{t.pattern??=Un(t),b.init(e,t)}),zr=_(`$ZodISODate`,(e,t)=>{t.pattern??=Bn,b.init(e,t)}),Br=_(`$ZodISOTime`,(e,t)=>{t.pattern??=Hn(t),b.init(e,t)}),Vr=_(`$ZodISODuration`,(e,t)=>{t.pattern??=Tn,b.init(e,t)}),Hr=_(`$ZodIPv4`,(e,t)=>{t.pattern??=An,b.init(e,t)}),Ur=/^[0-9a-fA-F:.]+$/;function Wr(e){return Ur.test(e)?Cr(`http://[${e}]`):!1}const Gr=_(`$ZodIPv6`,(e,t)=>{t.pattern??=jn,b.init(e,t),e._zod.check=n=>{Wr(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Kr=_(`$ZodCIDRv4`,(e,t)=>{t.pattern??=Mn,b.init(e,t)});function qr(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 Jr=_(`$ZodCIDRv6`,(e,t)=>{t.pattern??=Nn,b.init(e,t),e._zod.check=n=>{qr(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function Yr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Xr=/^[0-9a-zA-Z+/]*={0,2}$/,Zr=_(`$ZodBase64`,(e,t)=>{t.pattern??=Xr,b.init(e,t),e._zod.check=n=>{Yr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),Qr=/^[A-Za-z0-9_-]*$/;function $r(e){if(!Qr.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return Yr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const ei=_(`$ZodBase64URL`,(e,t)=>{t.pattern??=Qr,b.init(e,t),e._zod.check=n=>{$r(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),ti=_(`$ZodE164`,(e,t)=>{t.pattern??=Ln,b.init(e,t)});function ni(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 ri=_(`$ZodJWT`,(e,t)=>{b.init(e,t),e._zod.check=n=>{ni(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),ii=_(`$ZodNumber`,(e,t)=>{y.init(e,t),e._zod.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}}),ai=_(`$ZodNumberFormat`,(e,t)=>{nr.init(e,t),ii.init(e,t)}),oi=_(`$ZodBoolean`,(e,t)=>{y.init(e,t),e._zod.pattern=qn,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}}),si=_(`$ZodNull`,(e,t)=>{y.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}}),ci=_(`$ZodAny`,(e,t)=>{y.init(e,t),e._zod.parse=e=>e}),li=_(`$ZodUnknown`,(e,t)=>{y.init(e,t),e._zod.parse=e=>e}),ui=_(`$ZodNever`,(e,t)=>{y.init(e,t),e._zod.parse=(t,n)=>(t.issues.push({expected:`never`,code:`invalid_type`,input:t.value,inst:e}),t)}),di=_(`$ZodDate`,(e,t)=>{y.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 fi(e,t,n){e.issues.length&&t.issues.push(...pt(n,e.issues)),t.value[n]=e.value}const pi=_(`$ZodArray`,(e,t)=>{y.init(e,t);let n=Bt.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=[],s=i?.abortEarly;for(let e=0;e<a.length;e++){let n=a[e],c=t.element._zod.run({value:n,issues:[]},i);if(c instanceof Promise)o.push(c.then(t=>fi(t,r,e)));else if(fi(c,r,e),s&&c.issues.length!==0&&dt(c))break}return o.length?Promise.all(o).then(()=>r):r}});function mi(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(...pt(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||i===`defaulted`&&!s)&&(t.value[n]=void 0):t.value[n]=e.value}}const hi=[];function gi(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:hi,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=$e(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function _i(e,t,n,r,i,a,o){let s=[],c=i.keySet,l=i.catchall._zod,u=l.def.type,d=l.optin,f=l.optout,p=0;for(let i in t){if(o&&n.issues.length!==p){if(dt(n,p))break;p=n.issues.length}if(c.has(i))continue;if(i===`__proto__`){u===`never`&&s.push(i);continue}if(u===`never`){s.push(i);continue}let a=l.run({value:t[i],issues:[]},r);a instanceof Promise?e.push(a.then(e=>mi(e,n,i,t,d,f))):mi(a,n,i,t,d,f)}return s.length&&n.issues.push({code:`unrecognized_keys`,keys:s,input:t,inst:a,continue:!0}),e.length?Promise.all(e).then(()=>n):n}const vi=_(`$ZodObject`,(e,t)=>{y.init(e,t);let n=Object.getOwnPropertyDescriptor(t,`shape`),r=n?.get?n.get.raw:t.shape??{};if(r){let e=()=>{let n={...r};return Object.defineProperty(t,"shape",{value:n}),e.raw=n,n};e.raw=r,Object.defineProperty(t,"shape",{get:e})}let i=je(()=>gi(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)||Fe(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 a=Ge,o=t.catchall,s,c=Bt.memoizer;c?.attach(e),e._zod.parse=(t,n)=>{s??=i.value;let r=t.value;if(!a(r))return t.issues.push({expected:`object`,code:`invalid_type`,input:r,inst:e}),t;t.value=c?c.alloc(e,t,{},n):{};let l=[],u=s.shape,d=n?.abortEarly,f=t.issues.length;for(let e of s.allKeys){if(d&&t.issues.length!==f){if(dt(t,f))break;f=t.issues.length}if(e===`__proto__`)continue;let i=u[e],a=i._zod.optin,o=i._zod.optout,s=i._zod.run({value:r[e],issues:[]},n);s instanceof Promise?l.push(s.then(n=>mi(n,t,e,r,a,o))):mi(s,t,e,r,a,o)}return o?_i(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),yi=_(`$ZodObjectJIT`,(e,t)=>{vi.init(e,t);let n=e._zod.parse,r=je(()=>gi(t)),i=Bt.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new mr([`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
+ let ${e}_ab = false;
19
+ for (let i = 0; i < ${e}.issues.length; i++) {
20
+ const iss = ${e}.issues[i];
21
+ iss.path = iss.path ? [${t}, ...iss.path] : [${t}];
22
+ payload.issues.push(iss);
23
+ if (iss.continue !== true) ${e}_ab = true;
24
+ }
25
+ if (${e}_ab && ctx && ctx.abortEarly) {
26
+ payload.value = newResult;
27
+ return payload;
28
+ }`;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)}]`:He(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(`
29
+ const ${n}_present = ${i};
30
+ if (!${n}.issues.length || ${n}_present) {
31
+ if (${n}.issues.length) {${c(n,r)}
32
+ }
33
+
34
+ if (${e}) {
35
+ newResult[${r}] = ${n}.value;
36
+ }
37
+ }
38
+
39
+ `)}else f?(o.write(`
40
+ if (${n}.issues.length) {${c(n,r)}
41
+ }
42
+ `),d===`defaulted`?o.write(`newResult[${r}] = ${n}.value;`):o.write(`
43
+ if (${n}.value !== undefined || ${i}) {
44
+ newResult[${r}] = ${n}.value;
45
+ }
46
+ `)):o.write(`
47
+ const ${n}_present = ${i};
48
+ if (${n}.issues.length) {${c(n,r)}
49
+ }
50
+ if (!${n}_present && !${n}.issues.length) {
51
+ payload.issues.push({
52
+ code: "invalid_type",
53
+ expected: "nonoptional",
54
+ input: undefined,
55
+ path: [${r}]
56
+ });
57
+ if (ctx && ctx.abortEarly) {
58
+ payload.value = newResult;
59
+ return payload;
60
+ }
61
+ }
62
+
63
+ if (${n}_present) {
64
+ newResult[${r}] = ${n}.value;
65
+ }
66
+
67
+ `)}return o.write(`payload.value = newResult;`),o.write(`return payload;`),o.compile()},o,s=Ge,c=!Bt.jitless,l=c&&Ke.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?_i([],p,i,f,d,e,f?.abortEarly===!0):i):n(i,f):(i.issues.push({expected:`object`,code:`invalid_type`,input:p,inst:e}),i)}});function bi(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=>!dt(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=>gt(e,r,Vt())))}),t)}const xi=_(`$ZodUnion`,(e,t)=>{y.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=>Ne(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=>bi(t,r,e,i)):bi(o,r,e,i)}});function Si(e){let t=new Map;for(let n of e.options){let r=n._zod.propValues?.[e.discriminator];if(!r||r.size===0)throw Error(`Invalid discriminated union option at index "${e.options.indexOf(n)}"`);for(let e of r)if(t.has(e)){if(e!==void 0)throw Error(`Duplicate discriminator value "${String(e)}"`);t.set(e,null)}else t.set(e,n)}return t}const Ci=_(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,xi.init(e,t);let n=e._zod.parse;g(e,`propValues`,e=>{let t={},n=0;for(let r of e.def.options){let i=r._zod.propValues;if(!i||Object.keys(i).length===0)throw Error(`Invalid discriminated union option at index "${e.def.options.indexOf(r)}"`);i[e.def.discriminator]?.has(void 0)&&n++;for(let[e,n]of Object.entries(i)){Object.prototype.hasOwnProperty.call(t,e)||Fe(t,e,new Set);for(let r of n)t[e].add(r)}}return!e.def.unionFallback&&n>1&&t[e.def.discriminator]?.delete(void 0),t}),t.options.forEach((e,n)=>{let r=Ie(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=je(()=>Si(t));e._zod.parse=(i,a)=>{let o=i.value;if(!Ge(o))return i.issues.push({code:`invalid_type`,expected:`object`,input:o,inst:e}),i;let s=o?.[t.discriminator],c=r.value.get(s);return c&&(s!==void 0||a.direction!==`backward`)?c._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()).filter(e=>r.value.get(e)!==null),input:o,path:[t.discriminator],inst:e}),i)}}),wi=_(`$ZodIntersection`,(e,t)=>{y.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])=>Ei(e,t,n)):Ei(e,i,a)}});function Ti(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(qe(e)&&qe(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=Ti(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=Ti(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 Ei(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=Ti(t.value,n.value);if(!c.valid){if(dt(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const Di=_(`$ZodTuple`,(e,t)=>{y.init(e,t);let n=t.items,r=Bt.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),d=t.rest?a?.abortEarly:void 0,f=!1;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,d&&!f&&t.issues.length&&(f=dt(t)))}if(t.rest&&!f){let e=n.length-1,r=o.slice(n.length),c=i.issues.length;for(let n of r){if(d&&i.issues.length!==c){if(dt(i,c))break;c=i.issues.length}e++;let r=t.rest._zod.run({value:n,issues:[]},a);r instanceof Promise?s.push(r.then(t=>ki(t,i,e))):ki(r,i,e)}}return s.length?Promise.all(s).then(()=>Ai(u,i,n,o,l)):Ai(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 ki(e,t,n){e.issues.length&&t.issues.push(...pt(n,e.issues)),t.value[n]=e.value}function Ai(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(...pt(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 ji=_(`$ZodRecord`,(e,t)=>{y.init(e,t);let n=Bt.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!qe(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=>gt(e,i,Vt())),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(...pt(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...pt(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=>gt(e,i,Vt())),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(...pt(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...pt(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}}),Mi=_(`$ZodEnum`,(e,t)=>{y.init(e,t);let n=De(t.entries),r=new Set(n);e._zod.values=r,g(e,`pattern`,e=>{let t=De(e.def.entries).filter(e=>Ye.has(typeof e));return RegExp(t.length?`^(${t.map(e=>Xe(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}}),Ni=_(`$ZodLiteral`,(e,t)=>{y.init(e,t);let n=new Set(t.values);e._zod.values=n,g(e,`pattern`,e=>{let t=e.def.values;return RegExp(t.length?`^(${t.map(e=>typeof e==`string`?Xe(e):e?Xe(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}}),Pi=_(`$ZodTransform`,(e,t)=>{y.init(e,t),e._zod.optin=`optional`,Bt.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new zt(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 Rt;return n.value=i,n}});function Fi(e,t){return e.value=t.issues.length?void 0:t.value,e}const Ii=_(`$ZodOptional`,(e,t)=>{y.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(`^(${Ne(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=>Fi(e,t)):Fi(e,r)}return t.innerType._zod.run(e,n)}}),Li=_(`$ZodExactOptional`,(e,t)=>{Ii.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)}),Ri=_(`$ZodNullable`,(e,t)=>{y.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(`^(${Ne(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)}),zi=_(`$ZodDefault`,(e,t)=>{y.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=>Bi(e,t)):Bi(r,t)}});function Bi(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const Vi=_(`$ZodPrefault`,(e,t)=>{y.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))}),Hi=_(`$ZodNonOptional`,(e,t)=>{y.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=>Ui(t,e)):Ui(i,e)}});function Ui(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 Wi(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>gt(e,r,Vt()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const Gi=_(`$ZodCatch`,(e,t)=>{y.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=>Wi(e,r,t,n)):Wi(e,r,t,n)}}),Ki=_(`$ZodPipe`,(e,t)=>{y.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=>qi(e,t.in,n)):qi(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>qi(e,t.out,n)):qi(r,t.out,n)}});function qi(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 Ji=_(`$ZodCodec`,(e,t)=>{y.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=>Yi(e,t,n)):Yi(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>Yi(e,t,n)):Yi(r,t,n)}}});function Yi(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=>Xi(e,r,t.out,n)):Xi(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>Xi(e,r,t.in,n)):Xi(e,r,t.in,n)}}function Xi(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}const Zi=_(`$ZodPreprocess`,(e,t)=>{Ki.init(e,t)}),Qi=_(`$ZodReadonly`,(e,t)=>{y.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($i):$i(r)}});function $i(e){return e.memo||(e.value=Object.freeze(e.value)),e}const ea=_(`$ZodCustom`,(e,t)=>{v.init(e,t),y.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=>ta(t,n,r,e));ta(i,n,r,e)}});function ta(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(xt(e))}}var na=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}};const ra=`~memo`,ia=[];function aa(e){return typeof e==`object`&&!!e}function oa(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}const sa=new WeakMap;function ca(e,t,n){let r=sa.get(e);if(r!==void 0)return r?2:0;if(t.has(e))return 2;t.add(e);let i=0,a=e=>{if(i!==2&&e?._zod){let r=ca(e,t,n);r>i&&(i=r)}},o=(e,r)=>{let i=0;for(let a of Reflect.ownKeys(e)){let o=Object.getOwnPropertyDescriptor(e,a);if(r&&!o.enumerable)continue;let s=o.get?1:o.value?._zod?ca(o.value,t,n):0;s>i&&(i=s)}return i},s=e=>{e>i&&(i=e)},c=e._zod.def;switch(c.type){case`object`:{let e=Ie(c);s(e?o(e,!0):1),a(c.catchall);break}case`array`:a(c.element);break;case`tuple`:for(let e of c.items)a(e);a(c.rest);break;case`record`:case`map`:a(c.keyType),a(c.valueType);break;case`set`:a(c.valueType);break;case`union`:for(let e of c.options)a(e);break;case`intersection`:a(c.left),a(c.right);break;case`optional`:case`nullable`:case`default`:case`prefault`:case`catch`:case`readonly`:case`nonoptional`:case`promise`:case`success`:a(c.innerType);break;case`pipe`:a(c.in),a(c.out);break;case`function`:a(c.input),a(c.output);break;case`lazy`:{let r=c._cachedInner??(n?e._zod.innerType:void 0);s(r?ca(r,t,!1):1);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 c){let t=Object.getOwnPropertyDescriptor(c,e);if(!t||t.get)continue;let n=t.value;if(!(!n||typeof n!=`object`)){if(n._zod)a(n);else if(Array.isArray(n))for(let e of n)a(e)}}}return t.delete(e),la(e,i)}function la(e,t){return t!==1&&sa.set(e,t===2),t}function ua(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}let da;const fa=[],pa={alloc(e,t,n){let r=da;if(!r)return n;da=void 0;let i={value:n,issues:null};return r.set(t.value,i),fa.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`&&ha(n,e.value))throw new na;return t(e,n)};e._zod.parse=n,e._zod.run===t&&(e._zod.run=n)})},attach(e){var t;let n,r=!1,i,a;(t=e._zod).deferred??(t.deferred=[]),e._zod.deferred.push(()=>{let t=e._zod.parse,o=(s,c)=>{if(n===void 0){let i=ca(e,new Set,!1);if(i===0)return e._zod.parse=t,e._zod.run===o&&(e._zod.run=t),t(s,c);i===2||r?n=!0:r=!0}let l=s.value;if(!aa(l))return t(s,c);let u=c[ra];u||(u={buckets:new WeakMap,backEdges:void 0},c[ra]=u);let d;i===c?d=a:(d=ua(u,e),i=c,a=d);let f=d.get(l);if(f)return s.value=f.value,f.issues?f.issues.length&&s.issues.push(...oa(f.issues)):(s.memo=!0,u.backEdges??=new WeakSet,u.backEdges.add(f.value)),s;da=d;let p=fa.length,ee=t(s,c);da=void 0;let te=fa.length>p?fa.pop():void 0;return ee instanceof Promise?ee.then(e=>(te&&(te.issues=e.issues.length?oa(e.issues):ia),e)):(te&&(te.issues=ee.issues.length?oa(ee.issues):ia),ee)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function ma(){return pa}function ha(e,t){let n=e[ra]?.backEdges;return n!==void 0&&aa(t)&&n.has(t)}const ga=()=>{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`,currency_code:`currency code`,credit_card:`credit card number`,iban:`IBAN`,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(bt(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${Qe(e.values[0])}`:`Invalid option: expected one of ${Oe(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`:``}: ${Oe(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 _a(){return{localeError:ga()}}var va,ya=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 ba(){return new ya}(va=globalThis).__zod_globalRegistry??(va.__zod_globalRegistry=ba());const xa=globalThis.__zod_globalRegistry;function Sa(e){return e.checks&&=[...e.checks],e}function Ca(e,t){return new e(Sa({type:`string`,...h(t)}))}function wa(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...h(t)})}function Ta(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...h(t)})}function Ea(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...h(t)})}function Da(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...h(t)})}function Oa(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...h(t)})}function ka(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 ja(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...h(t)})}function Ma(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...h(t)})}function Na(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...h(t)})}function Pa(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...h(t)})}function Fa(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...h(t)})}function Ia(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...h(t)})}function La(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...h(t)})}function Ra(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...h(t)})}function za(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...h(t)})}function Ba(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...h(t)})}function Va(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...h(t)})}function Ha(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...h(t)})}function Ua(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...h(t)})}function Wa(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...h(t)})}function Ga(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...h(t)})}function Ka(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...h(t)})}function qa(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...h(t)})}function Ja(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...h(t)})}function Ya(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...h(t)})}function Xa(e,t){return new e(Sa({type:`number`,checks:[],...h(t)}))}function Za(e,t){return new e(Sa({type:`number`,coerce:!0,checks:[],...h(t)}))}function Qa(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...h(t)})}function $a(e,t){return new e({type:`boolean`,...h(t)})}function eo(e,t){return new e({type:`null`,...h(t)})}function to(e){return new e({type:`any`})}function no(e){return new e({type:`unknown`})}function ro(e,t){return new e({type:`never`,...h(t)})}function io(e,t){return new e({type:`date`,coerce:!0,...h(t)})}function ao(e,t){return new $n({check:`less_than`,...h(t),value:e,inclusive:!1})}function oo(e,t){return new $n({check:`less_than`,...h(t),value:e,inclusive:!0})}function so(e,t){return new er({check:`greater_than`,...h(t),value:e,inclusive:!1})}function co(e,t){return new er({check:`greater_than`,...h(t),value:e,inclusive:!0})}function lo(e,t){return new tr({check:`multiple_of`,...h(t),value:e})}function uo(e,t){return new rr({check:`max_length`,...h(t),maximum:e})}function fo(e,t){return new ir({check:`min_length`,...h(t),minimum:e})}function po(e,t){return new ar({check:`length_equals`,...h(t),length:e})}function mo(e,t){return new sr({check:`string_format`,format:`regex`,...h(t),pattern:e})}function ho(e){return new cr({check:`string_format`,format:`lowercase`,...h(e)})}function go(e){return new lr({check:`string_format`,format:`uppercase`,...h(e)})}function _o(e,t){return new ur({check:`string_format`,format:`includes`,...h(t),includes:e})}function vo(e,t){return new dr({check:`string_format`,format:`starts_with`,...h(t),prefix:e})}function yo(e,t){return new fr({check:`string_format`,format:`ends_with`,...h(t),suffix:e})}function bo(e){return new pr({check:`overwrite`,tx:e})}function xo(e){return bo(t=>t.normalize(e))}function So(){return bo(e=>e.trim())}function Co(){return bo(e=>e.toLowerCase())}function wo(){return bo(e=>e.toUpperCase())}function To(){return bo(e=>Ue(e))}function Eo(e,t,n){return new e({type:`array`,element:t,...h(n)})}function Do(e,t,n){let r=h(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function Oo(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...h(n)})}function ko(e,t){let n=Ao(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(xt(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(xt(r))}},e(t.value,t)),t);return n}function Ao(e,t){let n=new v({check:`custom`,...h(t)});return n._zod.check=e,n}function jo(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??Ji,c=e.Boolean??oi,l=new s({type:`pipe`,in:new(e.String??yr)({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 Mo(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&Fe(e,t,n[t]);return e}function No(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??xa,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 Po(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 x(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,x(a,t,r),t.seen.get(a).isParent=!0)}let c=t.metadataRegistry.get(e);return c&&Mo(o.schema,c),t.io===`input`&&S(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 Fo(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Io(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}/${Fo(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+Fo(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>
68
+
69
+ 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}r.count>1&&e.reused===`ref`&&a(n)}e.external&&(e.sharedDefsExtractedFor=e.external)}function Lo(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;Lo(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 Ro=new Set([`type`,`properties`,`required`,`additionalProperties`]),zo=[`oneOf`,`anyOf`];function Bo(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function Vo(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Ro.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]??Bo(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}Fe(n,r,e.length===1?e[0]:Vo(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=Bo(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 Ho(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Ro)if(t in e)return;let n=t.filter(e=>zo.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=Vo(t);else{let e=n[0],i=zo.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=>Vo([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Mo(e,r))}function Uo(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)):Mo(i,s),Mo(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())Lo(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)??[])Ho(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)}Mo(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,Fe(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:Go(t,`input`,e.processors),output:Go(t,`output`,e.processors)}},enumerable:!1,writable:!1}),n}catch{throw Error(`Error converting schema to JSON.`)}}function S(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 S(r.element,n);if(r.type===`set`)return S(r.valueType,n);if(r.type===`lazy`)return S(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 S(r.innerType,n);if(r.type===`intersection`)return S(r.left,n)||S(r.right,n);if(r.type===`record`||r.type===`map`)return S(r.keyType,n)||S(r.valueType,n);if(r.type===`pipe`)return e._zod.traits.has(`$ZodCodec`)?!0:S(r.in,n)||S(r.out,n);if(r.type===`object`){for(let e in r.shape)if(S(r.shape[e],n))return!0;return!1}if(r.type===`union`){for(let e of r.options)if(S(e,n))return!0;return!1}if(r.type===`tuple`){for(let e of r.items)if(S(e,n))return!0;return!!(r.rest&&S(r.rest,n))}return!1}const Wo=(e,t={})=>n=>{let r=No({...n,processors:t});return x(e,r),Io(r,e),Uo(r,e)},Go=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=No({...i??{},target:a,io:t,processors:n});return x(e,o),Io(o,e),Uo(o,e)},Ko=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},qo=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Jo=(e,t)=>{Ko(e,`minimum`,t),qo(e,`maximum`,t)},Yo=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Xo=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Zo=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Qo=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},$o=(e,t)=>Ko(e,`minimum`,t.minimum),es=(e,t)=>qo(e,`maximum`,t.maximum),ts=e=>(t,n)=>{Qo(t,n.format);let[r,i]=e[n.format];Ko(t,`minimum`,r),qo(t,`maximum`,i)},ns={greater_than:(e,t)=>Ko(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>qo(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>Yo(e,t.value),number_format:ts(et),bigint_format:ts(tt),min_length:$o,max_length:es,length_equals:(e,t)=>Jo(e,t.length),min_size:$o,max_size:es,size_equals:(e,t)=>Jo(e,t.size),string_format:(e,t)=>{Qo(e,t.format),t.pattern&&Xo(e,t.pattern),(t.format===`base64`||t.format===`base64url`)&&(e.contentEncoding=t.format),(t.local||t.precision===-1)&&(e.laxFormat=!0)},mime_type:(e,t)=>Zo(e,t.mime)};function C(e){let t={},n=e._zod.def,r=e._zod.traits.has(`$ZodCheck`)?[e,...n.checks??[]]:n.checks??[];for(let e of r)ns[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Ko(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Ko(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&qo(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&qo(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&Yo(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Zo(t,i.mime);for(let e of i.patterns??[])Xo(t,e);return t}const rs={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},is=new Map([[Xr,Pn],[Qr,Fn]]),as=e=>is.get(e)??e,os=(e,t,n,r)=>{let i=n;i.type=`string`;let{minimum:a,maximum:o,format:s,patterns:c,contentEncoding:l,laxFormat:u}=C(e);if(typeof a==`number`&&(i.minLength=a),typeof o==`number`&&(i.maxLength=o),s&&(i.format=rs[s]??s,i.format===``&&delete i.format,(s===`time`||u)&&delete i.format),l&&(i.contentEncoding=l),c&&c.size>0){let e=[...c].map(as);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}))])}},ss=(e,t,n,r)=>{let i=n,{minimum:a,maximum:o,multipleOf:s,exclusiveMaximum:c,exclusiveMinimum:l,isInt:u}=C(e);i.type=u?`integer`:`number`;let d=typeof l==`number`&&l>=(a??-1/0),f=typeof c==`number`&&c<=(o??1/0),p=t.target===`draft-04`||t.target===`openapi-3.0`;if(d?p?(i.minimum=l,i.exclusiveMinimum=!0):i.exclusiveMinimum=l:typeof a==`number`&&(i.minimum=a),f?p?(i.maximum=c,i.exclusiveMaximum=!0):i.exclusiveMaximum=c:typeof o==`number`&&(i.maximum=o),s){let n=new Set;for(let a of s)Number.isFinite(a)&&a!==0?n.add(Math.abs(a)):Po(e,t,i,r,`A multipleOf divisor of ${a} cannot be represented in JSON Schema`);let[a,...o]=n;a!==void 0&&(i.multipleOf=a),o.length&&(i.allOf=[...i.allOf??[],...o.map(e=>({multipleOf:e}))])}},cs=(e,t,n,r)=>{n.type=`boolean`},ls=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},us=(e,t,n,r)=>{n.not={}},ds=(e,t,n,r)=>{Po(e,t,n,r,`Date cannot be represented in JSON Schema`)},fs=(e,t,n,r)=>{let i=e._zod.def,a=De(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},ps=(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(Po(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Po(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},ms=(e,t,n,r)=>{Po(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},hs=(e,t,n,r)=>{Po(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},gs=(e,t,n,r)=>{let i=n,a=e._zod.def,{minimum:o,maximum:s}=C(e);typeof o==`number`&&(i.minItems=o),typeof s==`number`&&(i.maxItems=s),i.type=`array`,i.items=x(a.element,t,{...r,path:[...r.path,`items`]})};function _s(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?_s(t.out):t.type===`catch`?_s(t.innerType):e._zod.optin}const vs=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Po(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)Fe(i.properties,e,x(o[e],t,{...r,path:[...r.path,`properties`,e]}));let s=[];for(let e of Object.keys(o)){let n=a.shape[e];(t.io===`input`?_s(n)===void 0:n._zod.optout===void 0)&&s.push(e)}s.length>0&&(i.required=s),a.catchall?._zod.def.type===`never`?i.additionalProperties=!1:a.catchall?a.catchall&&(i.additionalProperties=x(a.catchall,t,{...r,path:[...r.path,`additionalProperties`]})):t.io===`output`&&(i.additionalProperties=!1)},ys=(e,t,n,r)=>{let i=e._zod.def,a=i.inclusive===!1,o=i.options.map((e,n)=>x(e,t,{...r,path:[...r.path,a?`oneOf`:`anyOf`,n]}));a?n.oneOf=o:n.anyOf=o},bs=(e,t,n,r)=>{let i=e._zod.def,a=x(i.left,t,{...r,path:[...r.path,`allOf`,0]}),o=x(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)},xs=(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)=>x(e,t,{...r,path:[...r.path,o,n]})),l=a.rest?x(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`?_s(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}=C(e);typeof p==`number`&&(i.minItems=p),typeof ee==`number`&&(i.maxItems=ee)};function Ss(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=Ss(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=>Ss(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:Gn).source),p):p}const Cs=new WeakMap;function ws(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 Cs.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=Ss(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 Ts=(e,t,n,r)=>{let i=n,a=e._zod.def;i.type=`object`;let o=a.keyType,s=C(o).patterns;if(a.mode===`loose`&&s&&s.size>0){let e=x(a.valueType,t,{...r,path:[...r.path,`patternProperties`,`*`]});i.patternProperties={};for(let t of s)Fe(i.patternProperties,as(t).source,e)}else{if(t.target===`draft-07`||t.target===`draft-2020-12`){i.propertyNames=x(a.keyType,t,{...r,path:[...r.path,`propertyNames`]});let n=Cs.get(t);n||(n=[],Cs.set(t,n),t.deferred.push(()=>ws(t))),n.push(e)}i.additionalProperties=x(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&_s(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))}},Es=(e,t,n,r)=>{let i=e._zod.def,a=x(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`}]},Ds=(e,t,n,r)=>{let i=e._zod.def;x(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Os=Symbol();function ks(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Po(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Os):JSON.parse(o)}const As=(e,t,n,r)=>{let i=e._zod.def;x(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o=ks(i.defaultValue,e,t,n,r);o!==Os&&(n.default=o)},js=(e,t,n,r)=>{let i=e._zod.def;x(i.innerType,t,r);let a=t.seen.get(e);if(a.ref=i.innerType,t.io!==`input`)return;let o=ks(i.defaultValue,e,t,n,r);o!==Os&&(n._prefault=o)},Ms=(e,t,n,r)=>{let i=e._zod.def;x(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType;let o;try{o=i.catchValue(void 0)}catch{Po(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},Ns=(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;x(o,t,r);let s=t.seen.get(e);s.ref=o},Ps=(e,t,n,r)=>{let i=e._zod.def;x(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType,n.readOnly=!0},Fs=(e,t,n,r)=>{let i=e._zod.def;x(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Is=new WeakSet([Object.prototype,Error.prototype]);function Ls(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 Rs=_(`ZodError`,(e,t)=>{Jt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Is.has(n)||(Is.add(n),Ls(n,`format`,e=>t=>Zt(e,t)),Ls(n,`flatten`,e=>t=>Xt(e,t)),Ls(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,ke,2)}),Ls(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,ke,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),zs=$t(Rs),Bs=en(Rs),Vs=tn(Rs),Hs=rn(Rs),Us=un(Rs),Ws=dn(Rs),Gs=fn(Rs),Ks=pn(Rs),qs=mn(Rs),Js=hn(Rs),Ys=gn(Rs),Xs=_n(Rs);function Zs(){Bt.localeError||Vt(_a())}function Qs(){Bt.memoizer||Vt({memoizer:ma()})}const w=_(`ZodType`,(e,t)=>(Zs(),y.init(e,t),e.def=t,e.type=t.type,e),{check(...e){let t=this.def;return this.clone(m(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 Ze(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(Sl(e,t))},superRefine(e,t){return this.check(Cl(e,t))},overwrite(e){return this.check(bo(e))},optional(){return tl(this)},exactOptional(){return rl(this)},nullable(){return al(this)},nullish(){return tl(al(this))},nonoptional(e){return dl(this,e)},array(){return M(this)},or(e){return P([this,e])},and(e){return Wc(this,e)},transform(e){return hl(this,$c(e))},default(e){return sl(this,e)},prefault(e){return ll(this,e)},catch(e){return pl(this,e)},pipe(e){return hl(this,e)},readonly(){return yl(this)},describe(e){let t=this.clone();return xa.add(t,{description:e}),t},meta(...e){if(e.length===0)return xa.get(this);let t=this.clone();return xa.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 wt(this,`~standard`,{...vr(this),jsonSchema:{input:Go(this,`input`),output:Go(this,`output`)}})},set"~standard"(e){Ct(this,`~standard`,e)},parse:function e(t,n){return zs(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Bs(this,t,n,{callee:e})},safeParse(e,t){return Vs(this,e,t)},async safeParseAsync(e,t){return Hs(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){Ct(this,`spa`,e)},validate(e,t){return sn(this,e,t)},validateAsync(e,t){return ln(this,e,t)},encode:function e(t,n){return Us(this,t,n,{callee:e})},decode:function e(t,n){return Ws(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Gs(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Ks(this,t,n,{callee:e})},safeEncode(e,t){return qs(this,e,t)},safeDecode(e,t){return Js(this,e,t)},async safeEncodeAsync(e,t){return Ys(this,e,t)},async safeDecodeAsync(e,t){return Xs(this,e,t)},toJSONSchema(e){return Wo(this,{})(e)},get description(){return xa.get(this)?.description},get _def(){return this._zod.def}}),$s=_(`_ZodString`,(e,t)=>{yr.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>os(e,t,n,r)},Tt({format:e=>C(e).format??null,minLength:e=>C(e).minimum??null,maxLength:e=>C(e).maximum??null},{regex(...e){return this.check(mo(...e))},includes(...e){return this.check(_o(...e))},startsWith(...e){return this.check(vo(...e))},endsWith(...e){return this.check(yo(...e))},min(...e){return this.check(fo(...e))},max(...e){return this.check(uo(...e))},length(...e){return this.check(po(...e))},nonempty(...e){return this.check(fo(1,...e))},lowercase(e){return this.check(ho(e))},uppercase(e){return this.check(go(e))},trim(){return this.check(So())},normalize(...e){return this.check(xo(...e))},toLowerCase(){return this.check(Co())},toUpperCase(){return this.check(wo())},slugify(){return this.check(To())}})),ec=_(`ZodString`,(e,t)=>{yr.init(e,t),$s.init(e,t)},{email(e){return this.check(wa(ac,e))},url(e){return this.check(Aa(lc,e))},jwt(e){return this.check(Ga(Tc,e))},emoji(e){return this.check(ja(uc,e))},guid(e){return this.check(Ta(sc,e))},uuid(e){return this.check(Ea(cc,e))},uuidv4(e){return this.check(Da(cc,e))},uuidv6(e){return this.check(Oa(cc,e))},uuidv7(e){return this.check(ka(cc,e))},nanoid(e){return this.check(Ma(dc,e))},cuid(e){return this.check(Na(fc,e))},cuid2(e){return this.check(Pa(pc,e))},ulid(e){return this.check(Fa(mc,e))},base64(e){return this.check(Ha(xc,e))},base64url(e){return this.check(Ua(Cc,e))},xid(e){return this.check(Ia(hc,e))},ksuid(e){return this.check(La(gc,e))},ipv4(e){return this.check(Ra(_c,e))},ipv6(e){return this.check(za(vc,e))},cidrv4(e){return this.check(Ba(yc,e))},cidrv6(e){return this.check(Va(bc,e))},e164(e){return this.check(Wa(wc,e))},datetime(e){return this.check(Ka(tc,e))},date(e){return this.check(qa(nc,e))},time(e){return this.check(Ja(rc,e))},duration(e){return this.check(Ya(ic,e))}});function T(e){return Ca(ec,e)}const E=_(`ZodStringFormat`,(e,t)=>{b.init(e,t),$s.init(e,t)}),tc=_(`ZodISODateTime`,(e,t)=>{Rr.init(e,t),E.init(e,t)}),nc=_(`ZodISODate`,(e,t)=>{zr.init(e,t),E.init(e,t)}),rc=_(`ZodISOTime`,(e,t)=>{Br.init(e,t),E.init(e,t)}),ic=_(`ZodISODuration`,(e,t)=>{Vr.init(e,t),E.init(e,t)}),ac=_(`ZodEmail`,(e,t)=>{Sr.init(e,t),E.init(e,t)});function oc(e){return wa(ac,e)}const sc=_(`ZodGUID`,(e,t)=>{br.init(e,t),E.init(e,t)}),cc=_(`ZodUUID`,(e,t)=>{xr.init(e,t),E.init(e,t)});function D(e){return Ea(cc,e)}const lc=_(`ZodURL`,(e,t)=>{Ar.init(e,t),E.init(e,t)});function O(e){return Aa(lc,e)}const uc=_(`ZodEmoji`,(e,t)=>{jr.init(e,t),E.init(e,t)}),dc=_(`ZodNanoID`,(e,t)=>{Mr.init(e,t),E.init(e,t)}),fc=_(`ZodCUID`,(e,t)=>{Nr.init(e,t),E.init(e,t)}),pc=_(`ZodCUID2`,(e,t)=>{Pr.init(e,t),E.init(e,t)}),mc=_(`ZodULID`,(e,t)=>{Fr.init(e,t),E.init(e,t)}),hc=_(`ZodXID`,(e,t)=>{Ir.init(e,t),E.init(e,t)}),gc=_(`ZodKSUID`,(e,t)=>{Lr.init(e,t),E.init(e,t)}),_c=_(`ZodIPv4`,(e,t)=>{Hr.init(e,t),E.init(e,t)}),vc=_(`ZodIPv6`,(e,t)=>{Gr.init(e,t),E.init(e,t)}),yc=_(`ZodCIDRv4`,(e,t)=>{Kr.init(e,t),E.init(e,t)}),bc=_(`ZodCIDRv6`,(e,t)=>{Jr.init(e,t),E.init(e,t)}),xc=_(`ZodBase64`,(e,t)=>{Zr.init(e,t),E.init(e,t)});function Sc(e){return Ha(xc,e)}const Cc=_(`ZodBase64URL`,(e,t)=>{ei.init(e,t),E.init(e,t)}),wc=_(`ZodE164`,(e,t)=>{ti.init(e,t),E.init(e,t)}),Tc=_(`ZodJWT`,(e,t)=>{ri.init(e,t),E.init(e,t)}),Ec=_(`ZodNumber`,(e,t)=>{ii.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ss(e,t,n,r),e.isFinite=!0},Tt({minValue:e=>{let{minimum:t,exclusiveMinimum:n}=C(e);return Math.max(t??-1/0,n??-1/0)},maxValue:e=>{let{maximum:t,exclusiveMaximum:n}=C(e);return Math.min(t??1/0,n??1/0)},isInt:e=>{let{isInt:t,multipleOf:n}=C(e);return!!t||!!n?.some(Number.isSafeInteger)},format:e=>C(e).format??null},{gt(e,t){return this.check(so(e,t))},gte(e,t){return this.check(co(e,t))},min(e,t){return this.check(co(e,t))},lt(e,t){return this.check(ao(e,t))},lte(e,t){return this.check(oo(e,t))},max(e,t){return this.check(oo(e,t))},int(e){return this.check(Oc(e))},safe(e){return this.check(Oc(e))},positive(e){return this.check(so(0,e))},nonnegative(e){return this.check(co(0,e))},negative(e){return this.check(ao(0,e))},nonpositive(e){return this.check(oo(0,e))},multipleOf(e,t){return this.check(lo(e,t))},step(e,t){return this.check(lo(e,t))},finite(){return this}}));function k(e){return Xa(Ec,e)}const Dc=_(`ZodNumberFormat`,(e,t)=>{ai.init(e,t),Ec.init(e,t)});function Oc(e){return Qa(Dc,e)}const kc=_(`ZodBoolean`,(e,t)=>{oi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cs(e,t,n,r)});function A(e){return $a(kc,e)}const Ac=_(`ZodNull`,(e,t)=>{si.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ls(e,t,n,r)});function jc(e){return eo(Ac,e)}const Mc=_(`ZodAny`,(e,t)=>{ci.init(e,t),w.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Nc(){return to(Mc)}const Pc=_(`ZodUnknown`,(e,t)=>{li.init(e,t),w.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function j(){return no(Pc)}const Fc=_(`ZodNever`,(e,t)=>{ui.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>us(e,t,n,r)});function Ic(e){return ro(Fc,e)}const Lc=_(`ZodDate`,(e,t)=>{di.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ds(e,t,n,r),e.min=(t,n)=>e.check(co(t,n)),e.max=(t,n)=>e.check(oo(t,n))},Tt({minDate:e=>{let{minimum:t}=C(e);return t?new Date(t):null},maxDate:e=>{let{maximum:t}=C(e);return t?new Date(t):null}},{})),Rc=_(`ZodArray`,(e,t)=>{Qs(),pi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gs(e,t,n,r),e.element=t.element},{min(e,t){return this.check(fo(e,t))},nonempty(e){return this.check(fo(1,e))},max(e,t){return this.check(uo(e,t))},length(e,t){return this.check(po(e,t))},unwrap(){return this.element}});function M(e,t){return Eo(Rc,e,t)}const zc=_(`ZodObject`,(e,t)=>{Qs(),yi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r),jt(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return I(Object.keys(this._zod.def.shape))},catchall(e){return this.clone(m(this._zod.def,{catchall:e}))},passthrough(){return this.clone(m(this._zod.def,{catchall:j()}))},loose(){return this.clone(m(this._zod.def,{catchall:j()}))},strict(){return this.clone(m(this._zod.def,{catchall:Ic()}))},strip(){return this.clone(m(this._zod.def,{catchall:void 0}))},extend(e){return at(this,e)},safeExtend(e){return st(this,e)},merge(e){return ct(this,e)},pick(e){return nt(this,e)},omit(e){return it(this,e)},partial(...e){return lt(el,this,e[0])},exactPartial(...e){return lt(nl,this,e[0],`exactPartial`)},required(...e){return ut(ul,this,e[0])}});function N(e,t){let n={type:`object`,shape:e??{},...h(t)};return new zc(n)}function Bc(e,t){return new zc({type:`object`,shape:e,catchall:j(),...h(t)})}const Vc=_(`ZodUnion`,(e,t)=>{xi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(e,t,n,r),e.options=t.options});function P(e,t){return new Vc({type:`union`,options:e,...h(t)})}const Hc=_(`ZodDiscriminatedUnion`,(e,t)=>{Vc.init(e,t),Ci.init(e,t)});function F(e,t,n){return new Hc({type:`union`,options:t,discriminator:e,...h(n)})}const Uc=_(`ZodIntersection`,(e,t)=>{wi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>bs(e,t,n,r)});function Wc(e,t){return new Uc({type:`intersection`,left:e,right:t})}const Gc=_(`ZodTuple`,(e,t)=>{Qs(),Di.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>xs(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 el({type:`optional`,innerType:e}))})}});function Kc(e,t,n){let r=t instanceof y;return new Gc({type:`tuple`,items:e,rest:r?t:null,...h(r?n:t)})}const qc=_(`ZodRecord`,(e,t)=>{Qs(),ji.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ts(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function Jc(e,t,n){return!t||!t._zod?new qc({type:`record`,keyType:T(),valueType:e,...h(t)}):new qc({type:`record`,keyType:e,valueType:t,...h(n)})}function Yc(e,t,n){return new qc({type:`record`,keyType:e,valueType:t,...h(n),partial:!0})}const Xc=_(`ZodEnum`,(e,t)=>{Mi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fs(e,t,n,r),e.enum=t.entries,e.options=[...e._zod.values];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 Xc({...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 Xc({...t,checks:[],...h(r),entries:i})}});function I(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Xc({type:`enum`,entries:n,...h(t)})}const Zc=_(`ZodLiteral`,(e,t)=>{Ni.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ps(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 L(e,t){return new Zc({type:`literal`,values:Array.isArray(e)?e:[e],...h(t)})}const Qc=_(`ZodTransform`,(e,t)=>{Qs(),Pi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>hs(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new zt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(xt(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(xt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function $c(e){return new Qc({type:`transform`,transform:e})}const el=_(`ZodOptional`,(e,t)=>{Ii.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tl(e){return new el({type:`optional`,innerType:e})}const nl=_(`ZodExactOptional`,(e,t)=>{Li.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Fs(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function rl(e){return new nl({type:`optional`,innerType:e})}const il=_(`ZodNullable`,(e,t)=>{Ri.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Es(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function al(e){return new il({type:`nullable`,innerType:e})}const ol=_(`ZodDefault`,(e,t)=>{zi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>As(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function sl(e,t){return new ol({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():Je(t)}})}const cl=_(`ZodPrefault`,(e,t)=>{Vi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>js(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function ll(e,t){return new cl({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():Je(t)}})}const ul=_(`ZodNonOptional`,(e,t)=>{Hi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ds(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function dl(e,t){return new ul({type:`nonoptional`,innerType:e,...h(t)})}const fl=_(`ZodCatch`,(e,t)=>{Gi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function pl(e,t){return new fl({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:Mt(t)})}const ml=_(`ZodPipe`,(e,t)=>{Ki.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.in=t.in,e.out=t.out});function hl(e,t){return new ml({type:`pipe`,in:e,out:t})}const gl=_(`ZodCodec`,(e,t)=>{ml.init(e,t),Ji.init(e,t)}),_l=_(`ZodPreprocess`,(e,t)=>{ml.init(e,t),Zi.init(e,t)}),vl=_(`ZodReadonly`,(e,t)=>{Qi.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ps(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function yl(e){return new vl({type:`readonly`,innerType:e})}const bl=_(`ZodCustom`,(e,t)=>{ea.init(e,t),w.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ms(e,t,n,r)});function xl(e,t){return Do(bl,e??(()=>!0),t)}function Sl(e,t={}){return Oo(bl,e,t)}function Cl(e,t){return ko(e,t)}const wl=(...e)=>jo({Codec:gl,Boolean:kc,String:ec},...e);function Tl(e,t){return new _l({type:`pipe`,in:$c(e),out:t})}function R(e){return Ka(tc,e)}function El(e){return qa(nc,e)}function z(e){return Za(Ec,e)}function Dl(e){return io(Lc,e)}const B=P([R(),R({precision:-1})]);P([R({offset:!0}),R({offset:!0,precision:-1})]);const Ol=I([`mobile_to_desktop`,`desktop_to_mobile`]),kl=I([`project`,`task`,`asset`,`asset_conflict`]),Al=N({kind:I([`project`,`task`]),id:D()});N({direction:Ol,target:Al}),N({workspaceId:D()}),N({workspaceId:D(),notificationId:D()}),N({target:Al});const jl=[`en`,`zh-TW`,`de`,`fr`,`es-ES`,`es-419`,`ja`,`ko`,`it`,`pt-BR`],Ml=I(jl).default(`en`);function Nl(e){return e?jl.includes(e):!1}function Pl(e){return Nl(e)?e:`en`}var Fl=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);const Il={ipv4Compatible:[Fl.default.IPv6.parseCIDR(`::/96`)],localUseNat64:[Fl.default.IPv6.parseCIDR(`64:ff9b:1::/48`)],siteLocal:[Fl.default.IPv6.parseCIDR(`fec0::/10`)],documentation:[Fl.default.IPv6.parseCIDR(`3fff::/20`)],segmentRoutingSid:[Fl.default.IPv6.parseCIDR(`5f00::/16`)]};function Ll(e){if(!Fl.default.isValid(e))return!1;let t=Fl.default.parse(e);return t.range()===`unicast`?t.kind()===`ipv4`||Fl.default.subnetMatch(t,Il,`public`)===`public`:!1}function Rl(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!Fl.default.isValid(r)||Ll(r)}catch{return!1}}const zl=O().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(Rl,{message:`Access to private network addresses is not allowed`});function Bl(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 Vl=e=>Tl(Bl,P([e,T()])),Hl=e=>Tl(Bl,e),Ul=N({name:T().describe(`Identifier: file path, resource id, URL, or title.`),detail:T().describe(`What it is plus what was done to it or why it matters — detailed enough to act on again.`)});N({overview:T().describe(`1–3 sentences: what this session is about and where it stands now.`),userRequests:Vl(M(T())).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:Vl(M(T())).describe(`Durable facts, decisions made, concepts/constraints discovered, and errors with their fixes. Omit facts later turns made obsolete.`),artifacts:Vl(M(Ul)).optional().default([]).describe(`Concrete things touched that may need further action: files, resources, documents, datasets, URLs, IDs.`),constraints:Vl(N({preferences:M(T()).describe(`How the user wants output: format, tone, language, style.`),negativeConstraints:M(T()).describe(`What the user explicitly said NOT to do.`)})).describe(`What the user wants and explicitly does not want.`),state:Vl(N({status:I([`pending_input`,`in_progress`,`completed`]).describe(`Overall task state at the point of truncation.`),currentWork:T().describe(`What was actively in progress at truncation, detailed enough to resume immediately.`),nextStep:T().describe(`The single most logical next action. Empty only if genuinely blocked or awaiting the user.`),pendingQuestions:M(T()).describe(`Questions the agent still needs answered to proceed.`)})).describe(`Resumption state — how to pick the work back up seamlessly.`)});const Wl=1500,Gl=2e3;function Kl(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function ql(e){return[...new Set(e)].slice(0,12)}function Jl(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 Yl=M(T().overwrite(e=>Kl(e,500)).max(500)).overwrite(ql).max(12),Xl=M(N({value:T().overwrite(e=>Kl(e,Gl)).max(Gl).describe(`Exact identifier, path, URL, value, resource id, or title.`),context:T().overwrite(e=>Kl(e,500)).max(500).describe(`Why this reference still matters for the continuation.`)})).overwrite(Jl).max(12);N({version:k().min(2).max(2).transform(()=>2),overview:T().overwrite(e=>Kl(e,Wl)).max(Wl).describe(`A concise orientation to the current conversation and active objective.`),userRequests:Hl(Yl).describe(`Active or still-relevant user requests. Merge repetitions and omit superseded requests whose effects are preserved elsewhere.`),keyFacts:Hl(Yl).describe(`Facts and observations whose loss would change later reasoning. Preserve uncertainty and exact values.`),decisions:Hl(Yl).describe(`Still-relevant accepted, rejected, superseded, or abandoned decisions with enough rationale to apply them consistently and avoid repeating discarded approaches.`),reportedProgress:Hl(Yl).describe(`Relevant work, observations, and outcomes reported in the conversation. Preserve who or what reported uncertain claims; narration is not runtime-verified progress.`),references:Hl(Xl).describe(`Exact identifiers and artifacts that remain necessary for continuation.`),constraints:Hl(Yl).describe(`Still-governing requirements, preferences, and prohibitions.`),currentFocus:T().overwrite(e=>Kl(e,Wl)).max(Wl).describe(`The current conversational focus, not a lifecycle state.`),openQuestions:Hl(Yl).describe(`Unresolved questions, dependencies, or user decisions that still matter.`),continuationHint:T().overwrite(e=>Kl(e,Wl)).max(Wl).describe(`Advisory conversational guidance only. It never grants permission or defines an executable runtime transition.`)});const Zl=N({key:T(),value:T()});N({summary:T(),sessionMeta:Vl(N({currentIntent:T()})),knowledgeBase:Vl(N({entities:M(Zl),factsEstablished:M(T())})),userConstraints:Vl(N({formatPreferences:T(),toneStyle:T(),negativeConstraints:M(T())})),workflowStatus:Vl(N({lastAction:T(),pendingQuestions:M(T())}))});const V={SELF:`self`,WORKSPACE:`workspace`,PUBLIC:`public`},Ql=I([V.SELF,V.WORKSPACE,V.PUBLIC]);V.SELF,V.WORKSPACE,V.PUBLIC;const $l=I([V.PUBLIC,V.WORKSPACE,`none`]);V.PUBLIC,V.WORKSPACE;const eu=k().int().positive().optional(),tu=D().nullable(),nu=N({id:D(),name:T(),mimeType:T(),size:k(),url:O()}),ru=F(`type`,[N({id:D(),type:L(`file`),workingCopyAvailable:A().optional(),hasUnsavedWork:A().optional(),baseVersionNumber:k().int().positive().optional(),projectId:tu,file:nu,versionNumber:eu,createdAt:R(),updatedAt:R()}),N({id:D(),type:L(`website`),projectId:tu,url:O(),sandboxId:T().nullable(),title:T().optional(),visibility:Ql.default(V.SELF),source:nu.optional(),hasUnsavedWork:A().optional(),baseVersionNumber:k().int().positive().optional(),versionNumber:eu,createdAt:R(),updatedAt:R()}),N({id:D(),type:L(`deck`),projectId:tu,title:T(),pdf:nu,pptx:nu.optional(),hasUnsavedWork:A().optional(),baseVersionNumber:k().int().positive().optional(),versionNumber:eu,createdAt:R(),updatedAt:R()})]);N({data:M(ru),nextKey:T().optional()}),N({data:ru}),N({data:N({webViewLink:O()})}),N({visibility:Ql});const iu=N({id:D(),versionNumber:k().int().positive(),title:T().nullable(),summary:T().nullable(),editor:N({id:D(),name:T(),email:T(),image:T().nullable()}),createdAt:R(),file:nu.nullable(),sourceTask:P([N({visible:L(!0),id:D(),title:T().nullable()}),N({visible:L(!1)})]).nullable(),revertedFrom:k().int().positive().nullable()});N({data:N({headVersionId:D(),canRevert:A(),versions:M(iu)})}),N({summary:T().trim().min(1).max(500).optional()}),N({data:F(`status`,[N({status:L(`saved`),versionId:D(),versionNumber:k().int().positive()}),N({status:L(`unchanged`),versionNumber:k().int().positive()})])});const au=N({id:D(),name:T()});N({assetProjectId:D().nullable(),assetName:T(),assetHasPreviewableVersions:A(),currentVersionNumber:k().int().positive(),currentVersionSavedAt:R(),currentVersionEditor:au,baseVersionNumber:k().int().positive()}).extend({assetId:D()}),N({expectedHeadVersionId:D()}),N({data:N({versionId:D(),versionNumber:k().int().positive(),revertedFrom:k().int().positive()})});const ou=I([`pending`,`ready`,`failed`]),su=I([`too_large`,`pdf_encrypted`,`pdf_unreadable`,`unsupported`,`conversion_failed`,`model_unavailable`,`extraction_failed`,`unknown`]),cu=[`processing`,`ready`,`partial`,`failed`],lu=[`page`,`slide`,`row`],uu=N({unit:I(lu).optional(),start:k().int().positive().optional(),end:k().int().positive().optional(),sheet:T().optional(),section:T().optional()}).describe(`Where the passage sits in its source: a page, slide or row range (unit, start and end, inclusive), the spreadsheet sheet, and the heading path. Each field is present only when the source format provides it.`),du=D().describe(`Identifies one indexed passage for read_knowledge in this conversation only: re-indexing a source replaces it, so never store it or cite it.`),fu=2e3,pu=N({knowledgeStatus:I(cu).optional(),knowledgeIssue:su.nullable().optional(),missingUnits:M(k().int().positive()).optional(),knowledgeUnit:I(lu).nullable().optional()}),mu=N({id:D(),projectId:D(),fileId:D(),name:T(),title:T().nullable(),mimeType:T(),size:k().int().nonnegative(),url:T().nullable(),description:T().nullable(),...pu.shape,addedBy:D(),versionNumber:k().int().positive(),versionSavedAt:R().optional(),createdAt:R(),updatedAt:R()}),hu=N({id:D(),projectId:D(),url:T(),title:T().nullable(),status:ou,description:T().nullable(),fetchError:T().nullable(),lastFetchedAt:R().nullable(),...pu.shape,addedBy:D(),createdAt:R(),updatedAt:R()}),gu=T().max(fu),_u=N({description:gu.optional()});_u.extend({fileId:D()});const vu=`project_file_version_conflict`,yu=N({expectedVersionNumber:z().int().positive()}),bu=N({projectFileId:D(),fileName:T(),mimeType:T(),size:k().int().nonnegative(),url:T().nullable(),currentVersionNumber:k().int().positive(),currentVersionSavedAt:R(),currentVersionEditor:au,baseVersionNumber:k().int().positive()}),xu=N({code:L(vu),data:bu});_u.extend({url:zl});const Su=N({title:T().transform(e=>e.replace(/[\s\p{Cc}]+/gu,` `).trim()||null).pipe(T().max(200).nullable()).optional(),description:gu.optional()}).refine(e=>e.title!==void 0||e.description!==void 0,{message:`Provide a title or a description`});function Cu(e){return e.title??e.name}function wu(e){return e.title??e.url}N({files:M(mu)}),N({links:M(hu)});const Tu=1e5,Eu=I([`self`,`project`]),Du=I([`task_messages_contain_sensitive_content`,`sharing_disabled`,`share_visibility_not_allowed`,`share_failed`]);N({content:T().trim().min(1).max(Tu),title:T().trim().min(1).max(100).optional(),visibility:Eu.optional()}),N({taskId:D(),projectId:D(),visibility:Eu,shareLink:O().optional(),shareFailure:Du.optional()});const Ou=I([`task`,`file`,`link`]);N({q:T().trim().min(1).max(200),type:P([Ou,M(Ou).min(1)]).optional().transform(e=>{if(e!==void 0)return[...new Set(Array.isArray(e)?e:[e])]}),limit:z().int().min(1).max(20).default(10)});const ku={type:I([`file`,`link`]),sourceId:D(),title:T(),description:T().optional(),snippet:T().optional()},Au={knowledgeStatus:I(cu).describe(`Present only on a source with no indexed passages, matched by its title or description alone; read it by sourceId.`),knowledgeIssue:su.nullable().describe(`Why the content could not be indexed, when known.`)};function ju(e){return`evidenceId`in e}N({results:M(P([N({type:L(`task`),taskId:D(),title:T(),updatedAt:R(),snippet:T().optional()}),N({...ku,evidenceId:du,locator:uu}),N({...ku,...Au})]))}),N({depth:I([`summary`,`full`]).default(`summary`),offset:z().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:T().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.`),evidenceId:du.optional().describe(`Files and links: read the indexed passage a search result's evidenceId names, with the passages right before and after it.`),start:z().int().min(1).optional().describe("Files and links: read the indexed passages overlapping this page, slide or row range (1-based, inclusive). Defaults to `end` when only `end` is given."),end:z().int().min(1).optional().describe("Inclusive end of the `start` range; defaults to `start`.")}),F(`status`,[N({status:L(`text`),sourceType:Ou,sourceId:D(),title:T(),content:T(),truncated:A(),nextOffset:k().int().nonnegative().optional().describe(`Present only when truncated and more remains; pass it back as offset to read the next page.`),revision:T().optional().describe(`Files and links: identifies the stored text this page came from; pass it back with offset so a replaced snapshot is detected.`),passages:M(N({evidenceId:du,locator:uu})).optional().describe("Present when the read named an evidenceId or a range: the indexed passages `content` joins, in source order."),nextStart:k().int().positive().optional().describe(`Present when a range read was cut short: pass it as start to continue.`)}),N({status:L(`download`),sourceType:I([`file`,`link`]),sourceId:D(),title:T(),downloadUrl:O()}),N({status:L(`pending`),sourceType:L(`link`),sourceId:D(),title:T()}),N({status:L(`failed`),sourceType:L(`link`),sourceId:D(),title:T(),error:T()})]);const Mu=I([`wrong`,`outdated`,`not_answered`,`other`]),Nu=I([`open`,`resolved`,`dismissed`,`regressed`]),Pu=[`file`,`link`,`task`,`asset`],Fu=N({sourceType:I(Pu),sourceId:D().nullable(),title:T().nullable(),locator:uu.nullable(),snippet:T().nullable(),sourceRemoved:A()}),Iu=F(`kind`,[N({kind:L(`search`),toolName:T(),query:T(),hits:M(Fu)}),N({kind:L(`read`),toolName:T(),sourceType:I(Pu),sourceId:D().nullable(),title:T().nullable(),locator:uu.nullable(),sourceRemoved:A()})]),Lu=N({status:I([`captured`,`none`]),items:M(Iu)}),Ru=I([`other_project`,`task_not_shared_to_project`,`evidence_unavailable`,`sensitive_content`]),zu=N({id:k().int().nonnegative(),userMessageId:D().nullable(),assistantMessageId:D().nullable(),question:T(),answer:T()}),Bu=zu.extend({selectable:A(),issue:Ru.nullable()});N({messageId:D()}),N({id:D(),projectId:D(),taskId:D(),messageId:D(),modelId:T().nullable(),question:T(),answer:T(),evidence:Lu,priorTurns:M(Bu),existingReport:N({id:D(),status:Nu}).nullable(),expiresAt:R()}),N({draftId:D(),reason:Mu,description:T().trim().max(4e3).optional(),expectedAnswer:T().trim().max(8e3).optional(),selectedTurnIds:M(k().int().nonnegative()).default([])});const Vu=N({id:D(),projectId:D(),taskId:D(),messageId:D(),reporterUserId:D(),status:Nu,reason:Mu,description:T().nullable(),expectedAnswer:T().nullable(),modelId:T().nullable(),question:T(),answer:T(),evidence:Lu,priorTurns:M(zu),reportedAt:R(),createdAt:R(),updatedAt:R()});N({outcome:I([`created`,`reopened`,`existing`]),report:Vu});const Hu=`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.project_answer_reported.task_shared_to_project.task_shared_with_member.schedules_calendar_auth_expired.schedules_agent_upgraded.agent_monthly_cap_threshold.handoff_requested.webhook_destination_disabled.announcement`.split(`.`),Uu=[`info`,`action`],Wu=[`all`,`action`,`info`],Gu=[`low`,`medium`,`high`],Ku=[`web`,`ios`,`android`],H=D(),qu=I(jl),Ju=I(Hu),Yu=I(Uu),Xu=I(Gu),Zu=I(Ku);N({workspaceId:H}),N({workspaceId:H,notificationId:H}),N({workspaceId:H,deviceId:H}),N({tab:I(Wu).default(`all`),eventType:P([Ju,M(Ju)]).transform(e=>Array.isArray(e)?e:[e]).optional(),cursor:T().optional(),limit:z().int().min(1).max(100).default(20),lang:qu.optional()});const Qu=N({id:T().min(1),labelKey:T().min(1),method:L(`POST`),path:T().min(1),requiresInput:M(N({fieldName:T().min(1),displayNameKey:T().min(1)})).min(1).optional(),style:I([`primary`,`destructive`,`secondary`]).optional()}),$u=N({scope:I([`workspace`,`team`]),scopeName:T(),oldRole:T(),newRole:T(),canManageMember:A()}),ed=N({workspaceName:T().min(1)}),td=N({workspaceName:T().min(1),invoiceId:T().min(1)}),nd=N({workspaceName:T().min(1),thresholdUsd:T().min(1),reloadAmountUsd:T().min(1)}),rd=N({scheduleName:T().min(1),agentName:T().min(1),scheduleId:H}),id=N({scheduleName:T().min(1),scheduleId:H}),ad=I([`deactivated`,`access_revoked`,`pause_cleared`,`calendars_cleared`]),od=N({scheduleName:T().min(1),agentName:T().min(1),scheduleId:H,outcome:ad,holidayCalendarsCleared:I([`yes`,`no`]),cancelledRunCount:k().int().nonnegative()}),sd=L([100,80]),cd=N({agentName:T().min(1),agentId:H,threshold:sd,spentUsd:T().min(1),capUsd:T().min(1)}),ld=N({destinationId:H,destinationName:T().min(1)}),ud=N({agentName:T().min(1),resourceName:T().min(1),resourceType:I([`model`,`connector`]),agentId:H}),dd=N({requesterName:T().min(1),resourceName:T().min(1),resourceType:I([`agent`,`connector`,`skill`]),scope:I([`team`,`workspace`]),teamId:H.optional(),scopeName:T().min(1),inlineActions:M(Qu),publishId:H}),fd=N({approverName:T().min(1),resourceName:T().min(1),resourceType:I([`agent`,`connector`,`skill`]),resourceId:H}),pd=N({approverName:T().min(1),resourceName:T().min(1),resourceType:I([`agent`,`connector`,`skill`]),reason:T(),actions:M(N({id:I([`resubmit`,`viewResource`]),labelKey:T().min(1),href:T().min(1)})),resourceId:H}),md=N({workspaceName:T().min(1),requesterEmail:T(),invitationId:H});I([`task`,`preview`,`meeting`]);const hd=N({requesterName:T().min(1),resourceName:T().min(1),resourceId:H}),gd=F(`resourceType`,[hd.extend({resourceType:L([`task`,`preview`]),parentTaskId:H}),hd.extend({resourceType:L(`meeting`),meetingId:H})]),_d=N({meetingId:H,meetingTitle:T().min(1),sharedByName:T().min(1),role:I([`viewer`,`editor`])}),vd=N({meetingId:H,meetingTitle:T().min(1),sharedByName:T().min(1)}),yd=N({projectId:H,projectName:T().min(1),addedByName:T().min(1),teamId:H.optional(),teamName:T().min(1).optional()}).refine(e=>e.teamId===void 0==(e.teamName===void 0),{message:`teamId and teamName must be provided together`,path:[`teamName`]}),bd=N({direction:Ol,targetKind:kl,targetId:H}),xd=N({projectId:H,projectName:T().min(1),reportId:H,reporterName:T().min(1),reason:Mu}),Sd=N({taskId:H,taskTitle:T(),projectId:H,projectName:T().min(1),sharedByName:T().min(1)}),Cd=N({taskId:H,taskTitle:T(),projectId:H,projectName:T().min(1),sharedByName:T().min(1),teamId:H.optional(),teamName:T().min(1).optional()}).refine(e=>e.teamId===void 0==(e.teamName===void 0),{message:`teamId and teamName must be provided together`,path:[`teamName`]}),wd=N({name:T(),taskTitle:T(),taskId:H}),Td=N({aiResponseSnippet:T(),taskId:H}),Ed=N({aiResponseSnippet:T(),taskId:H}),Dd=N({title:T().min(1).max(200),body:T().min(1).max(2e3),ctaLabel:T().max(80).optional()}),Od=N({en:Dd}).catchall(Dd),kd=N({notification:L(!0),webPush:A(),mobilePush:A(),email:A()}),Ad=I([`notification`,`popup`]),jd=N({announcementId:H,contentI18n:Od,channels:kd,category:Yu,ctaUrl:T().optional(),surface:Ad.optional(),mediaKey:T().optional()}),Md=N({id:T().min(1),label:T().min(1),method:L(`POST`),path:T().min(1),style:I([`primary`,`destructive`,`secondary`]).optional(),requiresInput:M(N({fieldName:T().min(1),displayName:T().min(1)})).min(1).optional()}),Nd=T().refine(e=>e.startsWith(`/`)||/^https?:\/\//.test(e),{message:`ctaUrl must be an absolute URL or a path starting with /`}),Pd=N({title:T(),body:T(),ctaLabel:T().optional(),ctaUrl:Nd.optional(),inlineActions:M(Md).optional()}),Fd=N({id:H,urgency:Xu,category:Yu,relatedEntityId:T().nullable(),rendered:Pd,renderedLocale:qu,readAt:R().nullable(),processedAt:R().nullable(),createdAt:R()}),Id=F(`eventType`,[N({eventType:L(`role_changed`),payload:$u}),N({eventType:L(`usage_exhausted`),payload:ed}),N({eventType:L(`payment_failed`),payload:td}),N({eventType:L(`auto_reload_threshold_exceeded`),payload:nd}),N({eventType:L(`schedules_agent_deleted`),payload:rd}),N({eventType:L(`schedules_calendar_auth_expired`),payload:id}),N({eventType:L(`schedules_agent_upgraded`),payload:od}),N({eventType:L(`agent_binding_removed`),payload:ud}),N({eventType:L(`agent_monthly_cap_threshold`),payload:cd}),N({eventType:L(`webhook_destination_disabled`),payload:ld}),N({eventType:L(`schedule_run_completed`),payload:wd}),N({eventType:L(`publish_submitted`),payload:dd}),N({eventType:L(`publish_approved`),payload:fd}),N({eventType:L(`publish_rejected`),payload:pd}),N({eventType:L(`task_complete`),payload:Td}),N({eventType:L(`task_waiting_approval`),payload:Ed}),N({eventType:L(`workspace_join_request`),payload:md}),N({eventType:L(`access_request`),payload:gd}),N({eventType:L(`meeting_shared`),payload:_d}),N({eventType:L(`meeting_shared_workspace`),payload:vd}),N({eventType:L(`project_member_added`),payload:yd}),N({eventType:L(`project_answer_reported`),payload:xd}),N({eventType:L(`task_shared_to_project`),payload:Sd}),N({eventType:L(`task_shared_with_member`),payload:Cd}),N({eventType:L(`handoff_requested`),payload:bd}),N({eventType:L(`announcement`),payload:jd})]),Ld=Fd.and(Id);N({items:M(Ld),nextKey:T().optional()}),N({item:Ld.nullable()}),N({count:k().int().min(0),capped:A().optional()}),N({deviceType:Zu,fcmToken:T().min(1),description:T().max(500).optional()}),N({id:H,createdAt:R()}),N({}).strict();const Rd=F(`kind`,[N({kind:L(`all`)}),N({kind:L(`admins`)}),N({kind:L(`specific`),userIds:M(H).min(1)})]);N({workspaceId:H.nullish(),contentI18n:Od,ctaUrl:O({protocol:/^https?$/}).max(2e3).optional(),urgency:Xu,category:Yu,audience:Rd,channels:kd,surface:Ad.default(`notification`),mediaKey:T().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`]}),N({id:H,createdAt:R()});const zd=N({limit:z().int().min(1).max(100).default(20),nextKey:T().optional()}),Bd=N({limit:z().int().min(1).max(100).default(20),offset:z().int().nonnegative().default(0)});N({limit:z().int().min(1).max(100).default(50),beforeVersionNumber:z().int().positive().optional()}).extend({versionNumber:z().int().positive().optional()});const Vd=[e=>!e.editableFirst||!e.createdBy&&!!e.sortBy,{message:`editableFirst requires sortBy and no createdBy`,path:[`editableFirst`]}],Hd=[`asc`,`desc`],Ud=[`chatgpt`,`claude`],Wd={chatgpt:{modelProvider:`chatgpt-subscription`,modelIdPrefix:`chatgpt-sub/`,connectionFlow:`device-code`},claude:{modelProvider:`claude-subscription`,modelIdPrefix:`claude-sub/`,connectionFlow:`authorization-code`}},Gd=I(Ud);N({connections:M(N({provider:Gd,status:I([`pending`,`connected`,`expired`,`error`]),accountLabel:T().nullable(),plan:T().nullable(),lastError:T().nullable(),connectedAt:R().nullable()})),connectableProviders:M(Gd)}),F(`connectionFlow`,[N({userCode:T(),verificationUrl:O(),expiresAt:R(),pollIntervalSeconds:k().int().positive()}).extend({connectionFlow:L(`device-code`)}),N({connectionFlow:L(`authorization-code`),authorizationUrl:O(),expiresAt:R()})]),N({code:T().trim().min(1).max(4096)}),N({models:M(N({id:T(),name:T(),provider:Gd}))});const Kd=[`openai`,`anthropic`,`vertex-anthropic`,`vertex-google`,`vertex-google-gemma`,`google`,`openrouter`,`selfhosted`,`apmic`,`cerebras`],qd=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],Jd=[{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:!1,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-haiku-5-5`,provider:`anthropic`,reasoning:{thinking:{type:`adaptive`,blockBinding:{prefixMismatchBehavior:`drop_block`}},effort:`high`},name:`Claude Haiku 5.5`,description:`Fast, low-cost model for high-volume, latency-sensitive work`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_000_1`,output:`0.000_000_5`,cachedInput:`0.000_000_01`,cacheCreation:`0.000_000_125`,cacheCreation1h:`0.000_000_2`,longContext:{input:`0.000_000_5`,output:`0.000_002_5`,cachedInput:`0.000_000_05`,cacheCreation:`0.000_000_625`,cacheCreation1h:`0.000_001`}},tokenCalculator:{kind:`input-context`,thresholdTokens:1e5}},{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:`vertex/claude-haiku-5-5`,provider:`vertex-anthropic`,reasoning:{thinking:{type:`adaptive`,blockBinding:{prefixMismatchBehavior:`drop_block`}},effort:`high`},providerModelId:`claude-haiku-5-5`,name:`Claude Haiku 5.5`,description:`Fast, low-cost model for high-volume, latency-sensitive work (via Vertex AI)`,hiddenInTask:!1,active:!0,contextWindowTokens:1e6,maxOutputTokens:64e3,capabilities:{midConversationSystem:!0},pricing:{input:`0.000_000_1`,output:`0.000_000_5`,cachedInput:`0.000_000_01`,cacheCreation:`0.000_000_125`,cacheCreation1h:`0.000_000_2`,longContext:{input:`0.000_000_5`,output:`0.000_002_5`,cachedInput:`0.000_000_05`,cacheCreation:`0.000_000_625`,cacheCreation1h:`0.000_001`}},tokenCalculator:{kind:`input-context`,thresholdTokens:1e5}},{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-nano-banana-2.1`,provider:`vertex-google`,reasoning:{type:`level`,level:`high`},providerModelId:`gemini-nano-banana-2.1`,name:`Nano Banana 2.1 (Vertex)`,description:`Fast image generation and conversational editing with sharper text rendering and character consistency (via Vertex AI).`,hiddenInTask:!0,active:!0,contextWindowTokens:131072,maxOutputTokens:32e3,pricing:{input:`0.000_001_5`,output:`0.000_007_5`,outputImage:`0.000_03`,cachedInput:`0.000_000_15`},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-nano-banana-2.1`,provider:`google`,reasoning:{type:`level`,level:`high`},name:`Nano Banana 2.1`,description:`Fast image generation and conversational editing with sharper text rendering and character consistency.`,hiddenInTask:!0,active:!0,contextWindowTokens:131072,maxOutputTokens:32e3,pricing:{input:`0.000_001_5`,output:`0.000_007_5`,outputImage:`0.000_03`,cachedInput:`0.000_000_15`},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:`google/gemma-4-31b-it`,provider:`openrouter`,reasoning:{type:`enabled`},name:`Gemma 4 31B`,description:`Dense, open-weight Google DeepMind model with configurable thinking, native function calling and a 262K context window`,hiddenInTask:!1,active:!0,contextWindowTokens:262144,maxOutputTokens:16e3,pricing:{input:`0.000_000_09`,output:`0.000_000_34`,cachedInput:`0.000_000_05`}},{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`}}],Yd=[...Kd,`azure-openai`],Xd=Ud.map(e=>Wd[e].modelProvider),Zd=[...Yd,...Xd];function Qd(e){return Jd.filter(t=>t.provider===e).map(e=>e.id)}Qd(`openai`),Qd(`anthropic`),Qd(`vertex-anthropic`),Qd(`vertex-google`),Qd(`google`),Qd(`openrouter`),Qd(`selfhosted`),Qd(`apmic`),Qd(`cerebras`);const $d=[`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`],ef=[`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`],tf=Jd.map(e=>e.id);function nf(e){return e.startsWith(`azure-`)}const rf=[`lite`,`pro`,`max`],af=[`image`,`image-lite`],of=[`functionality`],sf=[...rf,...af,...of],cf=P([I(tf),I(rf),T().refine(e=>nf(e)),I($d),I(ef)]);P([cf,I([...af,...of])]);const lf=P([cf,L(`auto`)]),uf=N({id:T(),name:T(),shortName:T().optional(),description:T(),shortDescription:T().optional(),enabled:A().optional(),tags:M(T()).optional()});N({models:M(uf)}),N({tiers:M(N({tier:T(),available:A().optional(),model:uf.optional()}))});const df=N({modelId:T()}),ff=I([`additional`]),pf=N({replacementModelId:lf.optional()});df.extend(pf.shape),N({agentCount:k(),scheduleCount:k(),recentAgentCount:k(),recentTaskCount:k(),affectedModelSelections:M(lf)}).extend({modelId:T()});const mf=I([`pool`,`provider`]);N({modelId:P([T(),M(T()).min(1)]).optional(),revocation:ff.optional(),scope:mf.optional(),providerId:T().optional()}),N({replacements:M(N({modelId:T(),replacementModelId:lf,references:N({agentCount:k(),scheduleCount:k()}),updatedAt:R()}))}),N({modelId:T(),replacementModelId:lf}),N({modelId:T()}),N({providers:M(N({id:T(),name:T(),baseUrl:T().nullable().optional(),verified:A(),models:M(N({id:T(),name:T(),enabled:A().optional(),additional:A().optional()})),options:Jc(T(),Nc()).optional()}))}),N({models:M(N({id:T(),name:T(),provider:I(Zd),supportsChat:A(),supportsImageGeneration:A(),imageBackend:I([`image-api`,`language-model`]).optional(),availableForAdvanced:A()}))}),N({tiers:M(N({tier:I(sf),modelId:T(),fallbackModelId:T().nullable()}))}),N({tier:I(sf)}),N({modelId:T().min(1),fallbackModelId:T().min(1).nullable().optional()});const hf=I([`starter`,`pro`,`premium`]),gf=I([`pro`,`premium`]);gf.options;const U=N({pro:k().int().nonnegative(),premium:k().int().nonnegative()});I([`basic_window`,`granted_pool`,`purchased_pool`]);const _f=I([`purchased`,`granted`]);I([`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`,PROJECT_KNOWLEDGE_EMBEDDING:`project_knowledge_embedding`,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.PROJECT_KNOWLEDGE_EMBEDDING,W.SENSITIVITY_CHECK,W.PUBLISH_CHANGE_SUMMARY;const vf={WEB_SEARCH:W.WEB_SEARCH,SANDBOX_RUNTIME:W.SANDBOX_RUNTIME,PROJECT_KNOWLEDGE_EMBEDDING:W.PROJECT_KNOWLEDGE_EMBEDDING};I([vf.WEB_SEARCH,vf.SANDBOX_RUNTIME,vf.PROJECT_KNOWLEDGE_EMBEDDING]);const yf={SEARCH:`search`,SCRAPE:`scrape`};I([yf.SEARCH,yf.SCRAPE]),N({workspaceId:D()});const bf=N({usedPercent:k().min(0).max(100),resetAt:R().nullable()});N({seatType:hf,hourly:bf.nullable(),weekly:bf,trial:N({endsAt:R(),remainingDays:k().int().positive()}).optional(),extraUsage:N({spentUsd:k().nonnegative(),resetAt:R().nullable()}),availability:N({allowed:A(),reason:I([`usage_exhausted`,`budget_exceeded`]).nullable(),resetAt:R().nullable()})});const xf=N({startAt:R(),endAt:R(),previousStartAt:R().optional()}),Sf=N({period:xf,balanceUsd:k().nonnegative(),nextExpiry:N({amountUsd:k().positive(),expiresAt:R()}).optional(),currentSpentUsd:k().nonnegative(),currentSpentUsedPercent:k().nonnegative().nullable(),monthlyExtraUsageLimitUsd:k().positive().nullable(),memberMonthlyExtraUsageLimitUsd:k().positive().nullable()});N({periodStart:B.optional()}),N({period:xf,spentUsd:k().nonnegative(),purchasedUsd:k().nonnegative()});const Cf=I([`extraUsage:desc`,`extraUsage:asc`]);N({periodStart:B.optional(),limit:z().int().min(1).max(100).default(20),offset:z().int().nonnegative().default(0),sort:Cf.default(`extraUsage:desc`),search:T().trim().max(200).optional()}),N({items:M(N({id:D(),user:N({id:D(),name:T(),email:T()}),seatType:hf,extraUsage:k().nonnegative(),monthlyLimitOverride:N({limitUsd:k().positive().nullable()}).nullable().optional()})),total:k().int().nonnegative()}),N({id:D(),poolType:_f,balanceUsd:k().nonnegative(),initialAmountUsd:k().positive(),expiresAt:R().nullable(),isAutoReload:A().nullable(),purchaseId:D().nullable(),createdBy:D(),createdAt:R(),updatedAt:R()}),N({amountUsd:k().positive().max(1e5),expiresAt:B.optional()}),N({id:D(),workspaceId:D(),amountUsd:T(),expiresAt:R().nullable(),createdAt:R()}),N({enabled:A(),thresholdUsd:k().positive(),reloadAmountUsd:k().positive()}).nullable(),N({enabled:A(),thresholdUsd:k().positive(),reloadAmountUsd:k().positive()}),N({checkoutUrl:O().nullable()}),N({limitUsd:k().positive().nullable()}),N({limitUsd:k().positive().nullable()});const wf=N({id:D(),name:T(),email:T()});N({items:M(N({user:wf,limitUsd:k().positive().nullable()}))}),N({workspaceId:D(),userId:D()}),N({limitUsd:k().min(.01).max(999999.99).nullable()});const Tf=T().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`});N({items:M(N({user:wf,budget:T().nullable()}))}),N({workspaceId:D(),userId:D()}),N({budget:Tf.nullable()}),N({allowance:T().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()}),N({periodStart:B.optional()});const Ef=N({model:T(),costUsd:k(),tokens:k()}),Df=N({costUsd:k(),totalTokens:k(),tokens:N({input:k(),output:k(),cachedInput:k(),cacheCreation:k()}),byModel:M(Ef)});N({taskId:D(),totalCostUsd:k(),totalTokens:k(),tokens:Df.shape.tokens,byModel:Df.shape.byModel,taskRun:Df}),N({taskId:D(),scheduleId:D(),scheduleRunId:D(),work:Df,extraction:Df,judgePrimary:Df,judgeReview:Df,runTotal:Df,includingExtraction:Df});const Of=[`google`,`password`];N({users:M(N({id:D(),name:T(),email:T(),image:T().nullable().optional(),role:T(),loginMethods:M(I(Of)),createdAt:R(),seatType:hf.nullable(),pendingSeatType:hf.nullable(),pendingEffectiveAt:R().nullable()})),total:k().int().nonnegative()}),Bd.extend({search:T().trim().max(200).optional()});const kf=T().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`);N({currentPassword:T().min(1,`Current password is required`),newPassword:kf}),N({message:T()});const Af=I(jl);N({email:T(),name:T(),image:T().nullable().optional(),locale:Af,hasPassword:A()}),N({locale:Af});const jf={Owner:`owner`,Admin:`admin`,Member:`member`,Role:`role`,CanManageWorkspace:`can_manage_workspace`,CanManageRole:`can_manage_role`,CanManageMember:`can_manage_member`,CanManagePayment:`can_manage_payment`,CanSubmitCustomConnector:`can_submit_custom_connector`,CanReviewCustomConnector:`can_review_custom_connector`,CanManageConnector:`can_manage_connector`,CanManageResource:`can_manage_resource`,CanManageModel:`can_manage_model`,CanManageCapability:`can_manage_capability`,CanManageTeam:`can_manage_team`,CanReviewResourcePublish:`can_review_resource_publish`,CanCreateAgent:`can_create_agent`,CanCreateServiceAgent:`can_create_service_agent`,CanCreateManagedAgent:`can_create_managed_agent`,CanPublishAgent:`can_publish_agent`,CanCreateSkill:`can_create_skill`,CanPublishSkill:`can_publish_skill`,CanCreateWorkflow:`can_create_workflow`,CanCreateCustomConnector:`can_create_custom_connector`,CanPublishCustomConnector:`can_publish_custom_connector`,CanManageAllTeams:`can_manage_all_teams`,CanManageChannelAgents:`can_manage_channel_agents`,CanViewAuditLogs:`can_view_audit_logs`,CanViewUsageAnalytics:`can_view_usage_analytics`},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`,CreateServiceAgent:`create_service_agent`,CreateManagedAgent:`create_managed_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`,ViewUsageAnalytics:`view_usage_analytics`},Mf=[G.ManageConnector,G.ReviewResourcePublish];[G.ManageResource,...Mf],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.CreateServiceAgent,G.PublishAgent,G.CreateSkill,G.PublishSkill,G.CreateWorkflow,G.ManageTeam,G.ManageAllTeams,G.ViewAuditLogs,G.ViewUsageAnalytics,G.ManageMember,G.ManageCapability,G.ManageResource,G.ManageChatbot,G.ManageChannelAgents,G.CreateCustomConnector,G.PublishCustomConnector,G.CreateAgent,G.CreateServiceAgent,G.PublishAgent,G.CreateSkill,G.PublishSkill,G.CreateWorkflow,G.ManageTeam,G.ViewUsageAnalytics,G.CreateCustomConnector,G.PublishCustomConnector,G.CreateAgent,G.PublishAgent,G.CreateSkill,G.PublishSkill,G.CreateWorkflow;const Nf=I([`workspace`,`resource`,`team`]),Pf=I([{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:`view_usage_analytics`,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:`create_service_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)),Ff=N({id:Pf,name:T(),descriptions:M(T()).min(1),category:Nf});N({lang:Ml}),N({permissions:M(Ff)}),G.CreateManagedAgent,new Set(Object.values({[G.ManageCapability]:G.ManageCapability,[G.ManageTeam]:G.ManageTeam,[G.CreateServiceAgent]:G.CreateServiceAgent,[G.ManageChannelAgents]:G.ManageChannelAgents})),new Set(Object.values(jf).flatMap(e=>e.startsWith(`can_`)?[e.slice(4)]:[])),N({permissions:M(Pf)});const If=`always_allow`,Lf={ALWAYS_ASK:`always_ask`,AUTO:`auto`,ALWAYS_ALLOW:`always_allow`},Rf=I(Lf);Rf.exclude([`ALWAYS_ASK`]);const zf={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.`},Bf={ASK:`ask`,DENY:`deny`,BYPASS:`bypass`},Vf=I(Bf);Lf.ALWAYS_ALLOW,Lf.AUTO,Lf.ALWAYS_ASK,Bf.BYPASS,Bf.ASK,Bf.DENY,I([`allow_all`,`auto_ask`,`auto_deny`]);const Hf=[{id:`allow_all`,toolApprovalMode:Lf.ALWAYS_ALLOW,approvalHandling:Bf.BYPASS},{id:`auto_ask`,toolApprovalMode:Lf.AUTO,approvalHandling:Bf.ASK},{id:`auto_deny`,toolApprovalMode:Lf.AUTO,approvalHandling:Bf.DENY}];function Uf(e,t){return Hf.find(n=>n.toolApprovalMode===e&&n.approvalHandling===t)?.id}const Wf={always_ask:`Always Ask`,auto:`Auto`,always_allow:`Always Allow`},Gf={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`},Kf={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`},qf=new Set(Object.values(Kf));function Jf(e){return qf.has(e)}const Yf=new Set([Kf.POLICY_LOOKUP_FAILED,Kf.INNER_TOOL_NOT_FOUND,Kf.INPUT_MISSING_TOOL_NAME,Kf.INNER_RESOLUTION_FAILED]);function Xf(e){return Yf.has(e)}function Zf(e){let[t,...n]=e?.split(`
70
+ `)??[],r=n.join(`
71
+ `).trim();return{reason:t===void 0||!Jf(t)?`generic`:Xf(t)?`policy_unresolved`:t,detail:r||void 0}}function Qf(e){return Zf(e).reason}const $f={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 ep(e){return $f[Qf(e)]}const tp={PREAUTHORIZED:`preauthorized`,LOW_RISK:`low_risk`};function np(e){if(e?.isAutomatic===!0&&e.approved===!0)return e.reason===`Preauthorized for this task.`?{kind:tp.PREAUTHORIZED,reason:void 0}:{kind:tp.LOW_RISK,reason:e.reason}}const rp=I([`invite-only`,`open`]),ip=T().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`}),ap=N({name:T().trim().min(1).max(50),latinName:T().trim().max(50).nullable().optional(),logoIconId:D(),faviconIconId:D().nullable().optional()}),op=N({name:T().trim().min(1).max(50),latinName:T().trim().max(50).nullable().optional(),logoUrl:T().min(1),faviconUrl:T().nullable().optional()}),sp=N({id:T(),name:T(),userCount:k(),config:N({branding:op.nullable().optional(),additionalModelsEnabled:A().optional(),modelTierCustomizationEnabled:A().optional(),subscriptionModelsEnabled:A().optional(),subscriptionModelsAllowed:A().optional(),subscriptionPoolEnabled:A().optional(),subscriptionPoolAllowed:A().optional(),serviceAgentEnabled:A().optional(),autopilotEnabled:A().optional(),subscriptionPoolFallbackModelId:cf.nullable().optional()}).optional(),createdAt:R(),updatedAt:R()});N({workspaces:M(sp)}),N({workspaces:M(sp.extend({config:N({joinPolicy:rp})}))}),N({joined:A()}),N({name:ip,ownerId:D()}),N({name:ip});const cp=T().trim().toLowerCase().max(253).regex(/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/,`Invalid email domain`);N({hideThinking:A().optional(),joinPolicy:rp.optional(),allowedDomains:M(T()),defaultToolApprovalMode:Rf.optional(),requireReview:A().optional(),shareSensitiveScanEnabled:A().optional(),maxShareVisibility:$l.optional(),maxPreviewVisibility:$l.optional(),disabledModelTiers:M(I(rf)).optional(),additionalModelsEnabled:A().optional(),modelTierCustomizationEnabled:A().optional(),subscriptionModelsEnabled:A().optional(),subscriptionModelsAllowed:A().optional(),subscriptionPoolEnabled:A().optional(),subscriptionPoolAllowed:A().optional(),serviceAgentEnabled:A().optional(),autopilotEnabled:A().optional(),subscriptionPoolFallbackModelId:cf.nullable().optional(),subscriptionPoolMemberAllowance:T().nullable().optional(),autoTierDisabled:A().optional(),chatbotSlackEffectivelyEnabled:A().optional(),chatbotTeamsEffectivelyEnabled:A().optional(),systemPrompt:T().trim().max(1e3).nullable().optional()}),N({email:T(),name:T(),roles:M(T()),permissions:M(Pf)});const lp=I([`requested`,`approved`,`rejected`]);N({workspaceId:D(),invitationId:D()}),N({email:T(),status:lp,workspace:N({id:D(),name:T()})}),N({invitations:M(N({id:D(),workspaceId:D(),email:T(),status:lp,role:T(),requestedSeatType:hf,invitedBy:N({email:T(),name:T(),isMe:A()}).optional(),invitedAt:R().optional(),expiresAt:R().optional(),createdAt:R(),updatedAt:R()})),total:k().int().nonnegative()}),Bd.extend({status:lp.optional(),search:T().trim().max(200).optional()});const up=N({starter:k().int().nonnegative(),pro:k().int().nonnegative(),premium:k().int().nonnegative()}),dp=N({id:T(),email:T()}),fp=N({id:T(),name:T(),owners:M(dp),userCount:k().int().nonnegative(),paidSeatCount:k().int().nonnegative(),seatCountsByType:up,createdAt:R(),updatedAt:R()});Bd.extend({search:T().trim().max(200).optional(),exact:wl().optional(),sortBy:I([`createdAt`,`userCount`,`paidSeatCount`]).default(`createdAt`),order:I(Hd).default(`desc`),owner:I([`people`,`application`,`all`]).default(`people`)}),N({workspaces:M(fp),total:k().int().nonnegative()}),N({workspaceId:D()});const pp=N({purchasedUsd:k().nonnegative(),grantedUsd:k().nonnegative(),totalUsd:k().nonnegative(),nextExpiry:N({amountUsd:k().nonnegative(),expiresAt:R()}).nullable()}),mp=I([`owner`,`admin`,`member`]),hp=N({id:T(),email:T(),name:T(),role:T(),seatType:hf.nullable(),joinedAt:R(),loginMethods:M(I(Of)),lastLoginAt:R().nullable(),passwordSetupEmailSentAt:R().nullable()}),gp=N({enabled:A(),modelIds:M(T())}),_p=N({id:T(),name:T()}),vp=N({slackEnabled:A(),slackAvailable:A(),teamsEnabled:A(),teamsAvailable:A(),defaultAgentId:T().nullable(),ownerPanelDisabled:A(),inheritsLegacySettings:A(),agents:M(_p)});N({slackEnabled:A(),teamsEnabled:A(),defaultAgentId:D().nullable(),ownerPanelDisabled:A()});const yp=ap.extend({logoUrl:T(),faviconUrl:T().nullable().optional()});N({branding:ap.nullable()}),N({logoIconId:D(),faviconIconId:D(),logoUrl:T(),faviconUrl:T()});const bp=1e4,xp=N({purchased:U,scheduledPurchased:U,scheduledPurchasedAt:R().nullable(),granted:U,assigned:U});N({grantedSeats:N({pro:k().int().nonnegative().max(bp),premium:k().int().nonnegative().max(bp)}),note:T().trim().min(1).max(500)});const Sp=N({id:T(),name:T()});N({id:T(),name:T(),owners:M(dp),ownerApplication:Sp.nullable(),applicationWorkspaceId:T().nullable(),userCount:k().int().nonnegative(),paidSeatCount:k().int().nonnegative(),seatCountsByType:up,seatPool:xp,extraUsage:pp,members:M(hp),allowedDomains:M(T()),advancedModels:gp,modelTierCustomizationEnabled:A(),chatbotSettings:vp,subscriptionModelsAllowed:A(),subscriptionPoolAllowed:A(),serviceAgentEnabled:A(),autopilotEnabled:A(),branding:yp.nullable(),createdAt:R(),updatedAt:R()}),N({allowedDomains:M(cp).max(50)}),N({enabled:A(),modelIds:M(T().trim().min(1).max(200)).max(100)}).extend(pf.shape),N({enabled:A()}).extend(pf.shape);const Cp=N({id:D(),userId:D(),workspaceId:D(),year:k(),month:k(),totalCost:T(),poolCost:T().optional(),operationCount:k(),createdAt:R(),updatedAt:R(),user:N({id:D(),name:T(),email:T()}),budgetOverride:N({budget:T().nullable()}).nullable().optional(),poolAllowanceOverride:N({allowance:T().nullable()}).nullable().optional()});zd.extend({search:T().trim().max(200).optional()}),N({monthlyUsages:M(Cp),nextKey:T().optional()});const wp=[`super_admin`,`operator`];I([`vertex/gemini-3.7-flash`,`vertex/gemini-3.5-flash`]),N({provider:L(`gemini`),model:T().min(1),estimatedHourlyCostUsd:k().nonnegative()}),N({model:T().min(1)});const Tp=N({id:D(),email:T()});N({admins:M(N({id:D(),email:T(),role:I(wp),createdBy:Tp.nullable(),createdAt:R(),updatedAt:R()}))}),N({id:D(),role:I(wp)}),N({email:oc(),role:I(wp)}),N({adminId:D()}),N({email:oc(),name:T().trim().min(1).max(100).optional(),password:kf,workspaceId:D().optional(),role:mp.default(`member`)});const Ep=N({id:D(),email:T(),name:T(),createdAt:R()}),Dp=N({resetPasswordUrl:O(),resetPasswordExpiresAt:R()});Ep.extend(Dp.shape),N({email:oc(),role:mp.default(`member`),sendPasswordSetupEmail:A().default(!1)}),N({id:D(),email:T(),name:T(),role:T(),passwordSetupEmailSent:A()}),N({workspaceId:D(),userId:D()}),N({sendEmail:A().default(!1)}),Dp.extend({emailSentAt:R().nullable()}),N({role:mp}),N({role:I(wp)});const Op=[`create`,`update`,`delete`],kp=[`workspace`,`admin`,`user`,`extra_usage`,`marketplace_agent`,`marketplace_skill`,`azure_openai_deployment`,`connector`,`model_tier`,`announcement`],Ap=[`success`,`failure`],jp=N({adminId:D(),email:T().nullable(),isRemoved:A()}),Mp=N({ipAddress:T().optional(),details:Jc(T(),j()).optional(),errorMessage:T().optional()}),Np=N({id:D(),actor:jp,action:I(Op),resourceType:I(kp),resourceId:T().nullable(),resourceLabel:T().nullable(),status:I(Ap),metadata:Mp,createdAt:R()});Bd.extend({actorAdminId:D().optional(),action:I(Op).optional(),resourceType:I(kp).optional(),status:I(Ap).optional(),workspaceSearch:T().trim().max(200).optional(),from:B.optional(),to:B.optional()}),N({items:M(Np),total:k().int().nonnegative()});const Pp=N({id:D(),workspaceId:D().nullable(),contentI18n:Od,ctaUrl:T().nullable(),urgency:Xu,category:Yu,audience:Rd,channels:kd,surface:Ad,mediaKey:T().nullable(),createdBy:D().nullable(),createdAt:R()});Bd.extend({surface:Ad.optional()}),N({items:M(Pp),total:k().int().nonnegative()}),N({announcementId:D()});const Fp={"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`,"applications:tenants":`Provision and manage your Application Tenants`,"applications:usage":`Read End User usage in your Application Tenants`,offline_access:`Access your data when you are not present`},Ip=[`offline_access`,`user:email`,`applications:tenants`,`applications:usage`],Lp=Ee(Fp).filter(e=>!Ip.includes(e));if(Lp.length===0)throw Error(`PAT_AVAILABLE_SCOPES must not be empty`);const Rp=I(Lp),zp=N({id:D(),name:T(),tokenPrefix:T(),scopes:M(T()).nullable(),resources:N({agents:M(T()).optional(),skills:M(T()).optional(),connectors:M(T()).optional()}).nullable(),expiresAt:R().nullable(),lastUsedAt:R().nullable(),createdAt:R()});N({name:T().trim().min(1).max(200),expiresInDays:k().int().min(1).max(3650).nullable(),scopes:M(Rp).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 Bp=N({token:T(),data:zp});N({tokens:M(zp)});const Vp=I([`queued`,`running`,`completed`,`failed`]),Hp=N({tool:T(),connectorId:T().optional(),summary:T(),status:T()});N({executionId:D(),status:Vp,agentVersionId:D().optional(),output:N({text:T(),structured:j().optional()}).optional(),actions:M(Hp).optional(),cost:k().optional()}),N({executionId:D(),status:L(`running`)}),N({input:T().min(1).max(1e5),mode:I([`async`,`sync`]).default(`async`),agentVersionId:D().optional(),webhookUrl:zl.optional(),metadata:Jc(T().max(100),T().max(1e3)).refine(e=>Object.keys(e).length<=20,{message:`metadata supports at most 20 keys`}).optional()}),N({requestsPerMinute:k().int().min(1).max(1e4).nullable()}),N({requestsPerMinute:k().int().nullable()}),N({items:M(zp.pick({id:!0,name:!0,createdAt:!0,lastUsedAt:!0}))}),N({name:T().trim().min(1).max(200),expiresInDays:k().int().min(1).max(3650).nullable()}),Bp.extend({webhookSecret:T()});const K={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(K);const Up=[K.WEB_SEARCH,K.IMAGE_GENERATION],q={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`},Wp=Object.values(q);q.SANDBOX,K.SANDBOX,K.SKILL,q.MULTITASKING,K.SUBAGENT,K.WORKFLOW,q.HISTORY,K.TASK,K.MEETING,K.MEMORY,q.CREATION,K.ASSET,K.SLIDES,K.IMAGE_GENERATION,q.PROJECT,K.PROJECT,K.ASSET,q.WEB_SEARCH,K.WEB_SEARCH,q.SCHEDULE,K.SCHEDULE,q.AGENTS_AND_SKILLS,K.AGENT,K.SKILL_MANAGEMENT,q.AUDIT_LOG,K.AUDIT_LOG;const Gp=Yc(I(Wp),A());function Kp(e,t){return e===void 0?!0:e[t]??t!==q.AUDIT_LOG}function qp(e){return Object.fromEntries(Wp.map(t=>[t,e.includes(t)]))}function Jp(e){return Wp.filter(t=>Kp(e,t))}const Yp=Object.freeze(qp([q.SANDBOX,q.AGENTS_AND_SKILLS]));K.CHART;const Xp=I([`create`,`user_edit`,`agent_tool`,`restore`,`marketplace_install`,`publish`,`migration`]),Zp=N({id:D(),versionNumber:k().int(),origin:Xp,note:T().nullable(),restoredFromVersionNumber:k().int().nullable(),createdBy:N({id:D(),name:T(),image:T().nullable()}).nullable(),createdAt:R()});N({versions:M(Zp.extend({publishedTargets:N({workspace:A(),teams:M(N({id:D(),name:T()}))})})),nextVersionNumber:k().int().nullable()});const Qp=N({id:D(),name:T(),available:A()}),$p=Zp.extend({name:T(),description:T(),systemPrompt:T(),modelId:T(),connectorIds:M(D()),capabilities:Gp,conversationStarters:M(T()),tools:M(T()).nullable(),iconId:D().nullable(),iconUrl:T().optional(),skillIds:M(D()),delegatableAgentIds:M(D()),connectors:M(Qp),skills:M(Qp),delegatableAgents:M(Qp)});N({workspaceId:D(),agentId:D(),versionId:D()}),N({expectedHeadVersionId:D(),dryRun:A().optional(),modelId:lf.optional(),omitConnectorIds:M(D()).optional(),omitSkillIds:M(D()).optional(),omitDelegatableAgentIds:M(D()).optional(),omitTools:M(T()).optional(),note:T().trim().max(500).optional()}),N({issues:N({modelUnavailable:A(),connectorIds:M(D()),skillIds:M(D()),delegatableAgentIds:M(D()),tools:M(T())}).optional(),version:N({id:D(),versionNumber:k().int().positive()}).nullable()});const em={PENDING:`pending`,APPROVED:`approved`,REJECTED:`rejected`,PENDING_UPDATE:`pending_update`};em.APPROVED,em.PENDING_UPDATE,em.PENDING,em.PENDING_UPDATE;const tm={CONNECTOR:`connector`,AGENT:`agent`,SKILL:`skill`,MEETING:`meeting`};({...tm}),Object.values(tm);const nm={OWNER:`owner`,MANAGER:`manager`,MEMBER:`member`},rm={VISIBLE:`visible`,HIDDEN:`hidden`},im={OWNER:`owner`,EDITOR:`editor`,VIEWER:`viewer`},am=I([im.OWNER,im.EDITOR,im.VIEWER]);im.OWNER,im.EDITOR,im.VIEWER;const om={USER:`user`,TEAM:`team`},sm=I([om.USER,om.TEAM]),cm=am.nullable(),lm={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`};lm.permissionDenied,lm.userCancelled,lm.sensitiveContext;const um={DIRECT:`direct`,HINTED:`hinted`};um.DIRECT,um.HINTED,new TextEncoder;function dm(e,t){return e.map(e=>({...e,disclosureMode:e.disclosureMode??t}))}const fm=`task__`,pm={SHARE_TASK:`${fm}share_task`,READ_REFERENCED_TASK:`${fm}read_referenced_task`,SEARCH_TASKS:`${fm}search_tasks`,LIST_TASK_FILES:`${fm}list_task_files`,EXPORT_DIAGNOSTICS:`${fm}export_diagnostics`},mm=`meta_tool__`,hm={SEARCH_TOOLS:`${mm}search_tools`,GET_TOOL_SCHEMAS:`${mm}get_tool_schemas`,EXECUTE_TOOL:`${mm}execute_tool`};function gm(e,t){if(e===hm.EXECUTE_TOOL)return Te(t)&&typeof t.toolName==`string`?t.toolName:void 0}function _m(e,t){return e===hm.EXECUTE_TOOL?gm(e,t):e}const vm=`usage_audit__`,ym={GET_DAILY_SUMMARY:`${vm}get_daily_summary`,GET_MONTHLY_COSTS:`${vm}get_monthly_costs`,GET_USER_BREAKDOWN:`${vm}get_user_breakdown`,GET_USER_DAILY_TREND:`${vm}get_user_daily_trend`,FIND_USAGE_DROPS:`${vm}find_usage_drops`,FIND_STALE_SCHEDULES:`${vm}find_stale_schedules`,GET_SCHEDULE_TOOL_CALLS:`${vm}get_schedule_tool_calls`,GET_COST_RANKING:`${vm}get_cost_ranking`,GET_WORKSPACE_TOTALS:`${vm}get_workspace_totals`},bm=`subagent__`,xm={SPAWN:`${bm}spawn`,GET_RUN:`${bm}get_run`},Sm=`background__`,Cm={LIST_RUNS:`${Sm}list_runs`,GET_RUN:`${Sm}get_run`,STOP_RUN:`${Sm}stop_run`,WAIT:`${Sm}wait`},wm=[`browser__`,fm,`project__`,`asset__`,`agent__`,Sm,`connector__`,`filesystem__`,`image__`,`meeting__`,`memory__`,`sandbox__`,`schedule__`,`skill__`,`site__`,`slides__`,`tool_result__`,mm,vm,`audit_log__`,bm,`ui__`,`web__`,`workflow__`].map(e=>e.slice(0,-2)),Tm=[`updatedAt`,`name`],Em={BUILT_IN:`built_in`,CUSTOM_SOURCE_CODE:`custom_source_code`,CUSTOM_REMOTE_URL:`custom_remote_url`},Dm=[Em.BUILT_IN,Em.CUSTOM_SOURCE_CODE,Em.CUSTOM_REMOTE_URL],Om=I([`pat`,`oauth`,`dcard-dual`,`google-iap`,`credentials`,`mcp-oauth`,`composio`]),km=/^[a-z][a-z0-9-]*$/,Am=[`pat`,`credentials`],jm=N({key:T().regex(km).max(32),label:T().min(1).max(50),description:T().max(200).optional(),placeholder:T().max(100).optional(),required:A()}),Mm=M(jm).max(10).refine(e=>new Set(e.map(e=>e.key)).size===e.length,{message:`config field keys must be unique`}),Nm=/^[\u0020-\u007E]*$/;Jc(T().regex(km).max(32),T().min(1).max(256).regex(Nm,`must be printable ASCII`)),T().trim().regex(Nm,`must be printable ASCII`);const Pm={pat:!1,oauth:!0,"dcard-dual":!0,"google-iap":!0,credentials:!1,"mcp-oauth":!0,composio:!0};function Fm(e){let t=Om.safeParse(e);return t.success&&Pm[t.data]}const Im=I([`pending`,`running`,`failed`]),Lm=I([`pending`,`in_review`,`approved`,`rejected`]),Rm=N({name:T(),isMe:A()}),zm=N({id:T(),name:T(),configured:A(),builtIn:A()}),Bm=N({type:Om,tutorial:T().optional(),configFields:M(jm).optional(),tokenless:A().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:zm.optional().describe(`The OAuth provider, only present for OAuth authorization`)});N({iconId:D(),url:O()});const Vm=N({id:D(),name:T(),description:T(),provider:T().nullable().describe(`The provider of the connector, either EntryDesk (for built-in connectors) or Workspace name`),author:N(Rm.shape).optional().describe(`The author of the connector, not available for built-in connectors`),connected:A().describe(`Whether the user has connected the connector to the workspace`),iconUrl:T().optional().describe(`The URL of the connector icon`),team:N({id:D(),name:T()}).optional().describe(`The team this connector is published to, only present when createdBy is team`),hasPermission:A().describe(`Whether the user has permission to use the connector`),added:A().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:A().describe(`Whether the workspace has a workspace token configured for this connector`),tokenMode:I([`personal`,`workspace`]).describe(`Token mode: personal (each member connects) or workspace (admin provides shared token)`),reviewStatus:Lm.optional().describe(`The review status of the connector, not available for built-in connectors`),authorization:Bm.optional(),versionNumber:k().int().nullable(),myRole:cm,createdAt:R(),updatedAt:R()});N({connectors:M(Vm),nextKey:T().optional()}),N({connectors:M(Vm.extend({preferredForWorkItems:A().optional(),workItemCapabilities:N({read:A(),create:A(),update:A()})})),nextKey:T().optional()}),zd.extend({reviewStatus:Lm.optional().describe(`Filter connectors by review status (only applies to custom connectors)`),includeNotAdded:P([L(`true`).transform(()=>!0),L(`false`).transform(()=>!1),A()]).optional().describe(`Include connectors that have not been added to the workspace (no workspace_connectors record)`),type:I(Dm).optional().describe(`Filter connectors by type`),sortBy:I(Tm).optional()}).refine(e=>!(e.type===Em.BUILT_IN&&e.reviewStatus),{message:`reviewStatus parameter is not applicable when type is built_in`,path:[`reviewStatus`]}),zd.extend({createdBy:I([`workspace`,`team`,`me`]).optional(),teamId:D().optional(),connectionStatus:I([`all`,`connected`]).optional().default(`all`).describe(`Filter connectors by connection status`),strict:P([L(`true`).transform(()=>!0),L(`false`).transform(()=>!1),A()]).optional().default(!0).describe(`Whether to filter out connectors that the user does not have permission to use`),search:T().trim().max(200).optional().describe(`Search connectors by name using SQL LIKE query`),connectorIds:P([D(),M(D())]).optional().transform(e=>{if(e!==void 0)return Array.isArray(e)?e:[e]}).describe(`Filter connectors by specific IDs`),sortBy:I(Tm).optional(),editableFirst:wl().optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}).refine(...Vd);const Hm=N({id:T(),name:T()}),Um=N({id:D()}).nullable();N({connectors:M(N({id:D(),type:I(Dm),name:T(),description:T(),provider:T().describe(`The provider of the connector, either EntryDesk (for built-in connectors) or Workspace name`),iconUrl:T().optional().describe(`The URL of the connector icon`),author:Rm.optional().describe(`The author of the connector, not available for built-in connectors`),roles:M(Hm).describe(`The roles of the user who has access to the connector`),executionStatus:Im.optional().describe(`The execution status of the connector, not available for built-in connectors`),reviewStatus:Lm.optional().describe(`The review status of the connector, not available for built-in connectors`),hasWorkspaceToken:A().describe(`Whether the workspace has a workspace token configured for this connector`),tokenMode:I([`personal`,`workspace`]).describe(`Token mode: personal (each member connects) or workspace (admin provides shared token)`),added:A().describe(`Whether the connector has been added to the workspace`),toolNamespace:T().optional().describe(`The namespace of the tool name, available when the connector is added to the workspace`),toolPrefix:T().optional().describe(`Deprecated alias for toolNamespace`),defaultToolNamespace:T().optional().describe(`The tool namespace a built-in connector binds to when added, not available for other connectors`),authorization:Bm.optional().describe(`The authorization of the connector.`),publish:Um,myRole:cm,createdAt:R(),updatedAt:R()})),nextKey:T().optional()});const Wm=I([`pat`,`oauth`,`dcard-dual`,`google-iap`,`credentials`,`mcp-oauth`]),Gm={pat:!1,oauth:!0,"dcard-dual":!0,"google-iap":!0,credentials:!1,"mcp-oauth":!1};function Km(e){let t=Wm.safeParse(e);return t.success&&Gm[t.data]}const qm=N({type:Wm,provider:T().optional(),scopes:M(T()).optional(),tutorial:T().optional(),configFields:M(jm).optional()}),Jm=N({type:Wm,provider:T().optional(),scopes:M(T()).optional(),tutorial:O().max(100).optional(),configFields:Mm.optional()}).refine(e=>!Km(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&&!Am.some(t=>t===e.type)),{message:`configFields is only allowed for PAT and CREDENTIALS authorization types`,path:[`configFields`]}),Ym=/^[A-Za-z0-9\s]+$/u,Xm=[`empty`,`too_long`,`invalid_characters`,`consecutive_spaces`,`untrimmed`],Zm={empty:e=>e.length===0,too_long:e=>e.length>50,invalid_characters:e=>!Ym.test(e),consecutive_spaces:e=>/\s{2,}/u.test(e),untrimmed:e=>e.trim()!==e},Qm={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 $m(e){return Xm.find(t=>Zm[t](e))}const eh=/^[a-z][a-z0-9_-]*$/u,th=[`empty`,`too_long`,`invalid_characters`,`consecutive_underscores`,`trailing_underscore`,`reserved`],nh={empty:e=>e.length===0,too_long:e=>e.length>32,invalid_characters:e=>!eh.test(e),consecutive_underscores:e=>e.includes(`__`),trailing_underscore:e=>e.endsWith(`_`),reserved:e=>wm.includes(e)},rh={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 ih(e){return th.find(t=>nh[t](e))}function ah(){return T().superRefine((e,t)=>{let n=ih(e);n&&t.addIssue({code:`custom`,message:`Tool namespace "${e}" ${rh[n]}`})})}function oh(e){let t=e.toLowerCase().replaceAll(/[^a-z0-9]+/gu,`_`).replace(/^_/u,``).replace(/_$/u,``);return/^[0-9]/u.test(t)?`c_${t}`:t}const sh=I([`streamable_http`,`sse`]);N({id:D(),type:L(Em.CUSTOM_REMOTE_URL),name:T(),description:T(),url:T(),transport:sh,toolNamespace:T(),toolPrefix:T().describe(`Deprecated alias for toolNamespace`),author:Rm.optional(),authorization:qm.optional(),executionStatus:Im.optional(),reviewStatus:Lm.optional(),createdAt:R(),updatedAt:R(),iconId:D().nullable().optional(),iconUrl:T().optional(),publish:N({id:D()}).nullable(),myRole:cm}),N({id:D(),type:L(Em.CUSTOM_REMOTE_URL),name:T(),description:T(),transport:sh,url:T(),executionStatus:Im,reviewStatus:Lm,toolNamespace:T(),toolPrefix:T().describe(`Deprecated alias for toolNamespace`),createdAt:R(),updatedAt:R()});function ch(e){return Tl(e=>{if(!Te(e))return e;let{toolPrefix:t,...n}=e;return t===void 0||`toolNamespace`in n?e:{...n,toolNamespace:t}},e)}ch(N({type:L(Em.CUSTOM_REMOTE_URL),name:T().min(1),description:T().min(1),transport:sh,url:O(),toolNamespace:ah().describe(`The tool namespace for the connector. Also accepted as toolPrefix.`),authorization:Jm.optional().nullable(),iconId:D().nullable().optional()}));const lh=I([tm.CONNECTOR,tm.AGENT,tm.SKILL]),uh=[em.PENDING,em.APPROVED,em.REJECTED,em.PENDING_UPDATE],dh=N({id:D(),name:T()}),fh=N({id:D(),type:lh,name:T(),description:T().optional(),connectorType:I(Dm).optional(),tokenMode:I([`personal`,`workspace`]).optional(),authorization:Bm.optional(),iconUrl:T().optional(),provider:T().optional()});N({rejectReason:T().trim().max(500).optional()}),N({search:T().trim().max(200).optional(),status:P([I(uh),M(I(uh)).min(1)]).optional(),resourceType:lh.optional(),limit:z().int().min(1).max(100).default(20),nextKey:T().optional()});const ph=N({id:D(),name:T(),versionNumber:k().int().nullable(),versionId:D().nullable(),publishId:D(),status:I(uh),rejectReason:T().nullable()}),mh=N({workspace:N({published:A(),versionNumber:k().int().nullable(),versionId:D().nullable(),publishId:D().nullable(),status:I(uh).nullable(),rejectReason:T().nullable()}),teams:M(ph)}),hh=N({type:T(),provider:T().optional(),scopes:M(T()).optional(),tutorial:T().optional()}),gh=N({type:L(`connector`),id:D(),publishedVersionId:D().optional(),name:T(),description:T(),iconUrl:T().optional(),toolPrefix:T(),url:T(),transport:T(),authorization:hh.optional()}),_h=N({id:D(),name:T(),hasPermission:A()}),vh=N({id:T(),name:T(),available:A()}),yh=N({previous:$p,current:$p}),bh=N({type:L(`agent`),id:D(),publishedVersionId:D().optional(),name:T(),description:T(),iconUrl:T().optional(),systemPrompt:T(),conversationStarters:M(T()),model:vh,connectors:M(_h),capabilities:Gp,diff:yh.optional(),changeSummary:T().nullable().optional()}),xh=N({id:D(),description:T(),createdBy:N({id:D(),name:T()}),createdAt:R()}),Sh=xh.extend({name:T(),downloadUrl:T(),contentChanged:A()});F(`type`,[gh,bh,N({type:L(`skill`),id:D(),publishedVersionId:D().optional(),name:T(),description:T(),currentVersion:xh,downloadUrl:T(),previousVersion:Sh.optional(),changeSummary:T().nullable().optional()})]);const Ch=[`private`,`review`,`live`,`rejected`],wh=N({private:k().int().nonnegative(),review:k().int().nonnegative(),live:k().int().nonnegative(),rejected:k().int().nonnegative()}),Th=N({id:D(),versionNumber:k().int().positive()}),Eh={page:{one:`p.`,many:`pp.`},slide:{one:`slide`,many:`slides`},row:{one:`row`,many:`rows`}};function Dh(e){let t=[];if(e.sheet!==void 0&&t.push(e.sheet),e.unit!==void 0&&e.start!==void 0&&e.end!==void 0){let n=Eh[e.unit];t.push(e.start===e.end?`${n.one} ${e.start}`:`${n.many} ${e.start}-${e.end}`)}return e.section!==void 0&&t.push(e.section),t.join(`, `)}const Oh=2e3,kh=1e4,Ah=I([`owner`,`member`]),jh=N({id:D(),workspaceId:D(),name:T(),description:T().nullable(),instruction:T().nullable(),createdAt:R(),updatedAt:R()}),Mh=N({userId:D(),role:Ah,name:T(),email:T(),image:T().nullable().optional()}),Nh=N({teamId:D(),name:T(),memberCount:k().int().nonnegative(),role:L(`member`),visibility:I([`visible`,`hidden`]),canExpand:A(),addedAt:R()}),Ph=T().max(kh,`Instruction is too long: the maximum is ${kh} characters.`);N({name:T().trim().min(1).max(255),description:T().max(Oh).nullable().optional(),instruction:Ph.nullable().optional()}).partial();const Fh=N({userId:D(),name:T(),email:T(),image:T().nullable()}),Ih=jh.extend({role:Ah,creator:Fh.nullable(),isShared:A(),hasOtherMembers:A()}),Lh=I([`all`,`mine`,`shared`]),Rh=I([`lastActivityAt`,`createdAt`]);N({limit:z().int().min(1).max(100).default(50),nextKey:T().optional(),filter:Lh.default(`all`),search:T().trim().max(200).optional(),sortBy:Rh.default(`lastActivityAt`),order:I(Hd).default(`desc`)}),N({projects:M(Ih),nextKey:T().optional()}),jh.extend({role:Ah,creator:Fh.nullable(),isShared:A(),members:M(Mh),teams:M(Nh),taskCount:k().int().nonnegative(),sourceCount:k().int().nonnegative(),assetCount:k().int().nonnegative(),assetVersionCount:k().int().nonnegative()}),N({userId:D()}),N({teamId:D()}),N({members:M(Mh)});const zh=N({teamId:D(),name:T(),memberCount:k().int().nonnegative(),visibility:I([`visible`,`hidden`])});N({q:T().trim().max(100).optional()}),N({teams:M(zh)}),N({role:Ah});const Bh=D().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.`);N({projectId:D().nullable(),confirmAssetSharing:A().optional(),expectedProjectId:Bh}),N({taskId:D(),projectId:D().nullable()}),N({expectedProjectId:Bh});const Vh=N({id:D(),name:T()});N({projects:M(N({id:D(),name:T(),description:T().nullable(),addedAt:R(),addedBy:N({id:D(),name:T()}).nullable()})),nextKey:T().optional()});const Hh=[`personal`,`service`],Uh=`managed`,Wh=[...Hh,Uh];function Gh(e){return e===Uh?`service`:e}function Kh(e){return e!==void 0&&Gh(e)===`service`}const qh=I(Wh).transform(Gh),Jh=I(Wh),Yh={ALWAYS_ALLOW:`always_allow`,NEED_APPROVAL:`need_approval`,BLOCK:`block`},Xh=I([Yh.ALWAYS_ALLOW,Yh.NEED_APPROVAL,Yh.BLOCK]),Zh=N({toolName:T().trim().min(1).max(200),policy:Xh});M(Zh).refine(e=>{let t=e.map(e=>e.toolName);return new Set(t).size===t.length},{message:`Duplicate toolName in toolPolicies`});const Qh={[Yh.ALWAYS_ALLOW]:0,[Yh.NEED_APPROVAL]:1,[Yh.BLOCK]:2};function $h(...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||Qh[r]>Qh[n])&&t.set(e,r)}return t}const eg=N({hour:k().int().min(0).max(23),minute:k().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.`),tg=T().trim().min(1).max(2e3),ng=N({enabled:A().optional(),criteria:tg.optional(),extracted:N({outcomes:M(tg).min(1).max(20),extractedAt:R(),inputFingerprint:T().regex(/^[a-f0-9]{64}$/u).optional(),extractorVersion:k().int().positive().optional()}).optional()});N({completed:L(!1),reason:tg,unmet:M(tg).max(20),criteriaSource:I([`inferred`,`explicit`,`extracted`]),analysis:T().trim().min(1).max(1e3).optional(),escalated:A().optional(),reviewSkipped:A().optional()});const rg=e=>e.hour*60+e.minute,ig=M(N({start:eg,end:eg}).refine(e=>rg(e.end)>rg(e.start),{message:`Run window end must be after start (no cross-midnight)`,path:[`end`]})).min(1).max(5),ag=M(eg).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(),og=M(k().int().min(0).max(6)).min(1),sg=F(`type`,[N({type:L(`no-repeat`)}),N({type:L(`repeat`),interval:F(`unit`,[N({unit:L(`minutes`),every:k().int().min(15,`Minimum interval is 15 minutes`).max(1440,`Maximum interval is 1440 minutes (24 hours)`),dailyWindows:ig.optional(),daysOfWeek:og.optional()}),N({unit:L(`hours`),every:k().int().min(1),minute:k().int().min(0).max(59),dailyWindows:ig.optional(),daysOfWeek:og.optional()}),N({unit:L(`days`),every:k().int().min(1),time:eg,times:ag,daysOfWeek:og.optional()}),N({unit:L(`weeks`),every:k().int().min(1),daysOfWeek:M(k().int().min(0).max(6)).min(1),time:eg}),N({unit:L(`months`),every:k().int().min(1),daysOfMonth:M(k().int().min(1).max(31)),lastDayOfMonth:A(),time:eg})])})]).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=>rg(e.end)-rg(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)=>rg(e.start)-rg(t.start));for(let e=1;e<a.length;e++){let n=a[e],r=a[e-1];if(n&&r&&rg(n.start)<rg(r.end)){t.addIssue({code:`custom`,message:`Run windows must not overlap`,path:[`interval`,`dailyWindows`]});break}}}),cg=N({id:D(),name:T(),kind:Jh.optional(),iconUrl:T().optional(),deletedAt:R().optional(),specifiedVersion:Th.nullable().optional(),updatableToVersion:Th.nullable().optional()});D().nullable().optional();const lg=N({id:T(),name:T()}),ug=N({id:D(),title:T(),read:A(),deletedAt:R().nullable()}),dg=N({id:D(),name:T(),isWorkspaceMember:A()}),fg=N({id:D(),name:T(),prompt:T(),user:dg.optional(),agent:cg.optional(),model:lg.optional(),startsAt:R(),isActive:A(),unreadTasks:k().int(),nextRunAt:R().nullable(),utcOffset:T(),config:xl().meta({type:`object`}),judge:ng.nullish(),toolApprovalMode:Rf.nullish(),approvalHandling:Vf.nullish(),holidayCalendarIds:M(D()).nullish(),recentTasks:M(ug).optional(),createdAt:R(),updatedAt:R()});fg.extend({toolPolicies:M(Zh)}),N({schedules:M(fg),nextKey:T().optional()}),zd.extend({search:T().trim().max(200).optional(),sortBy:I([`nextRunAt`,`name`]).optional(),isActive:wl().optional(),agentId:D().optional()});const pg=I([`queued`,`running`,`completed`,`failed`,`skipped`]),mg=N({type:T().optional().transform(e=>e===`runtime`||e===`judge`?e:void 0),message:T(),code:T().optional()}),hg=N({id:D(),name:T()}),gg=I([`approval`,`client`]);N({runs:M(N({id:D(),scheduledAt:R(),agent:cg.optional(),model:lg.optional(),task:ug.nullable(),error:mg.nullish(),status:pg.optional(),skipReason:T().nullish(),resolvedAt:R().nullish(),resolvedBy:hg.nullish(),waitingReason:gg.nullish()})),nextKey:T().optional()}),N({resolvedAt:R(),resolvedBy:hg.nullable()});const _g=I([V.SELF,`project`,V.WORKSPACE,V.PUBLIC]);V.SELF,V.WORKSPACE,V.PUBLIC,N({shareId:D(),assetId:D()}),N({data:ru}),N({visibility:_g.optional(),expectedProjectId:Bh}),N({id:D(),visibility:_g,createdAt:R(),updatedAt:R()});const vg=N({userId:D(),name:T(),email:T(),image:T().nullable().optional(),grantedAt:R()}),yg=N({teamId:D(),name:T(),memberCount:k().int().nonnegative(),grantedAt:R()});N({data:M(vg),teams:M(yg)}),N({data:vg}),N({data:yg});const bg=[`queued`,`running`,`waiting`],xg=[`approval`,`background`,`client`],Sg=N({taskRunId:D(),streamId:D().nullable(),status:I(bg),waitingReason:I(xg).nullable(),pendingToolCalls:M(N({toolCallId:T(),toolName:T(),state:T()})).optional()});N({code:L(`task_busy`),data:Sg}),N({message:N({id:T().optional(),role:T(),parts:M(N({type:T(),text:T().optional()}))}).optional(),fileIds:M(T()).optional()}),I([`step_limit`,`usage_exhausted`,`output_limit`,`retry_limit`,`client_unresponsive`]),I([`running`,`completed`,`failed`]);const Cg=N({id:D(),name:T(),iconId:D().optional(),iconUrl:T().optional(),deletedAt:R().optional(),specifiedVersion:Th.nullable().optional()}),wg=[`chat`,`chatbot`,`schedule`,`agent_api`],Tg=I(wg);N({tasks:M(N({editAssetId:D().optional(),id:D(),title:T(),read:A(),toolApprovalMode:Rf.optional(),userId:D(),workspaceId:D(),source:Tg,waitingReason:I(xg).optional(),share:N({id:D(),visibility:_g}).optional(),isSharedWithOthers:A().optional(),isOwn:A().optional(),agent:Cg.optional(),schedule:N({id:D(),name:T()}).optional(),scheduleRun:N({runId:D(),status:pg,error:mg.nullish(),resolvedAt:R().nullable(),resolvedBy:hg.nullish(),canResolve:A()}).optional(),project:Vh.nullable().optional(),containsSensitiveContent:A().optional(),createdAt:R(),updatedAt:R()})),nextKey:T().optional()}),N({id:D(),title:T(),visibility:_g,workspace:N({id:D()}),agent:Cg.optional(),project:Vh.optional(),createdAt:R()}),N({results:M(N({id:D(),title:T(),titleHighlight:T().nullable(),contentSnippet:T().nullable(),project:Vh.nullable().optional(),createdAt:R(),updatedAt:R()})),nextKey:T().optional()});const Eg=[`enabled`,`disabled`];N({userId:D()}),N({status:I(Eg)}),N({monthlyCapUsd:k().positive().nullable()}),N({items:M(N({connectorId:D(),name:T(),authorizedBy:N({id:D(),name:T(),disabled:A()}),updatedAt:R()}))});const Dg=wg,Og=[`completed`,`failed`,`running`];zd.extend({limit:z().int().min(1).max(100).default(30),source:I(Dg).optional(),status:I(Og).optional(),initiatorId:D().optional(),from:B.optional(),to:B.optional(),q:T().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`]}),N({items:M(N({taskId:D(),title:T(),source:I(Dg),initiator:N({userId:D().nullable(),name:T(),unlinked:A()}).nullable(),status:I(Og),actionCount:k().int(),cost:k(),createdAt:R()})),nextKey:T().nullable()});const kg=N({conversationCount:k().int(),actionCount:k().int(),cost:k(),errorRate:k()});N({today:kg,week:kg,monthCost:k(),monthlyCapUsd:k().nullable()}),N({items:M(N({id:D(),name:T(),missingConnectorNames:M(T()),unselectedConnectorNames:M(T()),unconnectedConnectorNames:M(T()),disabled:A()})),nextKey:T().nullable()});const Ag=[`connections`,`skills`,`sharing`,`calendars`,`delegation`,`schedules`,`channels`,`apiKeys`,`monthlyCap`];N({items:M(N({id:I(Ag),status:I([`done`,`todo`,`optional`]),canManage:A()}))}),pm.EXPORT_DIAGNOSTICS;const jg={[q.SANDBOX]:`Sandbox`,[q.MULTITASKING]:`Multitasking`,[q.HISTORY]:`History`,[q.CREATION]:`Content Creation`,[q.PROJECT]:`Project Knowledge`,[q.WEB_SEARCH]:`Web Search`,[q.SCHEDULE]:`Schedules`,[q.AGENTS_AND_SKILLS]:`Agents & Skills`,[q.AUDIT_LOG]:`Audit Logs`};function Mg(e){return jg[e]??e}N({id:D(),versionNumber:k().int().positive()}).nullable();const Ng=10*1024*1024;N({iconId:D(),url:O()});const Pg=[`updatedAt`,`usedAt`,`name`];N({search:T().trim().max(200).optional(),nextKey:T().optional(),limit:z().int().min(1).max(100).default(20),sortBy:I(Pg).optional()});const Fg=N({id:D(),name:T(),isMe:A()}),Ig=N({id:D()}).nullable();N({agents:M(N({id:D(),name:T(),description:T(),kind:Jh,isBuiltIn:A().optional(),serviceAgentStatus:I(Eg).optional(),provider:T(),author:Fg,iconUrl:T().optional(),publish:Ig,myRole:cm,createdAt:R(),updatedAt:R()})),nextKey:T().optional()}),N({kind:qh.optional(),search:T().trim().max(200).optional(),status:I(Ch).optional(),nextKey:T().optional(),limit:z().int().min(1).max(100).default(20),sortBy:I(Pg).optional()}),N({agents:M(N({id:D(),name:T(),description:T(),kind:Jh,isBuiltIn:A().optional(),serviceAgentStatus:I(Eg).optional(),iconUrl:T().optional(),hasUnpublishedChanges:A(),latestVersionNumber:k().int().nullable(),publishedTo:mh.optional(),myRole:cm,createdAt:R(),updatedAt:R()})),nextKey:T().optional(),totalCount:k().int().nonnegative(),statusCounts:wh}),N({id:D(),name:T(),deletedAt:R().optional()});const Lg=N({id:T(),name:T(),available:A(),replacement:N({id:T(),name:T()}).optional()}),Rg=N({id:D(),name:T(),hasPermission:A(),added:A()}),zg=N({name:T(),isMe:A()}),Bg=N({sponsor:N({id:D(),name:T(),image:T().nullable().optional()}),monthlyCapUsd:k().nullable(),skills:M(N({id:D(),name:T()})),delegatableAgents:M(N({id:D(),name:T()})),apiRateLimit:k().int().nullable()});N({id:D(),name:T(),description:T(),kind:Jh,isBuiltIn:A().optional(),serviceAgentStatus:I(Eg).optional(),serviceAgent:Bg.optional(),model:Lg.optional(),systemPrompt:T().optional(),conversationStarters:M(T()),connectors:M(Rg).optional(),capabilities:Gp.optional(),provider:T(),author:zg,iconId:D().optional(),iconUrl:T().optional(),versionNumber:k().int().nullable(),selectableVersions:M(Th).optional(),latestVersionNumber:k().int().nullable().optional(),publishedTo:mh.optional(),myRole:cm,createdAt:R(),updatedAt:R()}),N({agents:M(N({id:D(),isBuiltIn:A().optional(),name:T(),description:T(),iconUrl:T().optional(),versionNumber:k().int().nullable(),createdAt:R(),updatedAt:R()}))}),N({agents:M(N({id:D(),name:T(),description:T(),kind:Jh,isBuiltIn:A().optional(),serviceAgentStatus:I(Eg).optional(),conversationStarters:M(T()),provider:T().nullable(),author:zg,publishedTo:mh.optional(),team:N({id:D(),name:T()}).optional(),iconUrl:T().optional(),versionNumber:k().int().nullable(),myRole:cm,createdAt:R(),updatedAt:R()})),nextKey:T().optional()});const Vg=I([`true`,`false`]).transform(e=>e===`true`);zd.extend({createdBy:I([`workspace`,`team`,`me`]).optional(),kind:qh.optional(),teamId:D().optional(),search:T().trim().max(200).optional(),executableOnly:Vg.optional(),sortBy:I(Pg).optional(),editableFirst:wl().optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}).refine(...Vd),N({workspaceId:D(),agentId:D()}),N({limit:z().int().min(1).max(100).default(20),offset:z().int().nonnegative().default(0)});const Hg=N({taskId:D(),title:T(),source:Tg,amountUsd:k().nonnegative().nullable(),amountCredits:k().nonnegative().nullable(),usageCount:k().int().nonnegative(),lastUsageAt:R(),createdAt:R(),updatedAt:R()}),Ug=N({toolName:T(),input:T().optional(),output:T().optional()}),Wg=N({role:I([`user`,`assistant`]),texts:M(T()),toolCalls:M(Ug).optional()}),Gg=N({taskId:D(),title:T(),amountUsd:k().nonnegative().nullable(),amountCredits:k().nonnegative().nullable(),promptTexts:M(T()),messages:M(Wg).optional()});N({agentName:T().optional(),totalAmountUsd:k().nonnegative().nullable(),totalAmountCredits:k().nonnegative().nullable(),runCount:k().int().nonnegative(),total:k().int().nonnegative(),runs:M(Hg),promptSamples:M(Gg).optional(),promptSamplesTruncated:A().optional()});const Kg=N({agentId:D(),agentName:T(),amountUsd:k().nonnegative().nullable(),amountCredits:k().nonnegative().nullable(),runCount:k().int().nonnegative(),usageCount:k().int().nonnegative(),lastUsageAt:R()});N({periodDays:k().int().positive(),since:R(),totalAmountUsd:k().nonnegative().nullable(),totalAmountCredits:k().nonnegative().nullable(),totalAgents:k().int().nonnegative(),agents:M(Kg)});const qg=N({p50AmountUsdPerRun:k().nonnegative().nullable(),p50AmountCreditsPerRun:k().nonnegative().nullable(),percentile:k().min(0).max(100).nullable(),workspaceAgentCount:k().int().nonnegative()}),Jg=N({avgInputTokensPerRun:k().nonnegative(),avgOutputTokensPerRun:k().nonnegative(),avgCachedInputTokensPerRun:k().nonnegative(),avgTotalTokensPerRun:k().nonnegative(),inputToOutputRatio:k().nonnegative(),cachedInputRatio:k().min(0).max(1),avgLlmCallsPerRun:k().nonnegative()}),Yg=N({usageType:T(),amountUsd:k().nonnegative().nullable(),amountCredits:k().nonnegative().nullable()});N({agentId:D(),agentName:T(),modelId:T(),periodDays:k().int().positive(),since:R(),runCount:k().int().nonnegative(),totalAmountUsd:k().nonnegative().nullable(),totalAmountCredits:k().nonnegative().nullable(),avgAmountUsdPerRun:k().nonnegative().nullable(),avgAmountCreditsPerRun:k().nonnegative().nullable(),scheduleRunCount:k().int().nonnegative(),manualRunCount:k().int().nonnegative(),runsPerDay:k().nonnegative(),benchmark:qg,tokenProfile:Jg.nullable(),costByType:M(Yg),llmCostRatio:k().min(0).max(1).nullable(),highCostPerRun:A(),highFrequency:A(),systemPrompt:T(),systemPromptLength:k().int().nonnegative()}),N({capabilities:M(I(Wp)),workspaceCapabilities:M(I(Up))});const Xg=[`done`,`todo`,`optional`,`blocked`],Zg=[`authorization_required`,`connector_unavailable`,`authorizer_unavailable`,`schedule_inactive`,`calendar_authorization_required`,`setup_required`,`permission_required`];N({workspaceId:D(),agentId:D()});const Qg=F(`type`,[N({type:L(`authorize_connector`),connectorId:D(),credentialScope:I([`user`,`agent`]),method:I([`oauth`,`form`])}),N({type:L(`open_schedule`),scheduleId:D()}),N({type:L(`open_agent_settings`),section:I(Ag).exclude([`schedules`])})]),$g={id:T().min(1).max(100),status:I(Xg),reason:I(Zg).nullable(),canManage:A(),action:Qg.nullable()},e_=F(`kind`,[N({...$g,kind:L(`connector`),connector:N({id:D(),name:T().nullable(),toolNamespace:T().nullable(),authorizationType:Om.nullable(),credentialScope:I([`user`,`agent`]),connected:A()})}),N({...$g,kind:L(`schedule`),schedule:N({id:D(),name:T(),isActive:A(),nextRunAt:R().nullable(),target:N({agentId:D(),executionIdentity:I([`user`,`service-agent`])})})}),N({...$g,kind:L(`setup`),setupItemId:I(Ag).exclude([`connections`,`schedules`])})]);N({agent:N({id:D(),name:T(),kind:Jh}),items:M(e_),summary:N({total:k().int().nonnegative(),done:k().int().nonnegative(),todo:k().int().nonnegative(),optional:k().int().nonnegative(),blocked:k().int().nonnegative()}),complete:A(),checkedAt:R()}),N({agentId:D().describe(`Target agent ID after an upgrade or copy.`)}),N({agentId:D().describe(`Target agent ID after an upgrade or copy.`),itemId:T().min(1).max(100).describe(`Item ID returned by agent__get_transition: connector:<UUID>, schedule:<UUID>, or setup:<setup item ID>.`)}),N({intent:L(`agent_transition_action`),agentId:D(),item:e_}),N({applicationWorkspaceId:T().min(1).max(200),name:ip});const t_=N({id:D(),applicationWorkspaceId:T(),name:T(),createdAt:R()});N({tenant:t_,created:A()}),N({tenant:t_});const n_=[`single_select`,`multi_select`],r_=N({label:T().min(1).max(200).describe(`Display text for this option`),description:T().max(500).optional().describe(`Optional explanation of what this option means`)});N({questions:M(N({question:T().min(1).max(500).describe(`The question to ask the user`),type:I(n_).describe(`single_select: user picks one option. multi_select: user picks one or more options.`),options:M(r_).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`)}),N({answers:M(N({questionIndex:k().int().min(0).describe(`Index of the question answered`),type:I(n_).describe(`Question type`),selectedOptions:M(T()).describe(`Labels of selected options (empty if skipped)`),customText:T().optional().describe(`Free text if user chose "Something else"`),skipped:A().describe(`Whether the user skipped this question`)})).describe(`Answers for each question`),dismissed:A().describe(`True if the user dismissed the entire wizard without answering`)});const i_=I([`all`,`agent`,`general-task`,`connector`,`skill`,`system`]),a_=I([`workspace_owner`,`agent_owner`]),o_=I([`success`,`failure`]);I(Hh);const s_=I([`manual`,`scheduled`]);N({workspaceId:D()}),N({...N({category:i_.optional(),targetId:T().trim().min(1).optional(),agentType:qh.optional(),executionSource:s_.optional(),result:o_.optional(),actorId:D().optional(),search:T().trim().max(200).optional()}).shape,category:i_.optional().default(`all`),snapshot:T().min(1).max(2048).optional(),beforeOccurredAt:B.optional(),beforeId:T().min(1).optional(),limit:z().int().min(1).max(100).default(50),offset:z().int().min(0).default(0)}).refine(e=>!!e.beforeOccurredAt==!!e.beforeId,{message:`beforeOccurredAt and beforeId must be provided together`,path:[`beforeOccurredAt`]});const c_=N({id:D(),name:T(),email:T()}),l_=N({type:T(),id:T(),name:T(),agentId:D().optional()}),u_=F(`type`,[N({type:L(`role`),from:T().optional(),to:T()})]),d_=N({type:I([`user`,`team`,`email`]),id:T().optional(),name:T(),email:T().optional(),role:T().optional()}),f_=N({id:T(),occurredAt:R(),actor:c_.nullable(),event:T(),category:i_.exclude([`all`]),result:o_,resource:l_,change:u_.optional(),subject:d_.optional(),changedFields:M(T()).optional(),detail:T().optional(),taskUrl:T().optional()}),p_=N({id:T(),name:T(),category:i_.exclude([`all`])}),m_=N({all:k().int().nonnegative(),agent:k().int().nonnegative(),"general-task":k().int().nonnegative(),connector:k().int().nonnegative(),skill:k().int().nonnegative(),system:k().int().nonnegative()});N({items:M(f_),asOf:R(),snapshot:T().min(1),total:k().int().nonnegative(),scope:a_,counts:m_,targets:M(p_),actors:M(c_),retentionDays:k().int().positive()}),N({items:M(f_),asOf:R(),maxRows:k().int().positive()}),N({canAccess:A(),scope:a_.nullable()});const h_=I([`chat`,`image`]),g_=T().refine(e=>{if(e===``||/\s/.test(e)||/(^|\D)_|_(\D|$)/.test(e))return!1;let t=e.replace(/_/g,``),n=Number(t);return!Number.isNaN(n)&&Number.isFinite(n)&&n>=0},{message:`Invalid decimal string`}),__=N({input:T(),output:T(),cachedInput:T().optional(),cacheCreation:T().optional()}),v_=N({input:g_,output:g_,cachedInput:g_.optional(),cacheCreation:g_.optional()}),y_=N({effort:I(qd)}),b_=N({modelId:T(),deploymentName:T(),workspaceId:T().nullable(),kind:h_,name:T(),description:T(),pricing:__,reasoning:y_.nullable(),createdAt:R(),updatedAt:R()});N({deployments:M(b_),nextKey:T().optional()}),N({deploymentName:T().min(1),name:T().min(1),description:T().default(``),pricing:v_,reasoning:y_.nullable().default(null)}),N({name:T().min(1).optional(),description:T().optional(),pricing:v_.optional(),reasoning:y_.nullable().optional()}),N({deploymentName:T().min(1),kind:h_,name:T().min(1),description:T().default(``),pricing:v_,reasoning:y_.nullable().default(null)}),N({name:T().min(1).optional(),description:T().optional(),kind:h_.optional(),pricing:v_.optional(),reasoning:y_.nullable().optional()}),N({deploymentName:T().min(1)}),N({deployments:M(b_)}),N({workspaceId:D()}),N({amountUsd:k().positive().max(1e4)}),N({checkoutUrl:O()}),N({id:D(),workspaceId:D(),amountUsd:T(),purchasedBy:D().nullable(),stripeCheckoutSessionId:T(),stripePaymentIntentId:T().nullable(),isAutoReload:A(),createdAt:R()}),N({workspaceId:D()}),N({checkoutUrl:O()}),I([`incomplete`,`incomplete_expired`,`trialing`,`active`,`past_due`,`canceled`,`unpaid`,`paused`]);const x_=I([`draft`,`open`,`paid`,`uncollectible`,`void`]);I([`upgrade`,`downgrade`,`invite_accept`,`member_join`]),I([`pending`,`processing`,`processed`,`failed`]),I([`seat_change`,`extra_usage_purchase`]),I([`pending`,`processing`,`requires_action`,`succeeded`,`failed`,`expired`,`superseded`]),I([`pending`,`applied`,`failed`,`canceled`]);const S_=I([`subscription`,`extra_usage`]),C_=N({id:D(),type:S_,status:x_,totalUsd:k().nonnegative(),billingDate:R(),hostedInvoiceUrl:O().nullable()});N({workspaceId:D()}),N({limit:z().int().min(1).max(100).default(20),nextKey:T().optional()}),N({invoices:M(C_),nextKey:T().optional()}),N({workspaceId:D()});const w_=N({startAt:R(),endAt:R()}),T_=N({cancelAtPeriodEnd:A(),canceledAt:R().nullable()}),E_=N({reason:I([`invoice_payment_failed`,`checkout_incomplete`,`subscription_unpaid`,`subscription_paused`,`unsupported_state`]),startedAt:R().nullable(),retryEndsAt:R().nullable(),stripeInvoiceId:T().min(1).nullable(),hostedInvoiceUrl:O().nullable()});N({lifecycle:F(`kind`,[N({kind:L(`default`),period:jc(),cancellation:jc(),paymentIssue:jc()}),N({kind:L(`active`),period:w_,cancellation:T_,paymentIssue:jc()}),N({kind:L(`payment_required`),period:w_.nullable(),cancellation:jc(),paymentIssue:E_}),N({kind:L(`canceled`),period:jc(),cancellation:T_,paymentIssue:jc()}),N({kind:L(`unavailable`),period:w_.nullable(),cancellation:jc(),paymentIssue:E_})]),subscription:N({planName:T().min(1),estimatedMonthlyChargeUsd:k().nonnegative(),nextInvoiceDueAt:R().nullable()}).nullable(),seats:N({purchased:U,granted:U,assigned:U,available:U,totalPurchased:k().int().nonnegative(),totalGranted:k().int().nonnegative(),totalAssigned:k().int().nonnegative(),totalAvailable:k().int().nonnegative()}),extraUsage:Sf.extend({currentPurchasedUsd:k().nonnegative()})}),N({workspaceId:D()}),N({portalUrl:O()}),N({workspaceId:D(),userId:D()}),N({seatType:hf}),N({pro:k().int(),premium:k().int()});const D_=N({lineItems:M(N({seatType:gf,quantity:k().int(),amountUsd:T()})),subtotalUsd:T(),taxUsd:T(),totalUsd:T()}),O_=I([`seat_pool_invariant`,`subscription_canceling`,`payment_required`,`unsupported_billing_state`]);N({workspaceId:D()});const k_=N({targetPurchasedSeats:U,seatAssignment:N({userId:D(),seatType:gf}).optional()});F(`outcome`,[N({outcome:L(`unchanged`),quoteHash:T().min(1),targetPurchasedSeats:U,nextMonthlyAmountUsd:T()}),N({outcome:L(`immediate`),quoteHash:T().min(1),targetPurchasedSeats:U,nextMonthlyAmountUsd:T(),dueToday:D_}),N({outcome:L(`scheduled`),quoteHash:T().min(1),targetPurchasedSeats:U,nextMonthlyAmountUsd:T(),dueToday:D_,effectiveAt:R()}),N({outcome:L(`split`),quoteHash:T().min(1),immediatePurchasedSeats:U,targetPurchasedSeats:U,nextMonthlyAmountUsd:T(),dueToday:D_,effectiveAt:R()}),N({outcome:L(`blocked`),reason:O_})]),N({workspaceId:D()}),k_.extend({expectedQuoteHash:T().min(1)}),F(`kind`,[N({kind:L(`completed`),operationId:D().nullable()}),N({kind:L(`processing`),operationId:D()}),N({kind:L(`redirect`),operationId:D().nullable(),url:O()})]);const A_=I([`saas`,`on-premises`]),j_=I([`five_hour`,`weekly`,`monthly_budget`,`extra_usage_pool`,`agent_monthly_cap`,`application_monthly_cap`]),M_=I([`refused`,`truncated`,`extra_usage`]);function N_(e){try{let t=new Intl.DateTimeFormat(`en-US`,{timeZone:e}).resolvedOptions().timeZone;return/^[+-]/u.test(t)?null:t}catch{return null}}N({timeZone:T().trim().min(1).max(64).transform((e,t)=>{let n=N_(e);return n===null?(t.addIssue({code:`custom`,message:`Unsupported time zone`}),Pt):n})});const J=k().int(),Y=k().int().nonnegative(),P_=k().int().nonnegative(),F_=N({id:T(),name:T(),email:T(),image:T().nullable(),role:T().nullable(),teamIds:M(T()),isMember:A(),joinedDay:J,removedDay:J.nullable(),seatType:hf.nullable(),seatChanges:M(Kc([J,hf,hf]).describe(`[day, from, to]`)),lastLoginDay:J.nullable(),firstLoginDay:J.nullable(),firstActionDay:J.nullable(),lastActionBeforeWindowDay:J.nullable()}),I_=N({id:T(),name:T(),ownerId:T().nullable(),origin:I([`own`,`marketplace`,`service`]),createdDay:J,deleted:A(),events:M(Kc([J,I([`release`,`install`]),k().int()]).describe(`[day, kind, versionNumber]`))}),L_=N({id:T(),kind:I([`schedule`,`workflow`]),name:T(),ownerId:T().nullable(),agentId:T().nullable(),connectorIds:M(T()),schedule:sg.nullable(),active:A(),createdDay:J,deleted:A()}),R_=N({id:T(),name:T(),authorId:T().nullable(),scope:F(`kind`,[N({kind:L(`workspace`)}),N({kind:L(`teams`),teamIds:M(T())}),N({kind:L(`private`)})])}),z_=N({email:T(),invitedById:T().nullable(),invitedByName:T().nullable(),sentDay:J,closedDay:J.nullable(),accepted:A()});N({window:N({startDate:El(),days:k().int().positive(),timeZone:T()}),deploymentMode:A_,seatPool:N({pro:Y,premium:Y}).nullable().describe(`Paid seats bought today; null outside SaaS`),teams:M(N({id:T(),name:T()})),members:M(F_),activity:M(Kc([P_,J,Y,Y,Y,Y,Y,Y,Y]).describe(`[member, day, chat, chatbot, manualWorkflowRuns, agentApi, recordings, recordingSeconds, projectTasks]`)),agentApiRuns:M(Kc([P_,J,Y,Y,Y,Y]).describe(`[member, day, runs, failed, cancelled, truncated]`)),agents:M(I_),agentUse:M(Kc([P_,k().int().min(-1),J,Y,Y,Y,Y]).describe(`[member, agent (-1 = no agent), day, tasks, reasked, abandoned, failed]`)),connectors:M(N({id:T(),name:T()})),automations:M(L_),automationDays:M(Kc([P_,J,Y,Y,Y,Y,Y,Y,Y]).describe(`[automation, day, runs, failed, cancelled, truncated, manualRuns, outputs, ownerOpened]`)),skills:M(R_),skillUse:M(Kc([P_,P_,J,Y]).describe(`[member, skill, day, uses]`)),limitHits:M(Kc([P_,J,P([j_,jc()]),M_,Y]).describe(`[member, day, limitKind, outcome, count]`)),invitations:M(z_),memberConnectors:M(Kc([P_,T(),J]).describe(`[member, connectorId, connectedDay]`)),accessTokens:M(N({member:P_,name:T(),lastUsedDay:J.nullable(),expiresDay:J.nullable()}))});const B_=[`2026-10-01`],V_=I(B_).describe(`Payload version, locked when the destination is created. Receivers must ignore unknown fields and enum values.`),H_=N({amount:T().regex(/^-?\d+(\.\d+)?$/).describe(`Decimal string, never a float`),currency:L(`USD`)}).describe(`A monetary amount`),U_=N({id:D(),email:T(),name:T()}).describe(`The workspace member the event is about`),W_=T().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 G_(e,t){return N({id:T().startsWith(`evt_`).describe(`evt_<uuid v7>. Unchanged across retries and resends; receivers deduplicate on it`),type:L(e),apiVersion:V_,occurredAt:R().describe(`When the event happened (ISO 8601), not when it was sent`),workspace:N({id:D(),name:T()}),data:t})}const K_={limitReached:`budget.limit_reached`,thresholdReached:`budget.threshold_reached`},q_=[`workspace`,`member_override`];M(k().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 J_=I(q_).describe(`Where the effective budget comes from: the workspace budget or the member override`),Y_=N({member:U_,period:W_,usage:H_.describe(`The member's billed usage this month when the limit was crossed`),effectiveBudget:H_.describe(`The member override, or the workspace budget when there is none`),budgetSource:J_}),X_=N({member:U_,period:W_,thresholdPercent:k().int().min(1).max(99).describe(`The notify threshold that was crossed, e.g. 80`),usage:H_.describe(`The member's billed usage this month when the threshold was crossed`),effectiveBudget:H_.describe(`The member override, or the workspace budget when there is none`),budgetSource:J_}),Z_={id:`8b1d2c3e-4f50-7a61-8b72-9c83d4e5f601`,name:`Acme`},Q_={id:`3f2a1b0c-9d8e-7f60-8a51-b4c3d2e1f0a9`,email:`alice@example.com`,name:`Alice`},$_={id:`evt_01929c3e-7a1b-7c4d-9e2f-3a4b5c6d7e8f`,type:K_.limitReached,apiVersion:`2026-10-01`,occurredAt:`2026-10-15T06:12:03.120Z`,workspace:Z_,data:{member:Q_,period:`2026-10`,usage:{amount:`50.31`,currency:`USD`},effectiveBudget:{amount:`50.00`,currency:`USD`},budgetSource:`workspace`}},ev=G_(K_.limitReached,Y_).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:[$_]}),tv=G_(K_.thresholdReached,X_).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:K_.thresholdReached,apiVersion:`2026-10-01`,occurredAt:`2026-10-12T02:40:51.004Z`,workspace:Z_,data:{member:Q_,period:`2026-10`,thresholdPercent:80,usage:{amount:`40.02`,currency:`USD`},effectiveBudget:{amount:`50.00`,currency:`USD`},budgetSource:`workspace`}}]}),nv=N({eventType:T().describe(`The event type this test stands in for`),sample:Jc(T(),j()).describe(`An example event of that type, shaped exactly like a real delivery`)}),rv=N({challenge:T().describe(`Random string the endpoint must echo back as {"challenge": "<value>"} with a 200 within 10 seconds`)}),iv={id:`8b1d2c3e-4f50-7a61-8b72-9c83d4e5f601`,name:`Acme`},av=G_(`destination.test_sent`,nv).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:iv,data:{eventType:K_.limitReached,sample:{...$_}}}]}),ov=G_(`destination.verification_requested`,rv).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:iv,data:{challenge:`b7c1f0e2d9a84c3e9f5a6b7c8d9e0f1a`}}]}),sv=Ee({[K_.limitReached]:{schema:ev,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},[K_.thresholdReached]:{schema:tv,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:av,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:ov,trigger:`An Owner verifies the endpoint from the Hub. Goes only to that destination and is not retried.`,addedIn:`2026-10-01`,subscribable:!1}}),cv=[K_.limitReached,K_.thresholdReached],lv=I(cv),uv=I(sv),dv=[`active`,`disabled`],fv=[`manual`,`consecutive_failures`],pv=[`pending`,`succeeded`,`failed`],mv=10080*60,hv=I(dv),gv=I(fv),_v=I(pv);function vv(e){try{let{username:t,password:n}=new URL(e);return t!==``||n!==``}catch{return!1}}const yv=/^[a-z][\d+.a-z-]*:\/\/[^/?#]/iu,bv=/\p{Cc}/u,xv=/[^\P{Cc}\t\n\r]/u,Sv=/[^\p{Cf}\p{Z}\s]/u,Cv=2048,wv=O({protocol:/^https$/u}).max(Cv).refine(e=>yv.test(e),{message:`URL must include a host`}).refine(e=>!vv(e),{message:`URL must not contain a username or password`}).transform(e=>new URL(e).href).refine(e=>e.length<=Cv,{message:`URL must be at most ${Cv} characters once percent-encoded`}).describe(`HTTPS endpoint that receives the POSTs`),Tv=T().trim().min(1).max(200).refine(e=>!bv.test(e),{message:`Name must not contain control characters`}).refine(e=>Sv.test(e),{message:`Name must contain a visible character`}),Ev=T().trim().max(1e3).refine(e=>!xv.test(e),{message:`Description must not contain control characters`}),Dv=M(lv).min(1).transform(e=>[...new Set(e)]).nullable().describe(`Event types to receive; null subscribes to all events`);N({workspaceId:D(),destinationId:D()}).extend({deliveryId:D()}),N({workspaceId:D()});const Ov=N({activity:M(N({date:El(),count:k().int()})).describe(`Deliveries per day over the last 7 days, oldest first`),deliveryCount:k().int(),failedCount:k().int(),errorRate:k().nullable().describe(`failed / all deliveries over the last 7 days; null when none`),p50ResponseTimeMs:k().int().nullable()}),kv=N({id:D(),type:L(`https`),name:T(),description:T().nullable(),url:T(),apiVersion:V_,payloadStyle:L(`snapshot`),eventTypes:M(T()).nullable(),status:hv,disabledReason:gv.nullable(),verifiedAt:R().nullable(),previousSecretExpiresAt:R().nullable(),createdAt:R(),updatedAt:R(),metrics:Ov});N({items:M(kv)}),N({name:Tv,description:Ev.nullable().default(null),url:wv,eventTypes:Dv,apiVersion:V_.optional()}),N({destination:kv,signingSecret:T().describe(`Shown only once; store it to verify X-ED-Signature`)}),N({name:Tv,description:Ev.nullable(),url:wv,eventTypes:Dv,apiVersion:V_,status:hv}).partial().refine(e=>Object.keys(e).length>0,{message:`Provide at least one field to update`}),N({expirePreviousInSeconds:k().int().min(0).max(mv).default(86400).describe(`How long the previous secret keeps signing alongside the new one; 0 expires it now`)}),N({signingSecret:T(),previousSecretExpiresAt:R().nullable()}),N({status:_v.optional(),eventType:uv.optional(),limit:z().int().min(1).max(100).default(20),nextKey:T().optional()});const Av=N({id:D(),destinationId:D(),eventId:T(),eventType:T(),status:_v,attempts:k().int(),lastHttpStatus:k().int().nullable(),lastError:T().nullable(),responseTimeMs:k().int().nullable(),nextAttemptAt:R().nullable(),deliveredAt:R().nullable(),occurredAt:R(),createdAt:R()});N({items:M(Av),nextKey:T().nullable()});const jv=N({id:D().describe(`Sent as X-ED-Delivery-Id`),attempt:k().int(),requestHeaders:Jc(T(),T()),httpStatus:k().int().nullable(),responseBody:T().nullable().describe(`First 4 KB of the response body`),responseTimeMs:k().int().nullable(),error:T().nullable().describe(`Null together with httpStatus while the request is still in progress`),attemptedAt:R()});Av.extend({requestBody:T().describe(`The exact bytes POSTed on every attempt`),attemptHistory:M(jv)}),N({delivery:Av}),N({eventType:lv.default(cv[0])});const Mv=N({succeeded:A(),httpStatus:k().int().nullable(),responseTimeMs:k().int().nullable(),error:T().nullable()});N({delivery:Av,outcome:Mv}),N({verified:A(),verifiedAt:R().nullable(),outcome:Mv}),N({items:M(N({type:uv,domain:T(),description:T(),trigger:T(),addedIn:V_,subscribable:A(),example:Jc(T(),j())})),apiVersions:M(V_)});const Nv=I([`google`,`outlook`,`caldav`]),Pv=I([`confirmed`,`tentative`,`cancelled`]),Fv=N({email:T(),displayName:T().optional(),responseStatus:I([`needsAction`,`declined`,`tentative`,`accepted`]).optional(),organizer:A().optional(),self:A().optional(),resource:A().optional()}),Iv=N({type:I([`hangoutsMeet`,`zoom`,`teams`,`webex`,`other`]),uri:T().optional(),label:T().optional()}),Lv=N({id:D(),providerCalendarId:T(),name:T(),color:T().nullable(),isVisible:A()});N({accounts:M(N({id:D(),provider:Nv,email:T(),isActive:A(),lastSyncAt:T().nullable(),reminderEnabled:A(),reminderMinutesBefore:k(),createdAt:R(),calendars:M(Lv)}))}),N({events:M(N({id:D(),calendarId:D(),calendarName:T(),calendarColor:T().nullable(),provider:Nv,providerEventId:T(),title:T(),description:T().nullable(),location:T().nullable(),startTime:T(),endTime:T(),isAllDay:A(),status:Pv,conferenceLink:T().nullable(),conferenceData:Iv.nullable(),attendees:M(Fv).nullable(),organizerEmail:T().nullable()}).extend({meetingId:D().nullable(),hasRecordings:A(),hasAudioFile:A()})),nextCursor:D().nullable(),hasMore:A()}),N({startTime:B.optional(),endTime:B.optional(),limit:z().int().min(1).max(500).default(50),cursor:D().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`]}),N({hours:z().int().min(1).max(168).default(24),limit:z().int().min(1).max(50).default(10),cursor:D().optional()}),N({id:D(),reminderEnabled:A(),reminderMinutesBefore:k()}),N({updated:k()}),K.IMAGE_GENERATION,K.PROJECT,K.SANDBOX,K.WEB_SEARCH,K.SKILL,K.SLIDES,K.WORKFLOW;const Rv=N({inputTokens:k().optional(),outputTokens:k().optional(),totalTokens:k().optional(),reasoningTokens:k().optional(),cachedInputTokens:k().optional(),cachedCreationTokens:k().optional()});N({modelId:T().optional(),toolApprovalMode:Rf.optional(),usage:Rv.optional(),totalUsage:Rv.optional(),platformMessageTs:T().optional(),postedMessageTs:M(T()).optional()}),N({id:D(),name:T(),mimeType:T(),size:k(),url:T().optional().describe(`The signed URL for the file, only available if the file is not expired`),expired:A(),createdAt:R(),updatedAt:R()}),N({phase:I([`running`,`done`])});const zv=I([`step_limit`,`output_limit`,`retry_limit`]);N({reason:zv,toolCallIds:M(T()).optional()});function Bv(e){return e.state===`approval-requested`&&e.approval?.isAutomatic!==!0}function Vv(e){return e.type===`reasoning`||e.type===`dynamic-tool`||e.type.startsWith(`tool-`)}function Hv(e){return e.type===`text`&&!!e.text?.trim()}function Uv(e){let t=e.findLastIndex(Hv);return t===-1?e.length:e.slice(0,t).findLastIndex(Vv)+1}function Wv(e){return e.slice(Uv(e)).filter(Hv).map(e=>e.text).join(`
72
+ `)}const Gv=N({reason:zv,sourceMessageId:D()}),Kv=new TextEncoder;function qv(e){try{let t=JSON.stringify(e);return typeof t==`string`?Kv.encode(t).byteLength:null}catch{return null}}const Jv=N({sourceMessageId:D(),action:L(`continueConversation`),values:j().refine(e=>{let t=qv(e);return t!==null&&t<=65536},`Widget interaction values must be JSON and at most 64 KiB`)});N({context:T()});const Yv=N({runId:T(),kind:I([`subagent`,`workflow`]),status:T(),summary:T()});N({delivery:I([`wake`,`passive`]).default(`wake`),runs:M(Yv)});const Xv=`data-background-run-receipt`,Zv=N({runs:M(F(`kind`,[N({kind:L(`tool`),runId:T(),status:T()}),Yv])),text:T()});function Qv(e){let t=Zv.safeParse(e);return t.success?t.data.runs:[]}const $v=`data-tool-run-start`,ey=N({system:k(),tools:k(),history:k()});N({totalTokens:k(),breakdown:ey,contextWindowTokens:k().optional(),compactionTriggerTokens:k().optional()});const ty=I([`pending_tool_responses`,`tool_response_not_merged`,`continuation_already_claimed`]),ny=N({taskId:T(),streamId:T()});P([ny,N({taskId:T(),noop:L(!0),reason:ty})]);const ry=P([ny,N({taskId:T(),noop:L(!0),reason:T().optional()})]);function iy(e){let t=ry.safeParse(e);return t.success?t.data:null}const ay=N({text:T(),type:L(`text`)}),oy=N({type:L(`data-widget-interaction`),data:Jv}),sy=N({type:L(`data-task-continuation`),data:Gv}),cy=N({id:D(),createdAt:Dl().optional(),role:L(`user`),parts:P([Kc([ay]),Kc([oy]),Kc([sy])])}),ly=P([T().startsWith(`tool-`),L(`dynamic-tool`)]),uy=N({id:T(),approved:A(),reason:T().optional()}),dy=N({type:ly,toolCallId:T(),state:L(`approval-responded`),input:Nc().optional(),approval:uy}),fy=N({type:ly,toolCallId:T(),state:L(`output-available`),output:Nc(),approval:uy.optional()}),py=N({type:ly,toolCallId:T(),state:L(`output-error`),errorText:T(),approval:uy.optional()}),my=N({id:T(),approved:L(!1),reason:T().optional()}),hy=N({type:ly,toolCallId:T(),state:L(`output-denied`),errorText:T().optional(),approval:my.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`]});F(`role`,[cy,N({id:D(),createdAt:Dl().optional(),role:L(`assistant`),parts:M(F(`state`,[dy,fy,py,hy])).min(1)})]);function gy(e,t){let n=new Map(e);for(let e of t)n.delete(e);return n}function _y(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 vy(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=_m(a.toolName,a.input);o&&(r.add(o),i.push(a.toolCallId))}return{responses:n,preauthorizeToolNames:[...r],preauthorizingToolCallIds:i}}const yy=[`approval-responded`,`output-available`,`output-error`,`output-denied`],by=[`output-available`,`output-error`,`output-denied`];function xy(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.type===`step-start`)return t;return-1}function Sy(e){return yy.includes(e)}function Cy(e){return by.includes(e)}function wy(e){return e?.role===`assistant`?e.parts.filter(f).filter(e=>!e.providerExecuted):[]}function Ty(e){if(e?.role!==`assistant`)return[];let t=xy(e.parts);return wy({role:e.role,parts:e.parts.slice(t+1)})}function Ey(e,t){return t(e)?Cy(e.state):Sy(e.state)}function Dy(e,t){return t(e)?Cy(e.state):e.state===`approval-responded`||e.state===`output-denied`}function Oy(e){return e.state===`input-available`||e.state===`approval-responded`&&e.approval.approved}function ky(e){return e.state===`approval-responded`&&!e.approval.approved}const Ay=[];function jy(e){let t=[];for(let n of Ty(e)){if(!Bv(n))continue;let e=n.approval?.id;typeof e==`string`&&e!==``&&t.push({toolCallId:n.toolCallId,toolName:d(n),input:n.input,approvalId:e,requestReason:n.approval.requestReason})}return t.length===0?Ay:t}function My(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 Ny(e,{isClientTool:t}){return e?.role===`assistant`?{id:e.id,role:`assistant`,parts:Ty(e).filter(e=>Dy(e,t)).map(My)}:e}function Py(e){let t=e?.message?.parts;return Array.isArray(t)?t.flatMap(e=>{let t=e?.toolCallId;return typeof t==`string`?[t]:[]}):[]}function Fy({messages:e,isClientTool:t,suppressAutomaticSend:n=!1,submittedToolCallIds:r}){if(n)return!1;let i=Ty(e.at(-1));return!i.some(e=>!Ey(e,t))&&i.some(e=>Dy(e,t)&&!r.has(e.toolCallId))}function Iy(e){if(e.reason!==void 0)return e.reason;let t=Error(`The operation was aborted.`);return t.name=`AbortError`,t}function Ly(e,t){if(!t)return e;let n=()=>Iy(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 Ry={schemaVersion:L(2),siteKey:T().min(1),assetId:D(),title:T()};F(`state`,[N({...Ry,state:L(`working`),revision:T().min(1)}),N({...Ry,state:L(`saved`),versionId:D(),versionNumber:k().int().positive()})]);const zy=I([`pending`,`generating`,`ready`,`error`]),By=N({page:k().int().positive(),heading:T(),status:zy,version:k().int().nonnegative().default(0),imageUrl:T().optional(),assetId:T().optional(),note:T().optional()});N({deckId:T().min(1),title:T(),style:T(),aspectRatio:T(),status:I([`generating`,`partial`,`ready`]),outputs:N({pdfUrl:T().optional(),pptxUrl:T().optional(),pdfAssetId:T().optional(),pptxAssetId:T().optional()}).default({}),slides:M(By)});const Vy=N({slideId:D(),position:k().int().positive(),heading:T(),status:zy,note:T().optional()}),Hy={schemaVersion:L(2),deckKey:T().min(1),assetId:D(),title:T(),style:T(),aspectRatio:T(),slides:M(Vy)};F(`state`,[N({...Hy,state:L(`working`),revision:T().min(1)}),N({...Hy,state:L(`saved`),versionId:D(),versionNumber:k().int().positive()})]),N({data:N({assetId:D(),versionId:D(),versionNumber:k().int().positive(),title:T(),style:T(),aspectRatio:T(),slides:M(N({slideId:D(),position:k().int().positive(),heading:T(),imageUrl:O()})),pdfUrl:O(),pptxUrl:O().optional()})});const Uy=[`slack`,`teams`],Wy=[`active`,`inactive`,`needs_reauth`],Gy=I(Uy),Ky=I(Wy),qy=N({id:D(),platform:Gy,platformWorkspaceId:T(),platformWorkspaceName:T(),botUserId:T(),botIconUrl:O().nullable().optional(),status:Ky,autoBindEnabled:A(),createdAt:R(),updatedAt:R()});N({platform:Gy.optional(),limit:z().int().min(1).max(100).default(20),cursor:D().optional()}),N({installations:M(qy),nextKey:T().optional()}),N({status:I([`active`,`inactive`]).optional()});const Jy=N({id:D(),workspaceInstallationId:D(),platform:Gy,platformWorkspaceName:T(),platformUserId:T(),createdAt:R()});N({installations:M(Jy)}),N({workspaceInstallation:qy.nullable(),userInstallation:Jy.nullable(),canManageChatbot:A()}).extend({installUrl:O().nullable()}),N({userInstallation:Jy}),N({autoBindEnabled:A()}),N({workspaceInstallation:qy}),N({bindings:M(N({id:D().nullable(),workspaceInstallationId:D().nullable(),userId:D(),userName:T(),userEmail:T(),platformUserId:T().nullable(),createdAt:R().nullable(),updatedAt:R().nullable()})),total:k().int().nonnegative()}),Bd.extend({search:T().trim().max(200).optional()}),N({authorizeUrl:T()});const Yy=2048,Xy=I([`self`,`anyone`]),Zy=N({id:D(),platform:Gy,userInstallationId:D(),platformChannelId:T(),channelName:T().nullable(),platformThreadId:T().nullable(),keyword:T().nullable(),triggerScope:Xy,agentId:D().nullable(),agentName:T().nullable(),agentIconUrl:T().nullable(),sourceKeywordListenerIds:M(D()),taskId:D().nullable(),titlePreview:T().nullable(),threadUrl:O().nullable(),lastInteractedAt:R().nullable(),enabled:A(),createdAt:R(),updatedAt:R()});N({installationId:D().optional()}),N({listeners:M(Zy)}),N({installationId:D(),platformChannelId:T().trim().min(1).max(Yy).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:T().trim().min(1).max(200),triggerScope:Xy.optional(),agentId:D().nullable().optional()}),N({listener:Zy}),N({keyword:T().trim().min(1).max(200).optional(),triggerScope:Xy.optional(),agentId:D().nullable().optional(),enabled:A().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`}),N({installationId:D(),platformChannelId:T().trim().min(1).max(Yy),keyword:T().trim().min(1).max(200)}),N({count:k().int().nonnegative()}),N({installationId:D()}),N({channels:M(N({id:T(),name:T(),isPrivate:A()}))}),N({}).optional(),N({ok:L(!0),messageTs:T()}),N({olderThanDays:k().int().min(1).max(365).default(14).optional()}).optional(),N({deletedCount:k().int().min(0)});const Qy=I([`enabled`,`disabled`]);N({items:M(N({agentId:D(),agentName:T(),agentIconUrl:T().nullable(),status:Qy,capReached:A(),connectorNames:M(T())}))}),N({items:M(N({agentId:D(),agentName:T(),connectorNames:M(T())}))}),N({agentId:D()}),N({activeConversationCount:k().int(),suppressedListenerCount:k().int()});const $y=T().regex(/^\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/),eb=N({minSupportedVersion:$y,latestVersion:$y});N({ios:eb,android:eb,gntcLoginEnabled:A(),googleLoginEnabled:A(),emailPasswordLoginEnabled:A()});function tb(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 nb(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 rb(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 ib(e){if(e===`localhost`||e.endsWith(`.localhost`))return`loopback`;let t=tb(e);if(t)return rb(t);let n=nb(e);if(!n)return`public`;let r=tb(n[7]??``);if(r&&n.slice(0,5).every(e=>Number(e)===0))return rb(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 rb([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 ab(e){return tb(e)!==null||nb(e)!==null}async function ob(e,t){let n=ib(e);if(t===`literal-only`||ab(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})=>ib(t===6?`[${e}]`:e));return n===`public`?i.find(e=>e===`loopback`)??i.find(e=>e===`internal`)??`public`:n}function sb(e){return ib(e.hostname)===`loopback`}function cb(e){return e.protocol===`https:`||e.protocol===`http:`&&sb(e)}async function lb(e,t,n){if(!cb(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([ob(t.hostname,n),ob(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 ub=[{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 db(e){return ub.find(t=>t.webHost===e)}function fb(e){if(!URL.canParse(e))return;let t=new URL(e);if(t.protocol!==`https:`||t.pathname!==`/`)return;let n=db(t.host);return n?`https://${n.apiHost}`:void 0}const pb=N({api:N({baseUrl:O()})}),mb=[`composio`,`mcp`],hb=[`stdio`,`sse`,`streamable_http`];sh.options;const gb=Om.exclude([`composio`]);gb.options;const _b=[`pat`,`credentials`];N({items:M(N({id:D(),name:T(),description:T(),iconUrl:T().nullable(),kind:I(mb),toolkit:T().nullable(),transport:I(hb),defaultToolNamespace:T().nullable(),authorizationType:Om.nullable(),createdAt:R()}))}),N({connectorId:D()});const vb=N({kind:L(`composio`),name:T().min(1).max(100),description:T().min(1),defaultToolNamespace:ah().optional(),toolkit:T().min(1),tools:M(T().min(1)).optional(),extraTools:M(T().min(1)).optional(),composioAuthConfigId:T().min(1).optional()}),yb=N({kind:L(`mcp`),name:T().min(1).max(100),description:T().min(1),defaultToolNamespace:ah().optional(),url:O(),transport:sh,authorization:N({type:gb,provider:T().min(1).optional(),scopes:M(T().min(1)).optional(),tutorial:O().max(100).optional(),configFields:Mm.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||_b.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||Am.some(t=>t===e.authorization?.type),{message:`configFields is only allowed for pat and credentials authorization types`,path:[`authorization`,`configFields`]});N({toolkit:T().min(1)});const bb=N({name:T(),mode:T(),scopes:M(T())});N({slug:T(),name:T(),managedAuthSchemes:M(T()),auths:M(bb)}),F(`kind`,[vb,yb]);const xb={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`]}},Sb=/[.*+?^${}()|[\]\\]/g;function Cb(e){return e.replace(Sb,`\\$&`)}function wb(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 Tb(e){return wb(Object.values(xb).flatMap(t=>t[e]))}function Eb(e){let t=Tb(e).toSorted((e,t)=>t.length-e.length).map(Cb).join(`|`);return new RegExp(t,`iu`)}function Db(){let e=Tb(`authGlossVerbs`).toSorted((e,t)=>t.length-e.length).map(Cb).join(`|`);return RegExp(`^(?:${e})(?=\\s|$|[^\\p{Letter}\\p{Number}])`,`iu`)}Eb(`authLink`),Eb(`placement`),Db(),N({fileId:T().regex(/^[A-Za-z0-9_-]{1,256}$/u),fileName:T().min(1).max(1024),mimeType:T().max(256).regex(/^[\w.+-]+\/[\w.+-]+$/u)}),N({url:T(),expiresAt:R()}),N({toolkit:T(),tools:M(T()).optional(),extraTools:M(T()).optional()}),N({search:T().trim().max(200).optional(),status:I(Ch).optional(),nextKey:T().optional(),limit:z().int().min(1).max(100).default(20),sortBy:I(Tm).optional()}),N({connectors:M(N({id:D(),name:T(),iconUrl:T().optional(),hasUnpublishedChanges:A(),latestVersionNumber:k().int().nullable(),publishedTo:mh.optional(),myRole:cm,createdAt:R(),updatedAt:R()})),nextKey:T().optional(),totalCount:k().int().nonnegative(),statusCounts:wh});const Ob=I([`need_approval`,`block`]),kb=`user_configurable`;P([Ob,L(kb)]).nullable().transform(e=>e===kb?null:e);const Ab=I([`need_approval`,`always_allow`,`block`]),jb=N({id:D(),name:T(),toolName:T(),description:T(),workspacePolicy:Ob.nullable(),userPolicy:Ab.nullable()});N({tools:M(jb)}),N({tools:M(jb.extend({schedulePolicy:Xh.nullable()}))});const Mb=10**3;function Nb(e){let t=Number((Number(e)*Mb).toPrecision(12));return Math.ceil(t)/Mb}N({path:T(),value:j().optional()});const Pb=N({connectorId:D(),boardUrl:O().max(2e3).refine(e=>{let t=new URL(e);return t.protocol===`https:`&&!t.username&&!t.password}),dataSourceId:T().min(1).max(255),contextPropertyId:T().min(1).max(255).optional()}).extend({databaseId:T().min(1).max(255),connectorName:T(),name:T()});N({databaseId:T(),name:T(),sources:M(N({id:T(),name:T(),contextProperties:M(N({id:T(),name:T()}))}))});const Fb=N({key:D(),createdBy:D(),startedAt:R(),status:I([`pending`,`succeeded`]),destination:Pb,title:T().max(1e4),values:Jc(T(),N({type:L(`text`),value:T().max(1e6)}))}),Ib=I([`scheduled`,`in_progress`,`completed`,`cancelled`]),Lb=N({term:T().trim().min(1).max(100),kind:I([`company`,`product`,`person`,`technical`]),usageContext:T().max(100),evidenceLine:k().int().positive(),evidenceQuote:T().min(1).max(1e3)}),Rb=N({id:D(),status:I([`matched`,`not_found`,`ambiguous`]),confirmed:A(),selectionMode:I([`meeting-date`,`reference`]).optional(),summary:A().optional(),glossary:A().optional(),sourceUrl:O().nullable(),connectorId:D().nullable(),documentId:T().min(1).max(256),documentTitle:T(),documentVersion:P([k(),T().max(256)]).nullable(),contentHash:T(),notesHash:T(),startTime:T(),meetingDate:T(),timezone:T(),preparedBy:D(),preparedAt:R(),modelId:T(),lines:M(N({id:k().int().positive(),text:T()})),reason:T().max(500),background:T().max(450),terms:M(Lb).max(24),excludedTerms:M(T()).max(24)});N({blocks:M(F(`type`,[N({id:D(),type:L(`text`),text:T()}),N({id:D(),type:L(`resource`),resourceId:D()})]))});const zb=N({summary:A(),glossary:A(),excludedTerms:M(T().max(100)).max(24)});N({sourceUrl:O().nullable(),documentTitle:T(),lines:M(N({id:k().int().positive(),text:T()}))}),N({modelId:T(),notesHash:T(),startTime:T(),meetingDate:T(),timezone:T()}),N({id:D(),title:T(),url:O(),mimeType:T(),size:k(),projectSource:N({projectId:D(),projectName:T(),sourceType:I([`file`,`link`,`task`]),sourceId:D(),capturedAt:R()}).optional(),context:Rb.nullable(),stale:A(),contextUsage:zb}).omit({mimeType:!0,size:!0,projectSource:!0});const Bb=I([`manual`,`calendar`,`recording`]),Vb=I([`local`,`upload`,`zoom`,`youtube`,`media`,`bot`]),Hb=I([`chrome_extension`]),Ub=N({taskId:T().nullable()}),Wb=I([`pending`,`extracting_subtitles`,`downloading`,`transcribing`,`refining`,`completed`,`failed`]),Gb=I([`infra`,`provider`,`speech_policy`,`no_audio`,`user`,`unknown`]),Kb=N({attempt:k().int().positive(),maxAttempts:k().int().positive(),nextAttemptAt:R()}),qb=N({category:Gb,retryable:A(),autoRetry:Kb.nullable().optional()}),Jb=I([`recall`]),Yb=I([`scheduled`,`joining`,`in_call`,`recording`,`done`,`failed`,`removed`]),Xb=I([`manual`,`api`,`connector`,`calendar_subscription`]),Zb=I([`idle`,`queued`,`generating`,`completed`,`failed`]),Qb=I([`generated`,`import`,`user_edit`,`restore`,`migration`]),$b=N({type:I([`hangoutsMeet`,`zoom`,`teams`,`webex`,`other`]),uri:T().optional(),label:T().optional()}),ex=N({email:T(),displayName:T().nullable().optional(),role:I([`organizer`,`attendee`,`optional`]).optional(),responseStatus:I([`needsAction`,`declined`,`tentative`,`accepted`]).nullable().optional(),userId:D().nullable().optional()}),tx=N({start:k(),end:k(),text:T()}),nx=Jc(T().regex(/^[A-Z0-9]{1,2}$/u),T().trim().min(1).max(100).regex(/^[^\r\n]+$/u)),rx=N({handlingType:I([`agent`,`assisted`,`human`]),reason:T().max(2e3),nextStep:T().max(2e3),missingInformation:M(T().max(1e3)).max(20)}),ix=N({ticketDestination:Pb.optional(),ticketCreation:Fb.optional(),id:D(),revision:k().int().nonnegative(),status:I([`open`,`completed`,`dismissed`]),assignedTo:I([`agent`,`human`]).nullable().optional(),sourceFingerprint:T().regex(/^[a-f0-9]{64}$/u).optional(),execution:N({taskId:D(),reportedAt:R(),note:T().max(4e3)}).optional(),tracking:N({connectorId:D(),externalId:T().min(1).max(500),url:O({protocol:/^https$/}).refine(e=>{try{let t=new URL(e);return!t.username&&!t.password}catch{return!1}}),reportedStatus:T().max(500).nullable(),reportedAt:R(),sourceTaskId:D().optional()}).optional(),analysis:N({status:I([`running`,`succeeded`,`failed`]),requestId:D(),sourceFingerprint:T(),startedAt:R(),finishedAt:R().optional(),result:rx.optional()}).optional()}),ax=N({description:T(),assignee:T().nullable().optional(),dueDate:T().nullable().optional(),completed:A()}).extend({workflow:ix.optional()}),ox=I([`private`,`workspace`]),sx=I([`viewer`,`editor`]),cx=I([`owner`,`editor`,`viewer`]),lx=I([`explicit`,`workspace`]),ux=N({userId:D(),userName:T(),userEmail:T(),userImage:T().nullable().optional(),role:sx,grantedBy:D().nullable(),createdAt:R()}),dx=N({teamId:D(),teamName:T(),memberCount:k(),role:sx,grantedBy:D().nullable(),createdAt:R()});N({visibility:ox,userGrants:M(ux),teamGrants:M(dx)}),N({role:sx}),N({title:T().trim().min(1).max(500),description:T().optional(),location:T().optional(),startTime:B.optional(),endTime:B.optional(),conferenceLink:O().optional(),conferenceData:$b.optional(),calendarEventId:D().optional(),notes:T().optional()}),N({title:T().trim().min(1).max(500).optional(),description:T().nullable().optional(),location:T().nullable().optional(),startTime:B.nullable().optional(),endTime:B.nullable().optional(),status:Ib.optional(),conferenceLink:O().nullable().optional(),conferenceData:$b.nullable().optional(),notes:T().nullable().optional(),expectedNotes:T().nullable().optional(),summary:T().nullable().optional(),expectedSummary:T().nullable().optional(),calendarEventId:D().nullable().optional(),visibility:ox.optional()});const fx=N({processedChunks:k().int().nonnegative(),totalChunks:k().int().positive()}),px=I([`preparing`,`queued`,`transcribing`,`validating`,`finalizing`,`falling_back`]),mx=N({estimated:A().optional(),percentage:k().int().min(0).max(100),batchStage:px.optional(),batchStartedAt:R().optional(),batchElapsedSeconds:k().int().nonnegative().optional(),estimateState:I([`finishing`,`overdue`]).optional(),stage:I([`transcribing`,`verifying`,`refining`]).optional(),processedChunks:k().int().nonnegative().optional(),totalChunks:k().int().positive().optional()}),hx=N({provisionalCoverageRatio:k().min(0).max(1),finalTranscription:fx}),gx=N({transcript:T(),transcriptWithTimestamps:T(),segments:M(tx),summary:T().nullable(),actionItems:M(ax).nullable().optional(),generatedAt:R(),stability:N({coverageRatio:k().min(0).max(1),eligible:A(),failedChunkCount:k().int().nonnegative(),maxGapSec:k().nonnegative(),missingRangeCount:k().int().nonnegative(),missingRanges:M(N({startSec:k().nonnegative(),endSec:k().nonnegative(),durationSec:k().positive()})).optional(),pendingChunkCount:k().int().nonnegative(),reason:T()})}),_x=gx.pick({summary:!0,actionItems:!0}),vx=I([`pending`,`ready`,`failed`]);N({url:T(),downloadUrl:T()}),N({id:D(),uploadedBy:D(),meetingId:D(),title:T(),duration:k().nullable(),transcript:T().nullable(),transcriptWithTimestamps:T().nullable(),segments:M(tx).nullable(),legacyTranscriptDisplayTail:N({transcriptRevision:k().int().nonnegative(),canonicalTail:tx,segments:M(tx)}).nullable().optional(),speakerNames:nx,transcriptRevision:k().int().nonnegative(),needsSummaryRefresh:A(),isSummaryStale:A(),summary:T().nullable(),actionItems:M(ax).nullable(),summaryStatus:Zb,audioStorageKey:T().nullable(),videoStorageKey:T().nullable().optional(),videoStatus:vx.nullable().optional(),canRetranscribe:A().optional(),captureClient:Hb.nullable().optional(),agentImport:Ub.nullable().optional(),processingStatus:Wb.nullable(),isLiveRecording:A().optional().describe(`Recent unfinished local recording activity within the orphan idle window; not a guarantee that capture remains connected.`),captureOutcome:L(`no_recording`).nullable().optional(),transcriptionOutcome:I([`speech`,`no_speech`]).nullable().optional(),transcriptionNotice:I([`no_speech_skipped`,`speech_unconfirmed`]).nullable().optional(),failure:qb.nullable().optional(),processingProgress:mx.nullable().optional(),hybridProgress:hx.nullable().optional(),provisionalResult:gx.nullable().optional(),transcriptionProgress:fx.nullable().optional(),recordedAt:R().nullable(),createdAt:R(),updatedAt:R()});const yx=N({hasVideo:A().optional(),id:D(),title:T(),duration:k().nullable(),hasSummary:A(),hasTranscript:A(),canRetry:A().optional(),needsSummaryRefresh:A(),isSummaryStale:A(),summary:T().nullable().optional(),actionItems:M(ax).nullable().optional(),summaryStatus:Zb,source:Vb.nullable().optional(),captureClient:Hb.nullable().optional(),agentImport:Ub.nullable().optional(),processingStatus:Wb.nullable(),captureOutcome:L(`no_recording`).nullable().optional(),transcriptionOutcome:I([`speech`,`no_speech`]).nullable().optional(),transcriptionNotice:I([`no_speech_skipped`,`speech_unconfirmed`]).nullable().optional(),failure:qb.nullable().optional(),processingProgress:mx.nullable().optional(),hybridProgress:hx.nullable().optional(),provisionalResult:_x.nullable().optional(),transcriptionProgress:fx.nullable().optional(),recordedAt:R().nullable(),createdAt:R(),updatedAt:R().optional()}),bx=I([`transcript`,`summary`]),xx=N({id:D(),name:T()}),Sx=N({id:D(),versionNumber:k().int().nonnegative(),origin:Qb,restoredFromVersionId:D().nullable(),createdBy:xx.nullable(),createdAt:R(),excerpt:T().nullable()});N({contentType:bx,currentVersionId:D().nullable(),canRestore:A(),versions:M(Sx),nextVersionNumber:k().int().nonnegative().nullable()});const Cx=Sx.omit({excerpt:!0});F(`contentType`,[Cx.extend({contentType:L(`transcript`),transcript:T().nullable(),transcriptWithTimestamps:T().nullable(),rawTranscript:T().nullable(),segments:M(tx).nullable(),speakerNames:nx}),Cx.extend({contentType:L(`summary`),summary:T(),actionItems:M(ax).nullable(),sourceTranscriptRevision:k().int().nonnegative().nullable()})]),N({expectedHeadVersionId:D()}),N({currentVersionId:D().nullable(),canRestore:A(),versions:M(Sx),nextVersionNumber:k().int().positive().nullable()}),Cx.extend({summary:T(),actionItems:M(ax).nullable(),sourceRecordingSummaryVersionIds:M(D())});const wx=k().int().min(1).max(5);N({rating:wx}),N({myRating:N({rating:wx,summaryVersionId:D().nullable(),updatedAt:R()}).nullable()});const Tx=N({recordingStartedAt:R().nullable().optional(),saveVideo:A().default(!1),recordingControlPending:A().default(!1),videoCaptureActive:A().default(!1),id:D(),meetingRecordingId:D().nullable(),provider:Jb,meetingUrl:T(),botName:T().nullable(),status:Yb,statusDetail:T().nullable(),dispatchSource:Xb,joinedAt:R().nullable(),endedAt:R().nullable(),recordingReadyAt:R().nullable(),createdAt:R(),updatedAt:R()});N({relatedActiveBot:N({meetingId:D(),status:Yb,dispatchedAt:R(),dispatchedBy:N({id:D(),name:T().nullable()}).nullable(),canAccess:A()}).nullable()});const Ex=I([`all`,`matching_rules`,`none`]),Dx=N({field:I([`meeting_type`,`meeting_title`]),matchType:I([`is`,`is_not`,`contains`,`does_not_contain`]),value:T().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`})});N({settings:N({recorderAgentName:T().trim().min(1).max(100),recordingPolicy:Ex,saveVideo:A().default(!1),conditions:M(Dx).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:A()}),N({policyVersion:T(),segmentSeconds:k().int().positive(),minFlushSegmentSeconds:k().positive(),maxSegmentDurationSeconds:k().int().positive(),idlePollIntervalMs:k().int().positive(),pendingPollBackoffIntervalsMs:M(k().int().positive()).min(1),pendingPollIntervalMs:k().int().positive(),pollJitterRatio:k().min(0).max(1),uploadTimeoutMs:k().int().positive(),liveTranscriptionModelTimeoutMs:k().int().positive(),maxQueuedSegments:k().int().positive(),maxPendingChunks:k().int().positive(),maxUploadBytes:k().int().positive(),displayLagSeconds:k().nonnegative(),timelineCatchUpIntervalMs:k().int().positive(),timelineGapRevealAheadChunks:k().int().nonnegative(),timelineMaxBurstSegments:k().int().positive(),timelineMaxDisplaySegmentDurationSeconds:k().positive(),timelineMinDisplaySegmentDurationSeconds:k().positive(),timelineTypingCriticalBacklogChars:k().int().positive(),timelineTypingCriticalCharsPerSecond:k().int().positive(),timelineTypingHighBacklogChars:k().int().positive(),timelineTypingHighBacklogCharsPerSecond:k().int().positive(),timelineTypingLowBacklogChars:k().int().positive(),timelineTypingLowBacklogCharsPerSecond:k().int().positive(),timelineTypingNormalCharsPerSecond:k().int().positive(),timelineTypingRevealTickMs:k().int().positive()});const Ox=N({userId:D(),name:T().nullable(),email:T(),image:T().nullable().optional()});N({id:D(),workspaceId:D(),createdBy:D(),owner:Ox.optional(),calendarEventId:D().nullable(),title:T(),description:T().nullable(),location:T().nullable(),startTime:T().nullable(),endTime:T().nullable(),status:Ib,source:Bb,conferenceLink:T().nullable(),conferenceData:$b.nullable(),notes:T().nullable(),summary:T().nullable(),actionItems:M(ax).nullable().optional(),calendarEvent:N({title:T(),providerEventId:T(),calendarId:T(),provider:I([`google`,`outlook`,`caldav`]),providerCalendarId:T(),startTime:T(),endTime:T()}).nullable(),participants:M(ex).optional(),recordings:M(yx).optional(),hasEverRecorded:A().optional(),meetingBots:M(Tx).optional(),isOwner:A().optional(),sharedVia:lx.optional(),visibility:ox,myRole:cx.optional(),createdAt:R(),updatedAt:R()});const kx=N({hasVideo:A().optional(),id:D(),title:T(),sortTime:T(),createdAt:R(),updatedAt:R(),startTime:T().nullable(),endTime:T().nullable(),status:Ib.nullable(),source:Bb.nullable(),conferenceLink:T().nullable(),hasRecordings:A(),hasNotes:A().optional(),hasEverRecorded:A().optional(),hasAgentImportedRecording:A().optional(),participantCount:k().nullable(),isOwner:A(),myRole:cx,owner:Ox.optional(),sharedVia:lx.optional(),isSharedWithOthers:A().optional(),visibility:ox.optional(),duration:k().nullable(),hasTranscript:A(),hasSummary:A(),summaryStatus:Zb,recordingStats:N({total:k().int().nonnegative(),available:k().int().nonnegative(),processing:k().int().nonnegative(),needsAttention:k().int().nonnegative(),failed:k().int().nonnegative().optional(),noRecording:k().int().nonnegative()}).optional(),recordingSource:Vb.nullable(),processingStatus:Wb.nullable(),hasActiveMeetingBot:A().optional(),activeMeetingBot:Tx.optional()}),Ax=N({meetingId:T(),userId:T(),userName:T(),userEmail:T(),userImage:T().nullable().optional(),createdAt:R()});N({recordings:M(yx),nextKey:T().optional()}),N({meetings:M(kx),nextKey:T().optional()}),N({shares:M(Ax)}),N({meetings:M(N({id:T(),title:T(),startTime:T().nullable()}))}),N({photos:Jc(T(),T())});const jx=N({meetingId:D(),title:T(),startTime:T().nullable(),summary:T(),actionItems:M(ax)}),Mx=N({meetingId:D(),title:T(),startTime:T().nullable(),item:ax});N({previous:jx.nullable(),seriesActionItems:N({open:M(Mx),recentlyCompleted:M(Mx)}).optional()}),zd.extend({search:T().trim().max(200).optional(),filter:I([`mine`,`shared`,`all`]).default(`all`),sortBy:I([`updated_at`,`start_time`]).default(`updated_at`),hasContent:wl().optional(),hasActiveMeetingBot:wl().optional()});function Nx(e){return e.summary?e.summary:e.recordings?.find(e=>e.summary)?.summary||e.recordings?.find(e=>e.provisionalResult?.summary)?.provisionalResult?.summary}const Px=Object.values({AGENT:`agent`,SKILL:`skill`}),Fx={ROLE:`role`,BADGE:`badge`,USE_CASE:`use_case`},Ix=Object.values(Fx),Lx=N({speaker:I([`user`,`assistant`]),text:T()}),Rx=N({id:D(),name:T(),provider:T(),iconUrl:T().nullable(),purpose:T()}),zx=N({tag:T(),category:I(Ix),label:T()}),Bx=N({slug:T(),type:I(Px),name:T(),description:T(),iconUrl:T().nullable(),tags:M(zx)}),Vx=T().optional().transform(e=>Pl(e));N({type:I(Px).optional(),tag:T().optional(),limit:z().int().min(1).max(100).default(30),cursor:T().optional(),lang:Vx}),N({items:M(Bx),nextCursor:T().nullable()}),F(`type`,[N({slug:T(),type:L(`agent`),name:T(),description:T(),iconUrl:T().nullable(),tags:M(zx),starterPrompts:M(T()),exampleConversation:M(Lx),connectors:M(Rx)}),N({slug:T(),type:L(`skill`),name:T(),description:T(),iconUrl:T().nullable(),tags:M(zx),exampleConversation:M(Lx)})]),N({items:M(N({tag:T(),name:T(),tagline:T()}))}),N({toolApprovalMode:Rf.optional()}).default({}),N({resourceId:D(),resourceType:I(Px),workspaceId:D(),taskId:D().nullable(),resourceSlug:T()}),N({type:I(Px),slug:T().min(1)}),N({lang:Vx});const Hx=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,Ux=N({connectorId:D(),purpose:T().trim().min(1,`Purpose is required`)}),Wx={name:T().trim().min(1).max(120),description:T().trim().min(1).max(2e3),iconId:D().nullable().optional(),tags:M(T()).default([]),model:lf,systemPrompt:T().trim().min(1),conversationStarters:M(T().trim().min(1)).max(5).default([]),exampleConversation:M(Lx).min(1,`At least one example turn is required`),connectors:M(Ux).refine(e=>new Set(e.map(e=>e.connectorId)).size===e.length,{message:`Each connector can only be added once`}).default([])};N({slug:T().trim().regex(Hx,`Use lowercase-kebab-case`).max(120),...Wx}),N(Wx),N({id:D()}),N({type:I(Px).optional(),limit:z().int().min(1).max(100).default(30),offset:z().int().min(0).default(0)}),N({items:M(N({id:D(),type:I(Px),slug:T(),name:T(),description:T(),tags:M(T()),isDelisted:A(),createdAt:R(),updatedAt:R()})),total:k().int().min(0)});const Gx=N({connectorId:D(),name:T(),purpose:T()});N({id:D(),slug:T(),name:T(),description:T(),iconId:D().nullable(),tags:M(T()),model:T(),systemPrompt:T(),conversationStarters:M(T()),exampleConversation:M(Lx),connectors:M(Gx),isDelisted:A(),createdAt:R(),updatedAt:R()}),N({items:M(N({tag:T(),category:I([Fx.ROLE,Fx.BADGE,Fx.USE_CASE])}))}),N({items:M(N({id:D(),name:T(),description:T()}))});const Kx={description:T().trim().min(1).max(2e3),iconId:D().nullable().optional(),tags:M(T()).default([]),exampleConversation:M(Lx).min(1,`At least one example turn is required`)};N({slug:T().trim().regex(Hx,`Use lowercase-kebab-case`).max(120),...Kx}),N(Kx),N({id:D()}),N({id:D(),slug:T(),name:T(),description:T(),iconId:D().nullable(),tags:M(T()),exampleConversation:M(Lx),hasPackagedContent:A(),isDelisted:A(),createdAt:R(),updatedAt:R()}),N({name:T(),description:T()});const qx=N({id:k(),content:T(),createdAt:R(),updatedAt:R()});N({limit:z().int().min(1).max(100).default(100),nextKey:T().optional()}),N({memories:M(qx),nextKey:T().optional()}),N({workspaceId:D()}),N({workspaceId:D(),memoryId:z().int()}),N({kind:L(`stream_error`),code:I([`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`,`invalid_tool_schema`,`unknown`]).catch(`unknown`),errorId:T().max(128).optional()}),N({providers:M(N({id:T(),name:T(),clientId:T().nullable(),authUrl:T(),tokenUrl:T(),usePKCE:A(),defaultScopes:M(T()).nullable(),strategy:T(),configured:A(),builtIn:A(),iconUrl:T().optional()}))});const Jx={AGENT:`agent`,SKILL:`skill`,WORKFLOW:`workflow`,CONNECTOR:`connector`,SCHEDULE:`schedule`,PROJECT:`project`};function Yx({resourceType:e,resourceId:t}){return`${e}:${t}`}const Xx=I([Jx.AGENT,Jx.SKILL,Jx.WORKFLOW,Jx.CONNECTOR,Jx.SCHEDULE,Jx.PROJECT]),Zx=N({resourceType:Xx,resourceId:D(),name:T(),serviceAgent:N({channelCount:k().int().nonnegative()}).optional()}),Qx=N({projectId:D(),name:T(),teams:M(N({teamId:D(),name:T()}))});N({hash:T().regex(/^[0-9a-f]{64}$/),items:M(Zx),teamOnlyProjects:M(Qx)});const $x=F(`action`,[N({resourceType:Xx,resourceId:D(),action:L(`transfer`),successorUserId:D()}),N({resourceType:Xx,resourceId:D(),action:L(`delete`)})]),eS=F(`action`,[N({action:L(`transfer`),successorUserId:D()}),N({action:L(`delete`)})]);N({inventoryHash:T().min(1),defaultAction:eS.optional(),decisions:M($x).max(1e3).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.entries()){let e=Yx(i);n.has(e)?t.addIssue({code:`custom`,path:[r],message:`Duplicate decision for resource`}):n.add(e)}})}),N({transferred:k(),deleted:k()}),N({userId:D()}),N({roleId:D()}),N({url:zl.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`)}),N({title:T().max(300).nullable(),description:T().max(600).nullable(),siteName:T().max(100).nullable()}),Ee({en:{defaultVariant:`en-US`,variants:[`en-US`,`en-GB`]},zh:{defaultVariant:`zh-TW`,variants:[`zh-CN`,`zh-HK`,`zh-TW`]},es:{defaultVariant:`es-MX`,variants:[`es-MX`,`es-ES`,`es-US`]},fr:{defaultVariant:`fr-FR`,variants:[`fr-FR`,`fr-CA`]},pt:{defaultVariant:`pt-PT`,variants:[`pt-PT`,`pt-BR`]}});const tS=N({en:I([`en-US`,`en-GB`]).optional(),zh:I([`zh-CN`,`zh-HK`,`zh-TW`]).optional(),es:I([`es-MX`,`es-ES`,`es-US`]).optional(),fr:I([`fr-FR`,`fr-CA`]).optional(),pt:I([`pt-PT`,`pt-BR`]).optional()}).strict(),nS=N({displayName:T().nullable(),jobTitle:T().nullable(),language:T().nullable(),customPreferences:T().nullable(),voiceLanguageVariants:tS.nullable(),updatedAt:R()});N({displayName:T().trim().max(100).nullable().optional(),jobTitle:T().trim().max(100).nullable().optional(),language:T().trim().max(100).nullable().optional(),customPreferences:T().trim().max(1e3).nullable().optional(),voiceLanguageVariants:tS.nullable().optional()}),N({workspaceId:D()}),nS.extend({updatedAt:R().nullable()}),N({workspaceId:D()}),N({workspaceId:D(),teamId:D(),publishId:D()}),N({workspaceId:D(),teamId:D()});const rS=[nm.MEMBER,nm.MANAGER,nm.OWNER];N({resourceType:lh,resourceId:D(),versionId:D().optional(),teamIds:M(D()).min(1).max(20).refine(e=>new Set(e).size===e.length,{message:`teamIds must not contain duplicates`}),message:T().trim().max(500).optional()}),N({publishedVersionId:D(),roles:M(I(rS)).min(1).refine(e=>new Set(e).size===e.length,{message:`Roles must be unique`})}),N({roles:M(I(rS)).min(1).refine(e=>new Set(e).size===e.length,{message:`Roles must be unique`})}),N({items:M(N({id:D(),resource:fh,author:dh,requester:dh,teamId:D(),versionId:D().nullable(),versionNumber:k().int().nullable(),status:I(uh),message:T().nullable(),roles:M(I(rS)).nullable(),reviewer:dh.nullable(),reviewedAt:R().nullable(),rejectReason:T().nullable(),createdAt:R(),updatedAt:R()})),nextKey:T().optional()}),N({count:k().int()}),N({workspaceId:D()}),N({workspaceId:D(),publishId:D()}),N({resourceType:lh,resourceId:D(),versionId:D().optional(),message:T().trim().max(500).optional()}),N({publishedVersionId:D(),roleIds:M(D()).min(1).optional()}),N({roleIds:M(D()).nullable().optional()}),N({items:M(N({id:D(),resource:fh,author:dh.nullable(),requester:dh.nullable(),versionId:D().nullable(),versionNumber:k().int().nullable(),workspaceId:D(),status:I(uh),message:T().nullable(),roleIds:M(D()).nullable(),reviewer:dh.nullable(),reviewedAt:R().nullable(),rejectReason:T().nullable(),createdAt:R(),updatedAt:R()})),total:k().int().nonnegative(),nextKey:T().optional()}),N({resourceType:lh.optional()}),N({count:k().int()});const iS=N({low:k().min(-12).max(12),mid:k().min(-12).max(12),high:k().min(-12).max(12)});N({startSeconds:k().int().nonnegative(),endSeconds:k().int().positive(),equalizer:iS.optional()}).refine(e=>e.endSeconds-e.startSeconds>=1,{message:`Keep at least one second of audio`,path:[`endSeconds`]}).safeExtend({requestId:D(),expectedTranscriptRevision:k().int().nonnegative()}),N({recordingId:D(),meetingId:D()}),N({revision:k().int().nonnegative(),rejectedRanges:M(Kc([k().int(),k().int()]))});const aS=I([`web`,`desktop`,`chrome_extension`]);N({sessionId:D(),ownerId:D(),client:aS,title:T().trim().min(1).max(500)});const oS=N({sessionId:D(),ownerId:D()});oS.extend({phase:I([`capturing`,`finalizing`])}),oS.extend({reason:I([`saved`,`discarded`,`start_failed`])});const sS=N({sessionId:D(),ownerId:D(),userId:D(),workspaceId:D(),client:aS,title:T(),recordingId:D().nullable(),meetingId:D().nullable(),phase:I([`capturing`,`finalizing`]),health:I([`active`,`unknown`]),startedAt:R(),lastSeenAt:R()});N({userId:D(),capture:sS.nullable()}).extend({acquired:A()}),N({peaks:M(k().min(0).max(1)).max(1728e3),duration:k().positive(),secondsPerPeak:k().positive()}),N({version:L(1),transcriptRevision:k().int().nonnegative(),operationId:D().optional(),model:T(),processingPath:I([`batch`,`chunks`]).optional(),kind:I([`upload`,`trim`,`retry`]),fileBytes:k().nonnegative(),format:T(),audioSeconds:k().nonnegative(),uploadSeconds:k().positive(),observedUploadSeconds:k().positive().optional(),processingSeconds:k().positive(),uploadSampleCount:k().int().nonnegative(),processingSampleCount:k().int().nonnegative(),preparedAt:R(),processingStartedAt:R().optional(),completedAt:R().optional(),uploadFraction:k().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}`),N({url:O(),title:T().trim().min(1).max(500).optional(),preferredLanguage:T().trim().min(2).max(10).regex(/^[a-zA-Z]{2,3}(-[a-zA-Z]{2,8})?$/,`Invalid language code format`).optional()}),N({recordingId:D(),source:L(`media`),message:T()}),N({url:O()}),N({url:T(),type:L(`media`),title:T(),duration:k().optional(),thumbnailUrl:T().optional(),contentType:T().optional(),fileSize:k().optional(),extractor:T().optional(),channelName:T().optional(),uploadDate:T().optional()}),N({downloadUrl:T(),playbackPending:A(),url:T()}),N({eventId:D(),occurredAt:R(),clientVersion:T().max(64),captureClient:I([`chrome_extension`,`web`,`desktop`,`mobile`]),stage:I([`capture`,`persistence`,`live_upload`,`finalize`,`upload`]),outcome:I([`started`,`completed`,`failed`,`degraded`,`recovered`]),reason:I([`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:k().int().min(0).max(100).optional(),seq:k().int().min(0).optional(),status:k().int().min(0).max(599).optional(),recoverable:A().optional()}),N({deploymentMode:A_,features:N({enableCapability:A(),enableCapabilityProviderSwitch:A(),enableChatbotSlack:A(),enableChatbotTeams:A(),enableOutgoingWebhooks:A(),enableProject:A(),enableProjectFeedback:A(),enableScheduleActiveWindows:A(),enableScheduleJudge:A(),scheduleJudgeDefaultEnabled:A()})});const cS=N({id:D(),name:T(),email:T(),image:T().nullable().optional()}),lS=N({id:D(),name:T()});N({subjectType:sm,subjectId:D()}),N({grants:M(F(`subjectType`,[N({subjectType:L(om.USER),subjectId:D(),userId:D().optional(),role:am,user:cS}),N({subjectType:L(om.TEAM),subjectId:D(),teamId:D().optional(),role:am,team:lS})]))}),N({role:am});function uS(e){return e.subjectType===om.USER}function dS(e){return e.grants.filter(uS)}N({workspaceId:D(),resourceType:lh}),N({teams:M(N({id:D(),name:T()}))}),N({roles:M(N({id:D(),name:T(),description:T().optional(),isDefault:A(),memberCount:k().int(),permissions:M(T()),fixedPermissions:M(T()).optional(),createdAt:R(),updatedAt:R()})),nextKey:T().optional()}),N({name:T().trim().min(1).max(100),description:T().trim().max(500).optional(),permissions:M(Pf).min(1)}),N({name:T().trim().min(1).max(100),description:T().trim().max(500).optional(),permissions:M(Pf).min(1)});const fS=I([`skills`,`connectors`,`schedules`,`chatbot`,`workflows`,`projects`,`meetings`,`marketplace`]),pS=M(fS).transform(e=>[...new Set(e)]),mS=N({roleId:D(),hiddenEntries:pS});N({roles:M(mS)}),N({roles:M(mS)}),N({hiddenEntries:M(fS)});const hS={},gS={};function _S(e,t){try{let n=(hS[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in gS?gS[n]:yS(n,n.split(`:`))}catch{if(e in gS)return gS[e];let t=e?.match(vS);return t?yS(e,t.slice(1)):NaN}}const vS=/([+-]\d\d):?(\d\d)?/;function yS(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return gS[e]=n*60+r>0?n*60+r+i:n*60-r-i}var bS=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(_S(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)),wS(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=-_S(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),SS(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};const xS=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!xS.test(e))return;let t=e.replace(xS,`$1UTC`);bS.prototype[t]&&(e.startsWith(`get`)?bS.prototype[e]=function(){return this.internal[t]()}:(bS.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),CS(this),+this},bS.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),SS(this),+this}))});function SS(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-_S(e.timeZone,e)*60))}function CS(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()),wS(e)}function wS(e,t){let n=Array.isArray(t)?TS(t):+e.internal,r=_S(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=_S(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(-(_S(e.timeZone,e)*60))%60;(p||f)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+f);let ee=_S(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&&ES(e)-n===ae*60*1e3&&ES(e,oe)!==n;if(re&&ie&&!se){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+ie);let t=_S(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)}SS(e);let ce=(t?n:n+p*1e3)-+e.internal;ce&&Math.abs(ce)<1800*1e3&&(Date.prototype.setTime.call(e,+e+ce),SS(e))}function TS(e){return Date.UTC(e[0],e.length>1?e[1]:0,e.length>2?e[2]:1,...e.slice(3))}function ES(e,t){let n=new Date(t??+e);return n.setUTCSeconds(n.getUTCSeconds()-Math.round(-_S(e.timeZone,n)*60)),+n}const DS=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u,OS=Jc(T().regex(/^[A-Za-z_][A-Za-z0-9_]*$/u),T()).optional();N({runId:T().regex(DS),command:T().min(1),cwd:T().optional(),env:OS,secretEnv:OS,deadlineMs:k().int().min(1e3).max(72e5),outputLimitBytes:k().int().positive().max(1073741824).default(104857600)});const kS=T().length(12).regex(/^[a-z0-9]+$/u),AS=P([F(`mode`,[N({mode:L(`version`),versionId:D()}),N({mode:L(`work`),taskId:D()})]),N({mode:L(`file`),fileId:D()}),N({mode:L(`live`)})]);Bc({siteKey:kS,env:T().min(1),serve:AS,iat:k().optional(),exp:k().optional()});const jS=[`preview_site_ready`,`preview_site_publish`,`preview_site_read`,`preview_site_delete`];function MS(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 NS=M(T().min(1)).superRefine((e,t)=>{let n=MS(e,e=>e);n&&t.addIssue({code:`custom`,message:`Duplicate path: ${n}`})});I(jS);const PS={env:T().min(1),sandboxDomain:T().min(1),sandboxId:T().min(1)},FS={...PS,siteDir:T().min(1).default(`app`)},IS={env:T().min(1),siteKey:kS},LS={...IS,serve:AS};F(`op`,[N({op:L(`preview_site_ready`),...FS}),N({op:L(`preview_site_publish`),...FS}),N({op:L(`preview_site_delete`),...PS})]),F(`op`,[N({op:L(`preview_site_ready`),...LS}),N({op:L(`preview_site_publish`),...LS}),N({op:L(`preview_site_read`),...LS}),N({op:L(`preview_site_delete`),...IS})]),N({files:M(N({path:T().min(1),contentBase64:Sc(`Invalid base64 content`),contentType:T().optional()})).max(128).superRefine((e,t)=>{let n=MS(e,e=>e.path);n&&t.addIssue({code:`custom`,message:`Duplicate path: ${n}`})}),finalize:A().default(!0),manifestFiles:NS.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}}),N({filesUploaded:k().int().nonnegative(),filesDeleted:k().int().nonnegative()}),N({files:NS});const RS=Object.values({BUILT_IN:`built_in`,CUSTOM:`custom`}),zS=[`updatedAt`,`name`];zd.extend({createdBy:I([`me`]).optional(),search:T().trim().max(200).optional(),sortBy:I(zS).optional()});const BS=N({id:D(),name:T(),isMe:A()}),VS=N({id:D()}).nullable(),HS=N({id:D(),name:T(),description:T(),type:I(RS).optional(),provider:T().nullable(),author:BS.nullable(),publish:VS,publishedTo:mh.optional(),team:N({id:D(),name:T()}).optional().describe(`The team this skill is published to, only present when createdBy is team`),versionNumber:k().int().nullable().optional(),isEnabled:A(),myRole:cm,createdAt:R(),updatedAt:R()});N({skills:M(HS),nextKey:T().optional()}),N({id:D(),workspaceId:D(),authorId:D(),name:T(),description:T(),currentVersionId:D(),createdAt:R(),updatedAt:R()}),N({workspaceId:D(),skillId:D(),versionId:D()});const US=N({id:D(),name:T()}),WS=N({id:D(),versionNumber:k().int().min(1),description:T(),createdBy:US,createdAt:R()});N({skillId:D(),skillName:T(),versions:M(WS)}),N({url:O()}),N({search:T().trim().max(200).optional(),status:I(Ch).optional(),nextKey:T().optional(),limit:z().int().min(1).max(100).default(20),sortBy:I(zS).optional()}),N({skills:M(N({id:D(),name:T(),description:T().optional(),hasUnpublishedChanges:A(),latestVersionNumber:k().int().nullable(),publishedTo:mh.optional(),myRole:cm,createdAt:R(),updatedAt:R()})),nextKey:T().optional(),totalCount:k().int().nonnegative(),statusCounts:wh}),zd.extend({createdBy:I([`workspace`,`team`,`me`]).optional(),teamId:D().optional(),search:T().trim().max(200).optional(),sortBy:I(zS).optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}),N({field:T(),message:T()}),N({workspaceId:D(),skillId:D()}),N({isEnabled:A()}),N({isEnabled:A()}),N({skills:M(HS),nextKey:T().optional()}),N({workspaceId:D(),skillId:D()});const GS=N({path:T(),size:k().int().nonnegative()});N({skillId:D(),skillName:T(),description:T(),versionId:D(),files:M(GS)}),N({workspaceId:D(),skillId:D()}),N({path:T().trim().min(1).max(1024)}),F(`kind`,[N({kind:L(`text`),path:T(),size:k().int().nonnegative(),content:T()}),N({kind:L(`image`),path:T(),size:k().int().nonnegative(),content:T()}),N({kind:L(`binary`),path:T(),size:k().int().nonnegative()}),N({kind:L(`too_large`),path:T(),size:k().int().nonnegative()})]);const KS=I([`queued`,`running`,`completed`,`failed`,`cancelled`,`unknown`]),qS=new Set([`completed`,`failed`,`cancelled`,`unknown`]);function JS(e){return qS.has(e)}const YS=[`tool`,`subagent`,`workflow`],XS=I(YS),ZS=I([`stdout`,`stderr`]),QS=N({tail:T(),bytes:k().int().nonnegative()}),$S=N({runId:D(),kind:L(`tool`),toolName:T(),description:T().nullable(),status:KS,stopRequestedAt:T().nullable(),createdAt:T(),startedAt:T().nullable(),completedAt:T().nullable(),summary:T().nullable(),exitCode:k().int().nullable(),timedOut:A(),outputLimitExceeded:A(),errorMessage:T().nullable(),fullOutputAvailable:A()}),eC=N({runs:M($S),nextKey:T().optional()}),tC=$S.extend({stdout:QS.nullable(),stderr:QS.nullable(),liveTail:N({stdout:T(),stderr:T()}).nullable()});N({stream:ZS});const nC=I([`queued`,`running`,`completed`,`failed`,`cancelled`]),rC=KS;I([`subagent`,`workflow`]);const iC={subagent:`subagentRuns`,workflow:`workflowRuns`,tool:`toolRuns`};function aC(e){return iC[e]}const oC=new Set([`completed`,`failed`,`cancelled`]);function sC(e){return oC.has(e)}function cC(e){return e.at(-1)?.toolCallCount??0}N({runs:M(N({runId:T(),kind:XS,status:rC,label:T(),startedAt:T().nullable(),createdAt:T()}))}),N({kinds:P([XS,M(XS).min(1)]).transform(e=>[...new Set(Array.isArray(e)?e:[e])]).default([`subagent`,`workflow`])}),N({runId:D(),status:nC,startedAt:T().nullable(),progress:xl().nullable().meta({type:`object`}),result:xl().nullable().meta({type:`object`}),error:xl().nullable().meta({type:`object`})});const lC=I([`chatgpt`]),uC=I([`active`,`expired`,`needs_reauth`,`quota_exhausted`,`error`]),dC=bf,fC=N({observedAt:R(),windows:Jc(T(),dC),resetCreditsAvailable:k().int().nonnegative().optional()}),pC=N({id:D(),provider:lC,label:T(),accountId:T(),status:uC,quotaResetAt:R().nullable(),quota:fC.nullable(),lastCheckedAt:R().nullable(),createdAt:R()});N({accounts:M(pC)}),N({outcome:I([`reset`,`nothing_to_reset`,`no_credit`,`already_redeemed`]),windowsReset:k().int().nonnegative(),account:pC}),N({accountIds:M(D()).min(1)}),N({provider:lC,label:T().trim().min(1).max(100).optional()}),N({provider:lC}),N({status:I([`pending`,`connected`,`error`]),account:pC.nullable(),lastError:T().nullable()}),N({errorMessage:T().min(1).max(1e3),url:O().max(2e3).optional(),userAgent:T().max(500),workspaceId:D().optional(),sentryEventId:T().max(64).optional(),description:T().max(5e3).nullable()}),N({requestId:k().int()});const mC=[`pending`,`running`,`completed`,`failed`,`cancelled`],hC=[`input`,`output`],gC=I(mC),_C=I(hC),vC=N({taskAssetId:D(),role:_C}),yC=N({id:D(),position:k().int().positive().nullable(),title:T(),status:gC,startedAt:Dl().nullable(),finishedAt:Dl().nullable(),assets:M(vC)}),bC=N({id:D(),taskRunId:D(),revision:k().int().nonnegative(),items:M(yC)}),xC=yC.extend({startedAt:R().nullable(),finishedAt:R().nullable()});bC.extend({items:M(xC)}),N({workspaceId:D()}),N({workspaceId:D(),teamId:D()}),N({workspaceId:D(),teamId:D(),userId:D()});const SC=[nm.OWNER,nm.MANAGER,nm.MEMBER],CC=[rm.VISIBLE,rm.HIDDEN],wC=[nm.OWNER,nm.MANAGER,nm.MEMBER],TC=N({email:oc(),role:I(wC)});N({name:T().trim().min(1).max(100),description:T().trim().max(500).nullable().default(null),visibility:I(CC).optional(),requireReview:A().optional(),acceptExternalSubmissions:A().optional(),members:M(TC).min(1).max(50).optional()}),N({name:T().trim().min(1).max(100).optional(),description:T().trim().max(500).nullable().optional(),visibility:I(CC).optional(),requireReview:A().optional(),acceptExternalSubmissions:A().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`}),N({members:M(TC).min(1).max(50)}),N({role:I(wC)});const EC=N({id:D(),name:T()});N({teams:M(N({id:D(),name:T(),description:T().nullable(),visibility:I(CC),requireReview:A(),acceptExternalSubmissions:A(),memberCount:k().int(),currentUserRole:I(SC).nullable(),createdBy:EC,createdAt:R(),updatedAt:R()}).extend({publishPendingCount:k().int(),published:A().optional()})),nextKey:T().optional()}),zd.extend({search:T().trim().max(200).optional(),resourceType:lh.optional(),resourceId:D().optional()}),N({members:M(N({userId:D(),name:T(),email:T(),role:I(SC),createdAt:R()})),total:k().int().nonnegative()}),Bd.extend({search:T().trim().max(200).optional()}),N({platform:I([`posthog`,`sentry`,`zendesk`])}),N({id:D()});const DC=1e3,OC=I([`personal`,`team`,`workspace`]),kC=I([`manual`,`auto_learned`]),AC=N({id:D(),workspaceId:D(),scope:OC,userId:D().nullable(),teamId:D().nullable(),term:T(),usageContext:T().nullable(),source:kC,createdBy:D().nullable(),createdAt:R(),updatedAt:R()}),jC=N({workspaceId:D()}),MC=jC.extend({teamId:D()});jC.extend({entryId:D()}),MC.extend({entryId:D()}),N({limit:z().int().min(1).max(100).default(100),nextKey:T().optional()}),N({entries:M(AC),nextKey:T().optional()});const NC=T().trim().min(1).max(200);N({term:NC,usageContext:T().trim().max(DC).nullable().optional()}),N({term:NC.optional(),usageContext:T().trim().max(DC).nullable().optional()}).refine(e=>Object.keys(e).length>0,{message:`At least one field is required`});const PC=Jc(T(),j()),FC=T().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/,`node id must be lower_snake_case`),IC=I(rf),LC=P([L(`auto`),IC]),RC=I([`routine`,`reasoning`,`judgment`]),zC=I([`implicit_auto`,`fanout_max_excluded`,`only_enabled_tier`,`single_eligible_tier`,`tier_unavailable`]),BC=N({requestedTier:LC,classifiedDemand:RC.optional(),selectedTier:IC,source:I([`pinned`,`classified`,`fallback`,`policy`,`chat-router`]),constraints:M(zC),policyVersion:I([`chat-router-v1`,`workflow-v1`])});N({id:FC,label:T().min(1).max(120)}).extend({kind:L(`agent`),promptTemplate:T().min(1),agentId:D().optional(),toolAllowlist:M(T()).optional(),outputSchema:PC.optional(),modelSelection:LC.optional(),maxSteps:k().int().min(1).max(50).optional()}),N({status:I([`queued`,`running`,`done`,`failed`]),output:j().optional(),error:T().optional(),durationMs:k().int().optional(),tokens:k().int().optional(),usage:N({inputTokens:k().int(),outputTokens:k().int(),totalTokens:k().int(),reasoningTokens:k().int(),cachedInputTokens:k().int(),cachedCreationTokens:k().int(),model:T().optional()}).optional(),fanOut:N({total:k().int(),done:k().int(),failed:k().int(),running:k().int()}).optional(),label:T().optional(),kind:I([`agent`,`fan_out`]).optional(),seq:k().int().optional(),prompt:T().optional(),invocation:N({schema:j().optional(),toolAllowlist:M(T()).optional(),agentId:T().optional(),maxSteps:k().int().optional(),model:LC.optional()}).optional(),modelAllocation:BC.optional(),stepCount:k().int().optional(),toolCalls:M(N({name:T(),summary:T()})).optional(),phaseId:T().optional(),phaseSeq:k().int().optional()}),N({workflows:M(N({id:D(),name:T(),description:T().nullable(),scriptSource:T(),isActive:A(),createdAt:R(),updatedAt:R(),myRole:cm})),nextKey:T().optional()});const VC=I([`queued`,`running`,`completed`,`failed`,`cancelled`]),HC=N({id:D(),status:VC,startedAt:R().nullable(),completedAt:R().nullable(),error:j().nullable(),createdAt:R()});N({runs:M(HC),nextKey:T().optional()}),HC.extend({workflowId:D(),context:xl().meta({type:`object`}),scriptSnapshot:T(),args:j().nullable()}),N({error:T(),code:T().optional(),errorId:T().max(128).optional()});const UC=T().regex(/^(?:rs1:[0-9a-f-]{36}:\d+:\d+:[0-9a-f]{64}|rsl1:[0-9a-f-]{36}:[0-9a-f-]{36}:\d+)$/);N({recordingId:D(),transcriptRevision:k().int().nonnegative(),segmentIndex:k().int().nonnegative(),mediaFingerprint:T().regex(/^[0-9a-f]{64}$/)}),N({recordingId:D(),chunkId:D(),segmentIndex:k().int().nonnegative()});const WC=N({start:k().nonnegative(),end:k().nonnegative(),text:T(),speaker:T().nullable(),speakerName:T().nullable()});N({sourceId:UC,recordingId:D(),meetingId:D(),title:T(),transcriptRevision:k().int().nonnegative(),segment:WC,context:M(WC),audioUrl:T().nullable(),audioOffsetSec:k().nonnegative().optional(),playbackPending:A().optional(),isHistorical:A()});const GC=[`apiUrl`,`hubUrl`];function KC(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 qC(e){let t=$.getEffectiveProfileName(e);return $.getProfileConfigFile(t)}function X(e){let t=qC(e);try{if(!n.existsSync(t))return{};let e=n.readFileSync(t,`utf-8`);return JSON.parse(e)}catch{return{}}}function JC(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 YC={getApiUrl(e){return X(e).apiUrl??null},setApiUrl(e,t){let n=X(t);n.apiUrl=e,JC(n,t)},clearApiUrl(e){let t=X(e);delete t.apiUrl,JC(t,e)},getHubUrl(e){return X(e).hubUrl??null},setHubUrl(e,t){let n=X(t);n.hubUrl=e,JC(n,t)},getAll(e){return X(e)},setAll(e,t){JC(e,t)},set(e,t,n){let r=X(n);r[e]=t,JC(r,n)},get(e,t){return X(t)[e]},unset(e,t){let n=X(t);delete n[e],JC(n,t)},getDefaultModel(e){return X(e).model?.default??null},setDefaultModel(e,t){let n=X(t);n.model={...n.model,default:e},JC(n,t)},getDefaultConnectorIds(e){return X(e).connectors?.defaults??null},setDefaultConnectorIds(e,t){let n=X(t);n.connectors={...n.connectors,defaults:e},JC(n,t)},getLocalTools(e){return X(e).localTools??null},setLocalTools(e,t){let n=X(t);n.localTools={...n.localTools,...e},JC(n,t)},getToolApprovalMode(e){let t=Rf.safeParse(X(e).toolApprovalMode);return t.success?t.data:null},setToolApprovalMode(e,t){let n=X(t);n.toolApprovalMode=e,JC(n,t)},clearToolApprovalMode(e){let t=X(e);delete t.toolApprovalMode,JC(t,e)}};function XC(){return i.join(VT(),`hub-discovery.json`)}function ZC(e){return typeof e==`object`&&!!e&&`checkedAt`in e&&typeof e.checkedAt==`number`&&`apiUrl`in e&&typeof e.apiUrl==`string`}function QC(){try{let e=JSON.parse(n.readFileSync(XC(),`utf-8`));return typeof e==`object`&&e?e:{}}catch{return{}}}const $C={get(e){let t=new Map(Object.entries(QC())).get(e);return ZC(t)?t:null},set(e,t){try{YT(XC(),{...QC(),[e]:t})}catch{}}};function ew(){let e=process.env.X_WEB_PROXY_ID;return e?{"x-web-proxy-id":e}:{}}const tw=new Map,nw=new Map;function rw(e,t){tw.set(e,t)}function iw(e){return(t,n,r)=>{if(ee(t)){let e=ee(t);r(null,n.all?[{address:t,family:e}]:t,e);return}let i=t===e?tw.get(e):void 0,[a]=i??[];if(!i||!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 aw(e){let{hostname:t}=new URL(e),n=nw.get(t);n||(n=new te({connect:{lookup:iw(t)}}),nw.set(t,n));let r=n,i=ne;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 ow(e){return e.replace(/\/+$/u,``)}function sw(e){return ub.some(({apiHost:t})=>`https://${t}`===e)}function cw(e){return fb(e)}async function lw(e){let t=await p(e,{all:!0});return t.length>0&&rw(e,t),t}async function uw(e,t){return lb(e,t,lw)}async function dw(e,t){return URL.canParse(e)&&URL.canParse(t)&&new URL(t).origin===t&&await uw(new URL(e),new URL(t))===null}async function fw(e,t){let n=pb.safeParse(t);if(!n.success)throw Error(`malformed response`);let r=new URL(n.data.api.baseUrl),i=await uw(new URL(e),r);if(i)throw Error(i);return r.origin}async function pw(e){if(!URL.canParse(e)||!cb(new URL(e)))throw Error(`hubUrl is not https`);try{return await a.get(`${e}/.well-known/entrydesk/client`,{headers:cw(e)?ew():{},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(u(e)?`timed out`:`network error`,{cause:e})}}async function mw(e){return fw(e,await pw(e))}const hw=`https://api.entrydesk.com`,gw=`https://app.entrydesk.com`,_w=new Map,vw=new Map,yw=`ENTRYDESK_MCP_TIMEOUT`,bw=`ENTRYDESK_MCP_MAX_TIMEOUT`;function xw(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 Sw(e){return process.env.ENTRYDESK_API_URL||YC.getApiUrl(e)||null}function Cw(e){return process.env.ENTRYDESK_HUB_URL||YC.getHubUrl(e)||null}async function ww(e){let t=$C.get(e),n=t&&await dw(e,t.apiUrl)?t:null;if(n&&Date.now()-n.checkedAt<3e5)return n.apiUrl;try{let t=await mw(e);return $C.set(e,{apiUrl:t,checkedAt:Date.now()}),t}catch(t){let r=n?.apiUrl??cw(e);if(!r)throw new PT(`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 $C.set(e,{apiUrl:r,checkedAt:Date.now()}),r}}async function Tw(e){try{let t=await ww(e);return vw.set(e,t),t}finally{_w.delete(e)}}async function Ew(e){let t=Sw(e);if(t)return t;let n=Cw(e);if(!n)return hw;let r=ow(n),i=_w.get(r)??Tw(r);return _w.set(r,i),i}function Dw(e,t){return e===Sw(t)||e===`https://api.entrydesk.com`||sw(e)}function Ow(e,t){return Dw(e,t)?ew():{}}function kw(e,t){return Dw(e,t)?void 0:aw(e)}function Aw(e){let t=Sw(e);if(t)return t;let n=Cw(e);if(!n)return hw;let r=ow(n);return vw.get(r)??`resolved from ${r} on first request`}function jw(e){return Cw(e)||`https://app.entrydesk.com`}function Mw(){return{loginTimeout:3e5,ignoreSslErrors:process.env.ENTRYDESK_IGNORE_SSL_ERRORS===`true`||!1}}function Nw(){let e=xw(yw,3e5);return{httpPort:3100,requestTimeout:e,requestMaxTotalTimeout:Math.max(xw(bw,18e5),e)}}function Pw(e,t){return`${ow(jw(t))}${e}`}function Fw(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 Iw(e){return Te(e)?{code:typeof e.code==`string`?e.code:void 0,error:typeof e.error==`string`?e.error:``,issues:Fw(e.errors)}:{error:``,issues:[]}}const Lw=/^[a-z0-9_.-]{1,64}$/iu;function Rw(e){let t=Iw(e).code;return t&&Lw.test(t)?t:void 0}function Z(e){return ue(e).filter(e=>{let t=e.codePointAt(0)??0;return!(t<=31)&&t!==127&&!(t>=128&&t<=159)}).join(``)}const zw=`EntryDesk CLI`,Bw={keychain:!1,permissions:!1,corruptFile:!1,windowsFile:!1};function Vw(e,t){Bw[e]||(Bw[e]=!0,console.error(t))}function Hw(){return process.env.ENTRYDESK_DEBUG?.toLowerCase()===`true`}function Uw(e){return!(!Te(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 Ww(e){return Te(e)?typeof e.getPassword==`function`&&typeof e.setPassword==`function`&&typeof e.deletePassword==`function`:!1}function Gw(e){return $.getProfileCredentialsFile(e)}var Kw=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=re.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=re.randomBytes(16),r=re.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(`:`),r=n.at(0),i=n.at(1),a=n.at(2);if(n.length!==3||r===void 0||i===void 0||a===void 0)throw Error(`Invalid encrypted data format`);let o=Buffer.from(r,`hex`),s=Buffer.from(i,`hex`),c=re.createDecipheriv(`aes-256-gcm`,t,o,{authTagLength:16});c.setAuthTag(s);let l=c.update(a,`hex`,`utf8`);return l+=c.final(`utf8`),l}tryDecrypt(e,t){try{return this.decrypt(e,t)}catch{return null}}tryParseCredentials(e){try{let t=JSON.parse(e);return Uw(t)?t:null}catch{return null}}ensureSecureFilePermissions(e){if(process.platform!==`win32`){try{n.chmodSync(e,384)}catch{Vw(`permissions`,`Warning: Failed to set secure permissions on credentials file.`);return}try{(n.statSync(e).mode&511)!=384&&Vw(`permissions`,`Warning: Credentials file permissions are too permissive.`)}catch{Vw(`permissions`,`Warning: Failed to verify credentials file permissions.`)}}}async getCredentials(e){let t=Gw(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 Vw(`corruptFile`,"Warning: Credentials file is unreadable. Run `entrydesk login` again."),null}catch{return null}}async setCredentials(e,t){$.ensureProfileDir(e);let r=Gw(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=Gw(e);try{n.existsSync(t)&&n.unlinkSync(t)}catch{}}},qw=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=Ww(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__${re.randomBytes(8).toString(`hex`)}`,n=`test`;await e.setPassword(zw,t,n);let r=await e.getPassword(zw,t),i=await e.deletePassword(zw,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(zw,this.getAccount(e));if(!n)return null;let r=this.tryParseKeychainPayload(n);return r||Vw(`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(zw,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(zw,this.getAccount(e))}tryParseKeychainPayload(e){try{let t=JSON.parse(e);return Uw(t)?t:null}catch{return null}}};const Q=new class{keychainStorage=null;fileStorage=new Kw;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 qw,t=await e.isAvailable();this.keychainAvailable=t,this.keychainStorage=t?e:null}catch{this.keychainAvailable=!1,this.keychainStorage=null}!this.keychainAvailable&&!this.shouldForceFileStorage()&&(Hw()&&Vw(`keychain`,`Keychain unavailable. Falling back to file-based credentials.`),process.platform===`win32`&&Vw(`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()||Vw(`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)}},Jw={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 Yw(e){return e instanceof AbortSignal?{signal:e}:e}function Xw(e){try{let t=JSON.parse(e);return Te(t)&&typeof t.code==`string`?t.code:void 0}catch{return}}function Zw(e){return{...e,title:Z(e.title),...e.project&&{project:{...e.project,name:Z(e.project.name)}}}}function Qw(e){return{...e,tasks:e.tasks.map(Zw)}}function $w(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 eT=class extends Error{constructor(){super(`The task stream could not continue from where it was cut.`),this.name=`TaskStreamOffsetUnavailableError`}},tT=class extends Error{status;body;code;constructor(e,t){super(`Task API failed (${e}): ${Z(t)}`),this.status=e,this.body=t,this.name=`TaskApiError`,this.code=Xw(t)}};const nT=6e4;function rT(e){let t=new FormData;return t.append(`file`,new Blob([e.buffer],{type:e.mimeType}),e.filename),t}var iT=class e{explicitBaseUrl;profileName;currentClient;runtimeConfigCache;constructor(e,t){this.explicitBaseUrl=e,this.profileName=t,Mw().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 Ew(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:Ow(e,this.profileName),fetch:kw(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 generateAgentIcon(e,t,n){return(await this.http()).post(`v1/workspaces/${t}/agents/generateIcon`,{headers:{Authorization:`Bearer ${e}`},json:n,timeout:12e4}).json()}async uploadAgentIcon(e,t,n){return(await this.http()).post(`v1/workspaces/${t}/agents/uploadIcon`,{headers:{Authorization:`Bearer ${e}`},body:rT(n),timeout:12e4}).json()}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 listResourceGrants(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/${n.collection}/${n.id}/grants`,{headers:{Authorization:`Bearer ${e}`}}).json()}async upsertResourceGrant(e,t,n,r,i){return await(await this.http()).put(`v1/workspaces/${t}/${n.collection}/${n.id}/grants/${r.subjectType}/${r.subjectId}`,{headers:{Authorization:`Bearer ${e}`},json:{role:i}}).json()}async removeResourceGrant(e,t,n,r){await(await this.http()).delete(`v1/workspaces/${t}/${n.collection}/${n.id}/grants/${r.subjectType}/${r.subjectId}`,{headers:{Authorization:`Bearer ${e}`}})}async submitWorkspacePublish(e,t,n){await(await this.http()).post(`v1/workspaces/${t}/publishes`,{headers:{Authorization:`Bearer ${e}`},json:n})}async revokeWorkspacePublish(e,t,n){await(await this.http()).delete(`v1/workspaces/${t}/publishes/${n}`,{headers:{Authorization:`Bearer ${e}`}})}async listMySkills(e,t,n){let r=await this.http(),i={limit:100};return n?.nextKey&&(i.nextKey=n.nextKey),await r.get(`v1/workspaces/${t}/mySkills`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}async listTeams(e,t,n){let r=await this.http(),i={limit:100};return n?.nextKey&&(i.nextKey=n.nextKey),n?.search&&(i.search=n.search),await r.get(`v1/workspaces/${t}/teams`,{headers:{Authorization:`Bearer ${e}`},searchParams:i}).json()}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 dispatchMeetingBot(e,t,n,r){return await(await this.http()).post(`v1/workspaces/${t}/meetings/${n}/bot`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}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/${encodeURIComponent(r)}`,{headers:{Authorization:`Bearer ${e}`}}).json()}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=Object.fromEntries(Object.entries(i).filter(([,e])=>e!==void 0));return 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=rT(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=rT(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(Qw)}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),$w(await i.get(`v1/workspaces/${t}/tasks/search`,{headers:{Authorization:`Bearer ${e}`},searchParams:a}).json())}async getMessages(e,t,n,r=50,i){return await(await this.http()).get(`v1/workspaces/${t}/tasks/${n}/messages`,{headers:{Authorization:`Bearer ${e}`},searchParams:{limit:r,...i&&{nextKey:i}}}).json()}async getAgent(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/agents/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async getAgentHeadVersionId(e,t,n){return(await(await this.http()).get(`v1/workspaces/${t}/agents/${n}/versions`,{headers:{Authorization:`Bearer ${e}`},searchParams:{limit:1}}).json()).versions.at(0)?.id}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 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}=Yw(i),c=await this.http();try{let i=await c.post(`v1/workspaces/${t}/tasks`,{headers:{Authorization:`Bearer ${e}`},json:n,timeout:nT,throwHttpErrors:!1,...a?{signal:a}:{}});if(!i.ok)throw new tT(i.status,await i.text());let s=iy(await i.json());return s&&r?.(s),!s||`noop`in s?new Response(`data: [DONE]
73
+
74
+ `,{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,offset:o,prefixSha256:s}={}){let c=await this.http(),l={...a?{textDelivery:`raw`}:{},...o&&s?{offset:o,prefixSha256:s}:{}},u=await c.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,...Object.keys(l).length>0?{searchParams:l}:{},...i?{signal:i}:{}});if(!u.ok)throw new tT(u.status,await u.text());if(a===!0&&u.headers.get(`X-EntryDesk-Text-Delivery`)!==`raw`)throw await u.body?.cancel().catch(()=>void 0),TypeError(`API did not negotiate raw task stream delivery`);if(o&&u.headers.get(`X-EntryDesk-Stream-Offset`)!==String(o))throw await u.body?.cancel().catch(()=>void 0),new eT;return u}resumeTaskStream(e,t,n){return this.taskStream(e,t,n)}resumeTaskStreamById(e,t,n,r,i={}){return this.taskStream(e,t,n,{...i,streamId:r})}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(r.status===202)return`stopped`;if(r.status===404)return`not_found`;let i=new tT(r.status,await r.text());if(r.status===409&&i.code===`no_active_stream`)return`not_running`;throw i}async getSubagentRun(e,t,n,r){return(await this.http()).get(`v1/workspaces/${t}/subagentRuns/${encodeURIComponent(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/${encodeURIComponent(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}): ${Z(e)}`)}return i}async listBackgroundRuns(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/tasks/${n}/backgroundRuns`,{headers:{Authorization:`Bearer ${e}`},searchParams:new URLSearchParams(YS.map(e=>[`kinds`,e]))}).json().then(e=>({runs:e.runs.map(e=>({...e,label:Z(e.label)}))}))}async listToolRuns(e,t,n,r){let i=await this.http(),a={limit:r?.limit??100};r?.nextKey&&(a.nextKey=r.nextKey);let o=eC.parse(await i.get(`v1/workspaces/${t}/tasks/${n}/toolRuns`,{headers:{Authorization:`Bearer ${e}`},searchParams:a}).json());return{nextKey:o.nextKey,runs:o.runs.map(e=>({...e,toolName:Z(e.toolName),description:e.description&&Z(e.description)}))}}async getToolRun(e,t,n,r){let i=await this.http();return tC.parse(await i.get(`v1/workspaces/${t}/tasks/${n}/toolRuns/${encodeURIComponent(r)}`,{headers:{Authorization:`Bearer ${e}`}}).json())}async getToolRunOutput(e,t,n,r,i){let a=await(await this.http()).get(`v1/workspaces/${t}/tasks/${n}/toolRuns/${encodeURIComponent(r)}/output`,{headers:{Authorization:`Bearer ${e}`},searchParams:{stream:i},throwHttpErrors:!1});if(a.status===404)return null;if(!a.ok)throw new tT(a.status,await a.text());return a.text()}async stopBackgroundRun(e,t,n,r,i){let a=await this.http(),o=aC(i);return(await a.post(`v1/workspaces/${t}/tasks/${n}/${o}/${encodeURIComponent(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}): ${Z(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),n=Te(t)?t.code:void 0;if(n===`sharing_disabled`)throw Error(`Sharing is turned off for this workspace by an admin.`,{cause:e});if(n===`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,r){let i=await this.http(),a={};return n&&(a.Authorization=`Bearer ${n}`),await i.get(`v1/shares/${e}/messages`,{headers:a,searchParams:{limit:t,...r&&{nextKey:r}}}).json()}async getTask(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/tasks/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json().then(Zw)}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=rT(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 Jw.getAll(t);return n?{client:new e(void 0,t),accessToken:n.accessToken,workspaceId:n.workspaceId??null}:null}};function aT(){return process.env.ENTRYDESK_SANDBOX===`true`}function oT(){if(!aT())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 sT(){return!!process.env.ENTRYDESK_TOKEN?.trim()}function cT(){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 lT=`sandbox environment (ENTRYDESK_SANDBOX)`;function uT(){let e=oT();if(e)return{authSource:`sandbox-env`,label:lT,workspaceId:e.workspaceId};let t=cT();return t?{authSource:`pat-env`,label:`personal access token (ENTRYDESK_TOKEN)`,workspaceId:t.workspaceId}:null}const dT=`entrydesk-cli`;function fT(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 pT(e,t,n){try{return await e.post(`v1/oauth/device/code`,{json:{client_id:dT,scope:t}}).json()}catch(r){if(!(r instanceof o))throw r;let{code:i,error:a}=Iw(r.data);if(i===`invalid_scope`){let{rejected:r,remaining:i}=fT(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:dT,scope:i.join(` `)}}).json()}throw Error(a?`Failed to request device code: ${a}`:`Failed to request device code`,{cause:r})}}const mT=new Set([`localhost`,`0.0.0.0`,`::`,`::1`]);function hT(e){let t=e.replace(/^\[|\]$/gu,``).replace(/\.$/u,``).toLowerCase(),n=t.replace(/^::ffff:/u,``);return mT.has(t)||/^127(?:\.\d{1,3}){3}$/u.test(n)||t.startsWith(`::ffff:7f`)}const gT=/^[A-Za-z0-9\-._~/]*$/u,_T=/^[A-Za-z0-9-]{1,64}$/u;function vT(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!==``&&!hT(t.hostname)&&gT.test(t.pathname)&&(r=new URL(t.pathname,t.origin))}catch{}return r??=new URL(`/oauth/device`,t),_T.test(n)&&r.searchParams.set(`user_code`,n),r.toString()}function yT(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}ie(i,a,r=>{r?n(Error(`Could not open the browser. Visit this URL to continue: ${e}`,{cause:r})):t()})})}async function bT(e,{device_code:t,expires_in:n,interval:r},i){let a=Math.max(r,5)*1e3,s=Date.now()+n*1e3,c;for(;Date.now()<s;){await ae(a);try{return await e.post(`v1/oauth/token`,{json:{grant_type:`urn:ietf:params:oauth:grant-type:device_code`,device_code:t,client_id:dT}}).json()}catch(e){if(l(e)||u(e)){c||i?.onWarning?.(`Could not reach the server; retrying until the code expires…`),c=e;continue}if(e instanceof o){c=void 0;let{code:t,error:n}=Iw(e.data),r=t||n;if(!r)continue;switch(r){case`authorization_pending`:continue;case`slow_down`:a+=5e3;continue;case`access_denied`:throw Error(`Authorization denied.`,{cause:e});case`expired_token`:throw Error("Device code expired. Run `entrydesk login` again.",{cause:e});default:throw Error(`Authorization failed: ${r||`Unknown error`}`,{cause:e})}}let t=e instanceof Error?e:Error(`Unknown error during authorization`);throw i?.onError?.(t),t}}throw Error("Device code expired. Run `entrydesk login` again.",{cause:c})}async function xT(e){let t=await Ew(),n=jw(),r=Mw(),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:Ow(t),fetch:kw(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 pT(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{user_code:o}=i,s=vT(i.verification_uri,n,o);e?.onDeviceCodeReceived?.(o,s),e?.onBrowserOpening?.();try{await yT(s)}catch(e){process.env.DEBUG&&console.error(`[DEBUG] Failed to open browser:`,e)}e?.onWaitingForAuthorization?.();let l=await bT(r,i,e);e?.onAuthorized?.();let u={};try{u=oe(l.access_token)}catch{}return{accessToken:l.access_token,refreshToken:l.refresh_token??void 0,email:u.email||``,scopes:l.scope.split(` `).filter(e=>e.length>0)}}finally{i===void 0?delete process.env.NODE_TLS_REJECT_UNAUTHORIZED:process.env.NODE_TLS_REJECT_UNAUTHORIZED=i}}function ST(e){if(e instanceof o){let t=e.response.status;return t===400||t===401}return!1}var CT=class extends Error{code;constructor(e,t){super(t),this.name=`AuthError`,this.code=e}};function wT(e){try{let t=e.split(`.`).at(1);if(t===void 0)return null;let n=t.replace(/-/g,`+`).replace(/_/g,`/`),r=(4-n.length%4)%4,i=n.padEnd(n.length+r,`=`),a=Buffer.from(i,`base64`).toString(`utf8`),o=JSON.parse(a);return Te(o)?o:null}catch{return null}}function TT(e,t=300){let n=wT(e)?.exp;return typeof n==`number`&&n-Math.floor(Date.now()/1e3)<=t}async function ET(e){let t=e.accessToken;if(!TT(t))return t;if(!e.refreshToken)throw await Jw.clear(),new CT(`session-expired`,"Session expired. Run `entrydesk login` again.");let n=e.refreshToken,r=new iT(await Ew());try{let t=await r.refreshOAuthToken({refreshToken:n,clientId:dT}),i=await Jw.getAll();return i?.accessToken&&i.refreshToken&&i.refreshToken!==n?i.accessToken:(await Jw.saveAll({...i??e,accessToken:t.access_token,refreshToken:t.refresh_token??i?.refreshToken??n}),t.access_token)}catch(e){if(!ST(e))throw new CT(`refresh-failed`,`Could not refresh your session — the auth server is unreachable. Try again in a moment.`);let t=await Jw.getAll();if(t?.accessToken&&t.refreshToken&&t.refreshToken!==n)return t.accessToken;throw await Jw.clear(),new CT(`session-expired`,"Session expired. Run `entrydesk login` again.")}}async function DT(){let e=oT();if(e)return e.accessToken;let t=await Jw.getAll();if(!t?.accessToken)throw new CT(`not-logged-in`,"Not logged in. Run `entrydesk login` first.");return ET(t)}async function OT(){let e=oT();if(e)return{accessToken:e.accessToken,workspaceId:e.workspaceId};let t=cT();if(t)return t;let n=await Jw.getAll();if(!n?.accessToken)throw new CT(`not-logged-in`,"Not logged in. Run `entrydesk login` first.");if(!n.workspaceId)throw new CT(`no-workspace`,"No workspace selected. Run `entrydesk workspaces` first.");return{accessToken:await ET(n),workspaceId:n.workspaceId}}async function kT(){let e=oT()??cT();if(e)return e;let t=await Jw.getAll();if(!t?.accessToken)throw new CT(`not-logged-in`,"Not logged in. Run `entrydesk login` first.");let n=await ET(t),r=await Jw.getAll();return{accessToken:n,workspaceId:(r?.accessToken===n?r:t).workspaceId}}function AT(e){let t=``;try{t=` by ${Aw()}`}catch{}let n=Rw(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>`.':aT()?`Requests are authenticated via ${lT} — ask the sandbox owner to issue fresh credentials.`:sT()?"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 jT(e){let t=Math.round(e/1e3);return t%60==0&&t>=60?`${t/60}m`:`${t}s`}function MT(e){return e instanceof Error&&e.name===`SdkError`&&`code`in e&&e.code===`REQUEST_TIMEOUT`}function NT(){let{requestTimeout:e,requestMaxTotalTimeout:t}=Nw();return`The request timed out after ${jT(e)} without a response or progress update (absolute cap ${jT(t)}). Raise the limit with ${yw}=<milliseconds>, and ${bw}=<milliseconds> for the absolute cap.`}var PT=class extends Error{exitCode;cause;constructor(e,t=1,n){super(e),this.exitCode=t,this.cause=n,this.name=`CLIError`}};function FT(e){if(e instanceof PT)return{message:`Error: ${e.message}`,exitCode:e.exitCode,cause:e.cause,stack:e.cause?.stack};if(e instanceof CT)return{message:e.message,exitCode:1,stack:e.stack};if(MT(e))return{message:NT(),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=Rw(e.data);if(t===401)return{message:AT(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=Iw(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=>fe(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 IT(e){let{code:t=`request_failed`,message:n}=FT(e);return{code:t,message:n}}function LT(e){let t=FT(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 RT=`default`,zT=/^[A-Za-z0-9_-]+$/;let BT=null;function VT(){return i.join(r.homedir(),`.entrydesk`)}function HT(){return i.join(VT(),`profiles`)}function UT(){return i.join(VT(),`profiles.json`)}function WT(e){return i.join(HT(),e)}function GT(e){if(n.existsSync(e))try{n.chmodSync(e,448)}catch{}else n.mkdirSync(e,{mode:448,recursive:!0})}function KT(){GT(VT())}function qT(){GT(HT())}function JT(){let e=UT();try{if(!n.existsSync(e))return null;let t=n.readFileSync(e,`utf-8`);return JSON.parse(t)}catch{return null}}function YT(e,t){KT();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 XT(e){YT(UT(),e)}function ZT(e){let t=e.profiles?.length?[...new Set(e.profiles)]:[],n=e.currentProfile&&t.includes(e.currentProfile)?e.currentProfile:t[0]||RT;return t.length===0&&t.push(RT),t.includes(n)||t.unshift(n),{currentProfile:n,profiles:t}}function QT(e){qT(),GT(WT(e))}function $T(){let e=JT();if(!e){let e={currentProfile:RT,profiles:[RT]};return XT(e),qT(),QT(RT),e}let t=ZT(e);return(t.currentProfile!==e.currentProfile||t.profiles.length!==e.profiles.length)&&XT(t),qT(),t}function eE(e){if(!e)throw new PT(`Profile name is required.`);if(!zT.test(e))throw new PT(`Invalid profile name. Use letters, numbers, dash, or underscore.`)}function tE(e,t){if(!e.profiles.includes(t))throw new PT(`Profile not found: ${t}`)}function nE(e,t){if(e.profiles.includes(t))throw new PT(`Profile already exists: ${t}`)}const $={DEFAULT_PROFILE:RT,setOverrideProfile(e){BT=e},getOverrideProfile(){return BT},getProfileDir(e){return WT(e)},getProfileConfigFile(e){return i.join($.getProfileDir(e),`config.json`)},getProfileCredentialsFile(e){return i.join($.getProfileDir(e),`credentials.json`)},getProfileNames(){return[...$T().profiles]},getProfileCount(){return $.getProfileNames().length},getCurrentProfileName(){return $T().currentProfile},getEffectiveProfileName(e){let t=$T(),n=e||BT||t.currentProfile;return eE(n),tE(t,n),n},ensureProfileExists(e){let t=$T();eE(e),tE(t,e)},createProfile(e){eE(e);let t=$T();nE(t,e),XT({currentProfile:t.currentProfile,profiles:[...t.profiles,e]}),QT(e)},deleteProfile(e){eE(e);let t=$T();tE(t,e);let r=t.profiles.filter(t=>t!==e),i=r.at(0);if(i===void 0)throw new PT(`Cannot delete the last profile.`);let a=t.currentProfile;a===e&&(a=r.includes(RT)?RT:i),XT({currentProfile:a,profiles:r});try{n.rmSync($.getProfileDir(e),{recursive:!0,force:!0})}catch{}return{currentProfile:a}},renameProfile(e,t){eE(e),eE(t);let r=$T();tE(r,e),nE(r,t);let i=WT(e),a=WT(t),o=n.existsSync(i);if(o)try{n.renameSync(i,a)}catch(e){throw new PT(`Failed to rename profile directory.`,1,e instanceof Error?e:void 0)}let s=r.profiles.map(n=>n===e?t:n),c=r.currentProfile===e?t:r.currentProfile,l={currentProfile:c,profiles:s};try{XT(l)}catch(e){if(o)try{n.renameSync(a,i)}catch(e){throw new PT(`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{QT(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){eE(e);let t=$T();tE(t,e),XT({currentProfile:e,profiles:t.profiles}),QT(e)},ensureProfileDir:QT};export{Nb as $,Yp as $t,hw as A,zl as An,Rh as At,YC as B,oh as Bt,iT as C,Cu as Cn,_g as Ct,Jw as D,Eu as Dn,Oh as Dt,eT as E,wu as En,Kh as Et,jw as F,ih as Ft,tC as G,ym as Gt,cC as H,Cm as Ht,Nw as I,Wm as It,Px as J,em as Jt,KS as K,um as Kt,Ew as L,$m as Lt,kw as M,de as Mn,Dh as Mt,Aw as N,rh as Nt,Rw as O,yu as On,kh as Ot,Pw as P,Qm as Pt,Ib as Q,tm as Qt,Ow as R,sh as Rt,sT as S,Ou as Sn,Mg as St,tT as T,du as Tn,$h as Tt,sC as U,hm as Ut,KC as V,Em as Vt,JS as W,xm as Wt,sx as X,am as Xt,Nx as Y,im as Yt,ox as Z,om as Zt,xT as _,Wu as _n,pv as _t,FT as a,If as an,ky as at,oT as b,Tu as bn,B_ as bt,MT as c,Gf as cn,_y as ct,DT as d,ep as dn,Xv as dt,q as en,Ly as et,kT as f,np as fn,$v as ft,dT as g,Hd as gn,mv as gt,ET as h,Rf as hn,Qv as ht,NT as i,Fp as in,Ny as it,gw as j,Te as jn,Ah as jt,Z as k,Su as kn,Lh as kt,CT as l,Wf as ln,vy as lt,TT as m,Uf as mn,Bv as mt,VT as n,Jp as nn,jy as nt,IT as o,Hf as on,Oy as ot,OT as p,Zf as pn,Wv as pt,dS as q,dm as qt,PT as r,qp as rn,Py as rt,LT as s,Lf as sn,Fy as st,$ as t,Wp as tn,Ty as tt,wT as u,zf as un,gy as ut,lT as v,vu as vn,sv as vt,nT as w,xu as wn,Yh as wt,cT as x,ju as xn,Ng as xt,uT as y,fu as yn,cv as yt,GC as z,Fm as zt};