@entrydesk/cli 2.2.0-beta.2 → 2.2.0-beta.3

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 (67) hide show
  1. package/README.md +72 -3
  2. package/dist/{add-BYupRwo_.js → add-QRCNes33.js} +1 -1
  3. package/dist/{agents-CeXkI4US.js → agents-C6_4nYx3.js} +1 -1
  4. package/dist/{billing-BeaQvLSK.js → billing-B52QpxBo.js} +1 -1
  5. package/dist/{budget-B4SKcu-1.js → budget-CCZUSzQX.js} +1 -1
  6. package/dist/build-task-request-config-D1BoTQ_r.js +10 -0
  7. package/dist/{commands-Bisc9IY0.js → commands-DT40svYr.js} +1 -1
  8. package/dist/{commands-Drf0_Uu8.js → commands-OQF1wQ6Z.js} +1 -1
  9. package/dist/{config-ROg2C1qz.js → config-DRasb4uc.js} +2 -2
  10. package/dist/connectors-CGdm_hGV.js +11 -0
  11. package/dist/{file-upload-ClVCUJp1.js → file-upload-DuXlHqyj.js} +1 -1
  12. package/dist/{format-B6a10P86.js → format-C0MI0rzh.js} +1 -1
  13. package/dist/index.js +43 -23
  14. package/dist/{instruction-D0Sy5WJu.js → instruction-OdStaJMu.js} +1 -1
  15. package/dist/{login-7nuzjqqL.js → login-BJK-C-yF.js} +1 -1
  16. package/dist/{logout-O7uVmxmK.js → logout-b335WkA6.js} +1 -1
  17. package/dist/{marketplace-8V1DNOld.js → marketplace-B5HXnl23.js} +2 -2
  18. package/dist/{mcp-client-DpDabxv9.js → mcp-client-mMhJPPZN.js} +1 -1
  19. package/dist/{mcp-DwMCTWU-.js → mcp-hLbWIery.js} +1 -1
  20. package/dist/{meeting-DCMyPA59.js → meeting-2Z2c7Ppj.js} +1 -1
  21. package/dist/{message-utils-C6JS91tT.js → message-utils-BHtHL44l.js} +7 -7
  22. package/dist/{models-BdxCIBZD.js → models-Cd725_l2.js} +1 -1
  23. package/dist/{notifications-BZxmGqEM.js → notifications-D1-iA_h8.js} +1 -1
  24. package/dist/{paginate-B-nHzQ0j.js → paginate-y3CJuqRW.js} +1 -1
  25. package/dist/{paths-ZPsPG0IC.js → paths-CIj_zxDF.js} +1 -1
  26. package/dist/profile-B1Jui2gr.js +10 -0
  27. package/dist/profile-storage-BPBUFvA6.js +74 -0
  28. package/dist/{project-Ba5LBPMF.js → project-DwR8Pf3y.js} +1 -1
  29. package/dist/project-context-CiI3hHaT.js +10 -0
  30. package/dist/{project-governance-B66BEQxO.js → project-governance-OVpv9LXv.js} +1 -1
  31. package/dist/{project-sources-D4m1oEvu.js → project-sources-CtSvnInR.js} +1 -1
  32. package/dist/{project-sources-write-CCICd6f8.js → project-sources-write-BaWV2jtH.js} +1 -1
  33. package/dist/{project-tasks-ylwpld2n.js → project-tasks-BKdZe3qu.js} +1 -1
  34. package/dist/{push-CNZNGP6D.js → push-CMRb7H6f.js} +1 -1
  35. package/dist/{recordings-DpDUq0iw.js → recordings-Bz6wVqBM.js} +1 -1
  36. package/dist/{remove-CbGljmXk.js → remove-B7p4PV6f.js} +1 -1
  37. package/dist/resolve-DdZsf3QT.js +14 -0
  38. package/dist/resource-grants-HDU2bPhQ.js +10 -0
  39. package/dist/{schedules-CTFIi2SL.js → schedules-DrzGEvSR.js} +2 -2
  40. package/dist/{skills-DbFd9oBS.js → skills-CdcBhRxn.js} +1 -1
  41. package/dist/{status-Br8KI96N.js → status-p4tJRN-I.js} +1 -1
  42. package/dist/status-wTfceoHq.js +10 -0
  43. package/dist/task-CyuwUFin.js +116 -0
  44. package/dist/tasks-B0x5P4UU.js +22 -0
  45. package/dist/{tasks-CNUJbs7w.js → tasks-BpqBNtta.js} +1 -1
  46. package/dist/{team-BfBb-uk2.js → team-R67MPRfp.js} +1 -1
  47. package/dist/{teams-47YS8wYw.js → teams-DvACXgpt.js} +1 -1
  48. package/dist/{token-CvjOXFDB.js → token-Diy_e8pF.js} +1 -1
  49. package/dist/{tool-D_n28XK0.js → tool-CFaX5Q8e.js} +7 -7
  50. package/dist/{update-B8gxXkSO.js → update-CvHLQuTu.js} +1 -1
  51. package/dist/{usage-BPyHU-GL.js → usage-Bv04bmPn.js} +1 -1
  52. package/dist/{usage-audit-STxCfVta.js → usage-audit-D65sU87J.js} +3 -3
  53. package/dist/{version-Ca4arzgb.js → version-BFfQldMJ.js} +1 -1
  54. package/dist/{webhook-B0E0M2EK.js → webhook-h1JuRyJf.js} +1 -1
  55. package/dist/{workflow-B-iN8d5R.js → workflow-CrOwbORs.js} +1 -1
  56. package/dist/{workspaces-DmqtYNX1.js → workspaces-CJP3Q8wV.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
@@ -1,73 +0,0 @@
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)}new TextEncoder,new TextDecoder(`utf-8`,{fatal:!1});function Ee(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 De(e,t=`|`){return e.map(e=>Ze(e)).join(t)}function Oe(e,t){return typeof t==`bigint`?t.toString():t}var ke=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 Ae(e){return new ke(e)}function je(e){return e==null}function Me(e){let t=+!!e.startsWith(`^`),n=e.endsWith(`$`)?e.length-1:e.length;return e.slice(t,n)}function Ne(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 Pe(e,t,n){Object.defineProperty(e,t,{value:n,writable:!0,enumerable:!0,configurable:!0})}function Fe(e){let t=Object.getOwnPropertyDescriptor(e,`shape`);return t?.get?t.get.raw:t?.value}function Ie(e){return Fe(e._zod.def)??e._zod.def.shape}function Le(e,t,n){Object.defineProperty(e,t,{get(){let e=n();return Pe(this,t,e),e},enumerable:!0,configurable:!0})}function Re(e,t,n){t in e?Pe(e,t,n):e[t]=n}function ze(e,t,n,r){let i=Ie(t);for(let a of n){let n=Object.getOwnPropertyDescriptor(i,a);n.enumerable&&(n.get?Le(e,a,()=>{let e=t._zod.def.shape[a];return r?r(e,a):e}):Re(e,a,r?r(n.value,a):n.value))}}function Be(e,t){for(let n of Reflect.ownKeys(t)){let r=Object.getOwnPropertyDescriptor(t,n);r.enumerable&&(r.get?Le(e,n,()=>t[n]):Re(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 Ve(e){return JSON.stringify(e)}function He(e){return e.toLowerCase().trim().replace(/[^\w\s-]/g,``).replace(/[\s_-]+/g,`-`).replace(/^-+|-+$/g,``)}const Ue=`captureStackTrace`in Error?Error.captureStackTrace:(...e)=>{};function We(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const Ge=Ae(()=>{if(Rt.jitless||typeof navigator<`u`&&navigator?.userAgent?.includes(`Cloudflare`))return!1;try{return Function(``),!0}catch{return!1}});function Ke(e){if(We(e)===!1)return!1;let t=e.constructor;if(t===void 0||typeof t!=`function`)return!0;let n=t.prototype;return We(n)!==!1&&Object.prototype.hasOwnProperty.call(n,`isPrototypeOf`)!==!1}function qe(e){return Ke(e)?{...e}:Array.isArray(e)?[...e]:e instanceof Map?new Map(e):e instanceof Set?new Set(e):e}const Je=new Set([`string`,`number`,`symbol`]);function Ye(e){return e.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`)}function Xe(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 Ze(e){return typeof e==`bigint`?e.toString()+`n`:typeof e==`string`?`"${e}"`:`${e}`}function Qe(e){return Object.keys(e).filter(t=>e[t]._zod.optin!==void 0&&e[t]._zod.optout===`optional`)}const $e={safeint:[-(2**53-1),2**53-1],int32:[-2147483648,2147483647],uint32:[0,4294967295],float32:[-34028234663852886e22,34028234663852886e22],float64:[-Number.MAX_VALUE,Number.MAX_VALUE]},et={int64:[BigInt(`-9223372036854775808`),BigInt(`9223372036854775807`)],uint64:[BigInt(0),BigInt(`18446744073709551615`)]};function tt(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 ze(i,e,nt(e,t)),Xe(e,m(n,{shape:i,checks:[]}))}function nt(e,t){let n=Ie(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 rt(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(nt(e,t)),a={};return ze(a,e,Reflect.ownKeys(Ie(e)).filter(e=>!i.has(e))),Xe(e,m(n,{shape:a,checks:[]}))}function it(e,t){if(!Ke(t))throw Error(`Invalid input to extend: expected a plain object`);let n=e._zod.def.checks;if(n&&n.length>0){let n=Ie(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 Xe(e,m(e._zod.def,{shape:at(e,t)}))}function at(e,t){let n={};return ze(n,e,Reflect.ownKeys(Ie(e))),Be(n,t),n}function ot(e,t){if(!Ke(t))throw Error(`Invalid input to safeExtend: expected a plain object`);return Xe(e,m(e._zod.def,{shape:at(e,t)}))}function st(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 ze(n,e,Reflect.ownKeys(Ie(e))),ze(n,t,Reflect.ownKeys(Ie(t))),Xe(e,m(e._zod.def,{shape:n,get catchall(){return t._zod.def.catchall},checks:t._zod.def.checks??[]}))}function ct(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(nt(t,n)):void 0,o={};return ze(o,t,Reflect.ownKeys(Ie(t)),e&&((t,n)=>a&&!a.has(n)?t:new e({type:`optional`,innerType:t}))),Xe(t,m(t._zod.def,{shape:o,checks:[]}))}function lt(e,t,n){let r=n?new Set(nt(t,n)):void 0,i={};return ze(i,t,Reflect.ownKeys(Ie(t)),(t,n)=>r&&!r.has(n)?t:new e({type:`nonoptional`,innerType:t})),Xe(t,m(t._zod.def,{shape:i}))}function ut(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 dt(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 ft(e,t){return t.map(t=>{var n;return(n=t).path??(n.path=[]),t.path.unshift(e),t})}function pt(e){return typeof e==`string`?e:e?.message}function mt(e,t,n){var r;for(let i=t;i<e.length;i++)(r=e[i]).schema??(r.schema=n)}function ht(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:pt(e.inst?._zod.def?.error?.(e))??pt(a?.(e))??pt(t?.error?.(e))??pt(n.customError?.(e))??pt(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 gt=/[\uD800-\uDBFF]/;function _t(e){let t=e.length;if(!gt.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 vt(e){return Array.isArray(e)?`array`:typeof e==`string`?`string`:`unknown`}function yt(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 bt(...e){let[t,n,r]=e;return typeof t==`string`?{message:t,code:`custom`,input:n,inst:r}:{...t}}function xt(e,t){for(let n in t){let r=Object.getOwnPropertyDescriptor(t,n);r.get?Object.defineProperty(e,n,{...r,enumerable:!1}):Tt(e,n,r.value)}}function St(e,t,n,r=!0){return Object.defineProperty(e,t,{configurable:!0,writable:!0,enumerable:r,value:n}),n}function Ct(e,t,n){return St(e,t,n,!1)}function wt(e,t){for(let n in e){let r=e[n];Object.defineProperty(t,n,{configurable:!0,enumerable:!0,get(){return St(this,n,r(this))},set(e){St(this,n,e)}})}return t}function Tt(e,t,n){Object.defineProperty(e,t,{configurable:!0,get(){return this==null?n:St(this,t,n.bind(this))},set(e){St(this,t,e)}})}function Et(e,t){let n=Object.getPrototypeOf(e);return t in n?void 0:n}let Dt,Ot=!1;const kt={configurable:!0,get(){Ot=!0}};function g(e,t,n){let r=Object.getPrototypeOf(e._zod);if(t in r&&Dt!==e._zod){Dt=void 0;return}Dt=e._zod,Object.defineProperty(r,t,{configurable:!0,get(){Object.defineProperty(this,t,kt);let e=Ot;Ot=!1;try{let r=n(this);return Ot?delete this[t]:Object.defineProperty(this,t,{configurable:!0,writable:!0,value:r}),Ot||=e,r}catch(n){throw delete this[t],Ot||=e,n}},set(e){Object.defineProperty(this,t,{configurable:!0,writable:!0,value:e})}})}function At(e,t,n,r){let i=Et(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 jt(e){let t=()=>e;return t[`~constantCatch`]=!0,t}var Mt;const Nt={value:void 0,enumerable:!1};let Pt=`captureStackTrace`in Error?Error:null;function Ft(e){let t=Pt;if(t){let n=t.stackTraceLimit;if(typeof n==`number`){try{t.stackTraceLimit=0}catch{return Pt=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){Nt.value=new a(r);try{Object.defineProperty(n,"_zod",Nt)}finally{Nt.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),xt(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?Ft(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 It=class extends Error{constructor(){super(`Encountered Promise during synchronous parse. Use .parseAsync() instead.`)}},Lt=class extends Error{constructor(e){super(`Encountered unidirectional transform during encode: ${e}`),this.name=`ZodEncodeError`}};(Mt=globalThis).__zod_globalConfig??(Mt.__zod_globalConfig={});const Rt=globalThis.__zod_globalConfig;function zt(e){return e&&Object.assign(Rt,e),Rt}function Bt(){let e=this._zod;return e.message??=JSON.stringify(e.def,Oe,2),e.message}function Vt(e){this._zod.message=e}const Ht={get:Bt,set:Vt,enumerable:!0,configurable:!0},Ut={value:void 0,enumerable:!1},Wt=new WeakSet([Object.prototype,Error.prototype]),Gt=(e,t)=>{e.name=`$ZodError`,Ut.value=t,Object.defineProperty(e,"issues",Ut),Ut.value=void 0,Object.defineProperty(e,"message",Ht);let n=Object.getPrototypeOf(e);Wt.has(n)||(Wt.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})}}))},Kt=_(`$ZodError`,Gt);_(`$ZodError`,Gt,void 0,{Parent:Error});function qt(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 Jt(e,t=e=>e.message){let n={},r=[];for(let i of e.issues)i.path.length>0?qt(n,i.path[0],()=>[]).push(t(i)):r.push(t(i));return{formErrors:r,fieldErrors:n}}function Yt(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 Xt(e,t){return{callee:t?.callee??e,Err:t?.Err}}const Zt=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 It;if(s.issues.length){let n=new((a?.Err)??e)(s.issues.map(e=>ht(e,o,zt())));throw Ue(n,a?.callee??t),n}return s.value};return t},Qt=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=>ht(e,o,zt())));throw Ue(n,a?.callee??t),n}return s.value};return t},$t=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 It;return a.issues.length?en(e,a.issues,i):{success:!0,data:a.value}};function en(e,t,n){let r;return{success:!1,get error(){return r||(r=new e(t.map(e=>ht(e,n,zt()))),t=void 0,n=void 0),r},set error(e){r=e,t=void 0,n=void 0}}}const tn=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?en(e,a.issues,i):{success:!0,data:a.value}},nn=Symbol.for(`zod.compile.invalid`),rn=Symbol.for(`zod.compile.fallback`),an=((e,t,n)=>{let r=e._zod.bag.validator;if(r!==void 0){if(r(t)!==nn)return!0;if(r.definite===!0&&n===void 0)return!1}return on(e,t,n)});function on(e,t,n){let r=n?{...n,async:!1,abortEarly:!0}:{async:!1,abortEarly:!0},i=e._zod.bag.fallbackRun,a;if(i?(r[rn]=!0,a=i({value:t,issues:[]},r)):a=e._zod.run({value:t,issues:[]},r),a instanceof Promise)throw new It;return a.issues.length===0}const sn=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},cn=e=>{let t=Zt(e),n=(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return t(e,r,o,Xt(n,a))};return n},ln=e=>{let t=Zt(e),n=(e,r,i,a)=>t(e,r,i,Xt(n,a));return n},un=e=>{let t=Qt(e),n=async(e,r,i,a)=>{let o=i?{...i,direction:`backward`}:{direction:`backward`};return await t(e,r,o,Xt(n,a))};return n},dn=e=>{let t=Qt(e),n=async(e,r,i,a)=>await t(e,r,i,Xt(n,a));return n},fn=e=>(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return $t(e)(t,n,i)},pn=e=>(t,n,r)=>$t(e)(t,n,r),mn=e=>async(t,n,r)=>{let i=r?{...r,direction:`backward`}:{direction:`backward`};return tn(e)(t,n,i)},hn=e=>async(t,n,r)=>tn(e)(t,n,r),gn=/^[cC][0-9a-z]{6,}$/,_n=/^[0-9a-z]+$/,vn=/^[0-7][0-9A-HJKMNP-TV-Za-hjkmnp-tv-z]{25}$/,yn=/^[0-9a-vA-V]{20}$/,bn=/^[A-Za-z0-9]{27}$/,xn=/^[a-zA-Z0-9_-]{21}$/;function Sn(e){return RegExp(`^[a-zA-Z0-9_-]{${e}}$`)}const Cn=/^P(?:(\d+W)|(?!.*W)(?=\d|T\d)(\d+Y)?(\d+M)?(\d+D)?(T(?=\d)(\d+H)?(\d+M)?(\d+([.,]\d+)?S)?)?)$/,wn=/^([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})$/,Tn=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)$/,En=/^(?:[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 Dn(){return RegExp(`^(?=[\\s\\S]*[\\p{Extended_Pictographic}\\p{Regional_Indicator}\\u20E3])[\\p{Extended_Pictographic}\\p{Emoji_Component}]+$`,`u`)}const On=/^(?:(?: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])$/,kn=/^(([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}|:))$/,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])\/([0-9]|[1-2][0-9]|3[0-2])$/,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}|:))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,Mn=/^$|^(?:[0-9a-zA-Z+/]{4})*(?:(?:[0-9a-zA-Z+/]{2}==)|(?:[0-9a-zA-Z+/]{3}=))?$/,Nn=/^(?:[A-Za-z0-9_-]{4})*(?:[A-Za-z0-9_-]{2,3})?$/,Pn=/^https?$/,Fn=/^\+[1-9]\d{6,14}$/,In=`(?:(?:\\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 Ln(e){return RegExp(`^${e}$`)}const Rn=Ln(In);function zn(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 Bn(e){return RegExp(`^${zn(e)}$`)}function Vn(e){let t=[`Z`];e.offset&&t.push(`([+-](?:[01]\\d|2[0-3]):[0-5]\\d)`);let n=`${zn({precision:e.precision,seconds:!0})}(?:${t.join(`|`)})`,r=e.local?`${n}|${zn({precision:e.precision})}`:n;return RegExp(`^${In}T(?:${r})$`)}const Hn=/^[\s\S]{0,}$/,Un=/^-?\d+$/,Wn=/^-?\d+(?:\.\d+)?$/,Gn=/^(?:true|false)$/i,Kn=/^null$/i,qn=/^[^A-Z]*$/,Jn=/^[^a-z]*$/,v=_(`$ZodCheck`,(e,t)=>{var n;e._zod??={},e._zod.def=t,(n=e._zod).onattach??(n.onattach=[])}),Yn=e=>{let t=e.value;return!je(t)&&t.length!==void 0},Xn={number:`number`,bigint:`bigint`,object:`date`},Zn=_(`$ZodCheckLessThan`,(e,t)=>{v.init(e,t);let n=Xn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value<=t.value:r.value<t.value)||r.issues.push({origin:Xn[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})}}),Qn=_(`$ZodCheckGreaterThan`,(e,t)=>{v.init(e,t);let n=Xn[typeof t.value];e._zod.check=r=>{(t.inclusive?r.value>=t.value:r.value>t.value)||r.issues.push({origin:Xn[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})}}),$n=_(`$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):Ne(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})}}),er=_(`$ZodCheckNumberFormat`,(e,t)=>{v.init(e,t),t.format=t.format||`float64`;let n=t.format?.includes(`int`),r=n?`int`:`number`,[i,a]=$e[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})}}),tr=_(`$ZodCheckMaxLength`,(e,t)=>{var n;v.init(e,t),(n=e._zod.def).when??(n.when=Yn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>t.maximum?_t(r):i)<=t.maximum)return;let a=vt(r);n.issues.push({origin:a,code:`too_big`,maximum:t.maximum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),nr=_(`$ZodCheckMinLength`,(e,t)=>{var n;v.init(e,t),(n=e._zod.def).when??(n.when=Yn),e._zod.check=n=>{let r=n.value,i=r.length;if((typeof r==`string`&&i>=t.minimum&&i<t.minimum*2?_t(r):i)>=t.minimum)return;let a=vt(r);n.issues.push({origin:a,code:`too_small`,minimum:t.minimum,inclusive:!0,input:r,inst:e,continue:!t.abort})}}),rr=_(`$ZodCheckLengthEquals`,(e,t)=>{var n;v.init(e,t),(n=e._zod.def).when??(n.when=Yn),e._zod.check=n=>{let r=n.value,i=r.length,a=typeof r==`string`&&i>=t.length&&i<=t.length*2?_t(r):i;if(a===t.length)return;let o=vt(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})}}),ir=_(`$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=()=>{})}),ar=_(`$ZodCheckRegex`,(e,t)=>{ir.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})}}),or=_(`$ZodCheckLowerCase`,(e,t)=>{t.pattern??=qn,ir.init(e,t)}),sr=_(`$ZodCheckUpperCase`,(e,t)=>{t.pattern??=Jn,ir.init(e,t)}),cr=_(`$ZodCheckIncludes`,(e,t)=>{v.init(e,t);let n=Ye(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})}}),lr=_(`$ZodCheckStartsWith`,(e,t)=>{v.init(e,t);let n=RegExp(`^${Ye(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})}}),ur=_(`$ZodCheckEndsWith`,(e,t)=>{v.init(e,t);let n=RegExp(`.*${Ye(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})}}),dr=_(`$ZodCheckOverwrite`,(e,t)=>{v.init(e,t),e._zod.check=e=>{e.value=t.tx(e.value)}});var fr=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 pr={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=pr;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=ut(t),a;for(let o of n){if(o._zod.def.when){if(dt(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 It;if(a||s instanceof Promise)a=(a??Promise.resolve()).then(async()=>{await s,t.issues.length!==n&&(mt(t.issues,n,e),i||=ut(t,n))});else{if(t.issues.length===n)continue;mt(t.issues,n,e),i||=ut(t,n)}}return a?a.then(()=>t):t},n=(n,r,a)=>{if(ut(n))return n.aborted=!0,n;let o=t(r,i,a);if(o instanceof Promise){if(a.async===!1)throw new It;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 It;return o.then(e=>t(e,i,a))}return t(o,i,a)}}},{get"~standard"(){return Ct(this,`~standard`,gr(this))},set"~standard"(e){St(this,`~standard`,e)}}),mr=(e,t)=>e.issues.length?{issues:e.issues.map(e=>ht(e,t,zt()))}:{value:e.value};async function hr(e,t){let n={async:!0};return mr(await e._zod.run({value:t,issues:[]},n),n)}function gr(e){return{validate:t=>{let n={async:!1};try{let r=e._zod.run({value:t,issues:[]},n);if(!(r instanceof Promise))return mr(r,n)}catch{}return hr(e,t)},vendor:`zod`,version:1}}const _r=_(`$ZodString`,(e,t)=>{y.init(e,t),e._zod.pattern=t.pattern??Hn,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)=>{ir.init(e,t),_r.init(e,t)}),vr=_(`$ZodGUID`,(e,t)=>{t.pattern??=wn,b.init(e,t)}),yr=_(`$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??=Tn(e)}else t.pattern??=Tn();b.init(e,t)}),br=_(`$ZodEmail`,(e,t)=>{t.pattern??=En,b.init(e,t)});function xr(e){try{return typeof URL<`u`&&typeof URL.canParse==`function`?URL.canParse(e):(new URL(e),!0)}catch{return!1}}function Sr(e,t){return!(`normalize`in t)&&!(`hostname`in t)&&!(`protocol`in t)?xr(e)||2:Cr(e,t)}function Cr(e,t){if(!t.normalize&&t.protocol?.source===Pn.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 wr=/[\t\n\r]/g;function Tr(e){return e.replace(wr,``)}function Er(e,t){return t.lastIndex=0,t.test(e.hostname)}function Dr(e,t){return t.lastIndex=0,t.test(e.protocol.endsWith(`:`)?e.protocol.slice(0,-1):e.protocol)}const Or=_(`$ZodURL`,(e,t)=>{b.init(e,t),e._zod.check=n=>{try{let r=n.value.trim(),i=Sr(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=Tr(r);return}t.hostname&&!Er(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&&!Dr(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:Tr(r);return}catch{n.issues.push({code:`invalid_format`,format:`url`,input:n.value,inst:e,continue:!t.abort})}}}),kr=_(`$ZodEmoji`,(e,t)=>{t.pattern??=Dn(),b.init(e,t)}),Ar=_(`$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?xn:Sn(t.length),b.init(e,t)}),jr=_(`$ZodCUID`,(e,t)=>{t.pattern??=gn,b.init(e,t)}),Mr=_(`$ZodCUID2`,(e,t)=>{t.pattern??=_n,b.init(e,t)}),Nr=_(`$ZodULID`,(e,t)=>{t.pattern??=vn,b.init(e,t)}),Pr=_(`$ZodXID`,(e,t)=>{t.pattern??=yn,b.init(e,t)}),Fr=_(`$ZodKSUID`,(e,t)=>{t.pattern??=bn,b.init(e,t)}),Ir=_(`$ZodISODateTime`,(e,t)=>{t.pattern??=Vn(t),b.init(e,t)}),Lr=_(`$ZodISODate`,(e,t)=>{t.pattern??=Rn,b.init(e,t)}),Rr=_(`$ZodISOTime`,(e,t)=>{t.pattern??=Bn(t),b.init(e,t)}),zr=_(`$ZodISODuration`,(e,t)=>{t.pattern??=Cn,b.init(e,t)}),Br=_(`$ZodIPv4`,(e,t)=>{t.pattern??=On,b.init(e,t)}),Vr=/^[0-9a-fA-F:.]+$/;function Hr(e){return Vr.test(e)?xr(`http://[${e}]`):!1}const Ur=_(`$ZodIPv6`,(e,t)=>{t.pattern??=kn,b.init(e,t),e._zod.check=n=>{Hr(n.value)||n.issues.push({code:`invalid_format`,format:`ipv6`,input:n.value,inst:e,continue:!t.abort})}}),Wr=_(`$ZodCIDRv4`,(e,t)=>{t.pattern??=An,b.init(e,t)});function Gr(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:Hr(n)}const Kr=_(`$ZodCIDRv6`,(e,t)=>{t.pattern??=jn,b.init(e,t),e._zod.check=n=>{Gr(n.value)||n.issues.push({code:`invalid_format`,format:`cidrv6`,input:n.value,inst:e,continue:!t.abort})}});function qr(e){if(e===``)return!0;if(/\s/.test(e)||e.length%4!=0)return!1;try{return atob(e),!0}catch{return!1}}const Jr=/^[0-9a-zA-Z+/]*={0,2}$/,Yr=_(`$ZodBase64`,(e,t)=>{t.pattern??=Jr,b.init(e,t),e._zod.check=n=>{qr(n.value)||n.issues.push({code:`invalid_format`,format:`base64`,input:n.value,inst:e,continue:!t.abort})}}),Xr=/^[A-Za-z0-9_-]*$/;function Zr(e){if(!Xr.test(e))return!1;let t=e.replace(/[-_]/g,e=>e===`-`?`+`:`/`);return qr(t.padEnd(Math.ceil(t.length/4)*4,`=`))}const Qr=_(`$ZodBase64URL`,(e,t)=>{t.pattern??=Xr,b.init(e,t),e._zod.check=n=>{Zr(n.value)||n.issues.push({code:`invalid_format`,format:`base64url`,input:n.value,inst:e,continue:!t.abort})}}),$r=_(`$ZodE164`,(e,t)=>{t.pattern??=Fn,b.init(e,t)});function ei(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 ti=_(`$ZodJWT`,(e,t)=>{b.init(e,t),e._zod.check=n=>{ei(n.value,t.alg)||n.issues.push({code:`invalid_format`,format:`jwt`,input:n.value,inst:e,continue:!t.abort})}}),ni=_(`$ZodNumber`,(e,t)=>{y.init(e,t),e._zod.pattern=Wn,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}}),ri=_(`$ZodNumberFormat`,(e,t)=>{er.init(e,t),ni.init(e,t)}),ii=_(`$ZodBoolean`,(e,t)=>{y.init(e,t),e._zod.pattern=Gn,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}}),ai=_(`$ZodNull`,(e,t)=>{y.init(e,t),e._zod.pattern=Kn,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}}),oi=_(`$ZodAny`,(e,t)=>{y.init(e,t),e._zod.parse=e=>e}),si=_(`$ZodUnknown`,(e,t)=>{y.init(e,t),e._zod.parse=e=>e}),ci=_(`$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)}),li=_(`$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 ui(e,t,n){e.issues.length&&t.issues.push(...ft(n,e.issues)),t.value[n]=e.value}const di=_(`$ZodArray`,(e,t)=>{y.init(e,t);let n=Rt.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=>ui(t,r,e)));else if(ui(c,r,e),s&&c.issues.length!==0&&ut(c))break}return o.length?Promise.all(o).then(()=>r):r}});function fi(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(...ft(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 pi=[];function mi(e){let t=Object.keys(e.shape),n=Object.getOwnPropertySymbols(e.shape),r=n.length?n:pi,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=Qe(e.shape);return{...e,allKeys:i,symbolKeys:r,keySet:new Set(t),numKeys:t.length,optionalKeys:new Set(a)}}function hi(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(ut(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=>fi(e,n,i,t,d,f))):fi(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 gi=_(`$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=Ae(()=>mi(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)||Pe(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=We,o=t.catchall,s,c=Rt.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(ut(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=>fi(n,t,e,r,a,o))):fi(s,t,e,r,a,o)}return o?hi(l,r,t,n,i.value,e,d===!0):l.length?Promise.all(l).then(()=>t):t}}),_i=_(`$ZodObjectJIT`,(e,t)=>{gi.init(e,t);let n=e._zod.parse,r=Ae(()=>mi(t)),i=Rt.memoizer,a=t=>{let n=r.value,a=n.symbolKeys,o=new fr([`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)}]`:Ve(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=We,c=!Rt.jitless,l=c&&Ge.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?hi([],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 vi(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=>!ut(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=>ht(e,r,zt())))}),t)}const yi=_(`$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=>Me(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=>vi(t,r,e,i)):vi(o,r,e,i)}});function bi(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 xi=_(`$ZodDiscriminatedUnion`,(e,t)=>{t.inclusive=!1,yi.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)||Pe(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=Fe(e._zod.def);if(r&&!Object.prototype.hasOwnProperty.call(r,t.discriminator))throw Error(`Invalid discriminated union option at index "${n}"`)});let r=Ae(()=>bi(t));e._zod.parse=(i,a)=>{let o=i.value;if(!We(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)}}),Si=_(`$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])=>wi(e,t,n)):wi(e,i,a)}});function Ci(e,t){if(e===t||e instanceof Date&&t instanceof Date&&+e==+t)return{valid:!0,data:e};if(Ke(e)&&Ke(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=Ci(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=Ci(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 wi(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=Ci(t.value,n.value);if(!c.valid){if(ut(e))return e;throw Error(`Unmergable intersection. Error path: ${JSON.stringify(c.mergeErrorPath)}`)}return e.value=c.data,e}const Ti=_(`$ZodTuple`,(e,t)=>{y.init(e,t);let n=t.items,r=Rt.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=Ei(n,`optin`),l=Ei(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=ut(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(ut(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=>Di(t,i,e))):Di(r,i,e)}}return s.length?Promise.all(s).then(()=>Oi(u,i,n,o,l)):Oi(u,i,n,o,l)}});function Ei(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 Di(e,t,n){e.issues.length&&t.issues.push(...ft(n,e.issues)),t.value[n]=e.value}function Oi(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(...ft(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 ki=_(`$ZodRecord`,(e,t)=>{y.init(e,t);let n=Rt.memoizer;n?.attach(e),e._zod.parse=(r,i)=>{let a=r.value;if(!Ke(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=>ht(e,i,zt())),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(...ft(n,e.issues)),r.value[l]=e.value})):(u.issues.length&&r.issues.push(...ft(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`&&Wn.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=>ht(e,i,zt())),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(...ft(n,e.issues)),r.value[u]=e.value})):(d.issues.length&&r.issues.push(...ft(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}}),Ai=_(`$ZodEnum`,(e,t)=>{y.init(e,t);let n=Ee(t.entries),r=new Set(n);e._zod.values=r,g(e,`pattern`,e=>{let t=Ee(e.def.entries).filter(e=>Je.has(typeof e));return RegExp(t.length?`^(${t.map(e=>Ye(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}}),ji=_(`$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`?Ye(e):e?Ye(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}}),Mi=_(`$ZodTransform`,(e,t)=>{y.init(e,t),e._zod.optin=`optional`,Rt.memoizer?.guard(e),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Lt(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 It;return n.value=i,n}});function Ni(e,t){return e.value=t.issues.length?void 0:t.value,e}const Pi=_(`$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(`^(${Me(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=>Ni(e,t)):Ni(e,r)}return t.innerType._zod.run(e,n)}}),Fi=_(`$ZodExactOptional`,(e,t)=>{Pi.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)}),Ii=_(`$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(`^(${Me(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)}),Li=_(`$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=>Ri(e,t)):Ri(r,t)}});function Ri(e,t){return e.value===void 0&&(e.value=t.defaultValue),e}const zi=_(`$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))}),Bi=_(`$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=>Vi(t,e)):Vi(i,e)}});function Vi(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 Hi(e,t,n,r){return t.issues.length?(e.value=n.catchValue({...t,value:e.value,error:{issues:t.issues.map(e=>ht(e,r,zt()))},input:e.value}),e):(e.value=t.value,t.memo&&(e.memo=!0),e)}const Ui=_(`$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=>Hi(e,r,t,n)):Hi(e,r,t,n)}}),Wi=_(`$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=>Gi(e,t.in,n)):Gi(r,t.in,n)}let r=t.in._zod.run(e,n);return r instanceof Promise?r.then(e=>Gi(e,t.out,n)):Gi(r,t.out,n)}});function Gi(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 Ki=_(`$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=>qi(e,t,n)):qi(r,t,n)}else{let r=t.out._zod.run(e,n);return r instanceof Promise?r.then(e=>qi(e,t,n)):qi(r,t,n)}}});function qi(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=>Ji(e,r,t.out,n)):Ji(e,r,t.out,n)}else{let r=t.reverseTransform(e.value,e);return r instanceof Promise?r.then(r=>Ji(e,r,t.in,n)):Ji(e,r,t.in,n)}}function Ji(e,t,n,r){return e.issues.length?(e.aborted=!0,e):n._zod.run({value:t,issues:e.issues},r)}const Yi=_(`$ZodPreprocess`,(e,t)=>{Wi.init(e,t)}),Xi=_(`$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(Zi):Zi(r)}});function Zi(e){return e.memo||(e.value=Object.freeze(e.value)),e}const Qi=_(`$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=>$i(t,n,r,e));$i(i,n,r,e)}});function $i(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(bt(e))}}var ea=class extends Error{constructor(){super(`Cannot parse a reference cycle that closes through a transform`),this.name=`ZodCyclicError`}};const ta=`~memo`,na=[];function ra(e){return typeof e==`object`&&!!e}function ia(e){return e.map(e=>e.path?{...e,path:e.path.slice()}:{...e})}const aa=new WeakMap;function oa(e,t,n){let r=aa.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=oa(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?oa(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=Fe(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?oa(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),sa(e,i)}function sa(e,t){return t!==1&&aa.set(e,t===2),t}function ca(e,t){let n=e.buckets.get(t);return n||(n=new WeakMap,e.buckets.set(t,n)),n}let la;const ua=[],da={alloc(e,t,n){let r=la;if(!r)return n;la=void 0;let i={value:n,issues:null};return r.set(t.value,i),ua.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`&&pa(n,e.value))throw new ea;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=oa(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(!ra(l))return t(s,c);let u=c[ta];u||(u={buckets:new WeakMap,backEdges:void 0},c[ta]=u);let d;i===c?d=a:(d=ca(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(...ia(f.issues)):(s.memo=!0,u.backEdges??=new WeakSet,u.backEdges.add(f.value)),s;la=d;let p=ua.length,ee=t(s,c);la=void 0;let te=ua.length>p?ua.pop():void 0;return ee instanceof Promise?ee.then(e=>(te&&(te.issues=e.issues.length?ia(e.issues):na),e)):(te&&(te.issues=ee.issues.length?ia(ee.issues):na),ee)};e._zod.parse=o,e._zod.run===t&&(e._zod.run=o)})}};function fa(){return da}function pa(e,t){let n=e[ta]?.backEdges;return n!==void 0&&ra(t)&&n.has(t)}const ma=()=>{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(yt(e.input),e.input)}`;case`invalid_value`:return e.values.length===1?`Invalid input: expected ${Ze(e.values[0])}`:`Invalid option: expected one of ${De(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`:``}: ${De(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 ha(){return{localeError:ma()}}var ga,_a=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 va(){return new _a}(ga=globalThis).__zod_globalRegistry??(ga.__zod_globalRegistry=va());const ya=globalThis.__zod_globalRegistry;function ba(e){return e.checks&&=[...e.checks],e}function xa(e,t){return new e(ba({type:`string`,...h(t)}))}function Sa(e,t){return new e({type:`string`,format:`email`,check:`string_format`,abort:!1,...h(t)})}function Ca(e,t){return new e({type:`string`,format:`guid`,check:`string_format`,abort:!1,...h(t)})}function wa(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,...h(t)})}function Ta(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v4`,...h(t)})}function Ea(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v6`,...h(t)})}function Da(e,t){return new e({type:`string`,format:`uuid`,check:`string_format`,abort:!1,version:`v7`,...h(t)})}function Oa(e,t){return new e({type:`string`,format:`url`,check:`string_format`,abort:!1,...h(t)})}function ka(e,t){return new e({type:`string`,format:`emoji`,check:`string_format`,abort:!1,...h(t)})}function Aa(e,t){return new e({type:`string`,format:`nanoid`,check:`string_format`,abort:!1,...h(t)})}function ja(e,t){return new e({type:`string`,format:`cuid`,check:`string_format`,abort:!1,...h(t)})}function Ma(e,t){return new e({type:`string`,format:`cuid2`,check:`string_format`,abort:!1,...h(t)})}function Na(e,t){return new e({type:`string`,format:`ulid`,check:`string_format`,abort:!1,...h(t)})}function Pa(e,t){return new e({type:`string`,format:`xid`,check:`string_format`,abort:!1,...h(t)})}function Fa(e,t){return new e({type:`string`,format:`ksuid`,check:`string_format`,abort:!1,...h(t)})}function Ia(e,t){return new e({type:`string`,format:`ipv4`,check:`string_format`,abort:!1,...h(t)})}function La(e,t){return new e({type:`string`,format:`ipv6`,check:`string_format`,abort:!1,...h(t)})}function Ra(e,t){return new e({type:`string`,format:`cidrv4`,check:`string_format`,abort:!1,...h(t)})}function za(e,t){return new e({type:`string`,format:`cidrv6`,check:`string_format`,abort:!1,...h(t)})}function Ba(e,t){return new e({type:`string`,format:`base64`,check:`string_format`,abort:!1,...h(t)})}function Va(e,t){return new e({type:`string`,format:`base64url`,check:`string_format`,abort:!1,...h(t)})}function Ha(e,t){return new e({type:`string`,format:`e164`,check:`string_format`,abort:!1,...h(t)})}function Ua(e,t){return new e({type:`string`,format:`jwt`,check:`string_format`,abort:!1,...h(t)})}function Wa(e,t){return new e({type:`string`,format:`datetime`,check:`string_format`,offset:!1,local:!1,precision:null,...h(t)})}function Ga(e,t){return new e({type:`string`,format:`date`,check:`string_format`,...h(t)})}function Ka(e,t){return new e({type:`string`,format:`time`,check:`string_format`,precision:null,...h(t)})}function qa(e,t){return new e({type:`string`,format:`duration`,check:`string_format`,...h(t)})}function Ja(e,t){return new e(ba({type:`number`,checks:[],...h(t)}))}function Ya(e,t){return new e(ba({type:`number`,coerce:!0,checks:[],...h(t)}))}function Xa(e,t){return new e({type:`number`,check:`number_format`,abort:!1,format:`safeint`,...h(t)})}function Za(e,t){return new e({type:`boolean`,...h(t)})}function Qa(e,t){return new e({type:`null`,...h(t)})}function $a(e){return new e({type:`any`})}function eo(e){return new e({type:`unknown`})}function to(e,t){return new e({type:`never`,...h(t)})}function no(e,t){return new e({type:`date`,coerce:!0,...h(t)})}function ro(e,t){return new Zn({check:`less_than`,...h(t),value:e,inclusive:!1})}function io(e,t){return new Zn({check:`less_than`,...h(t),value:e,inclusive:!0})}function ao(e,t){return new Qn({check:`greater_than`,...h(t),value:e,inclusive:!1})}function oo(e,t){return new Qn({check:`greater_than`,...h(t),value:e,inclusive:!0})}function so(e,t){return new $n({check:`multiple_of`,...h(t),value:e})}function co(e,t){return new tr({check:`max_length`,...h(t),maximum:e})}function lo(e,t){return new nr({check:`min_length`,...h(t),minimum:e})}function uo(e,t){return new rr({check:`length_equals`,...h(t),length:e})}function fo(e,t){return new ar({check:`string_format`,format:`regex`,...h(t),pattern:e})}function po(e){return new or({check:`string_format`,format:`lowercase`,...h(e)})}function mo(e){return new sr({check:`string_format`,format:`uppercase`,...h(e)})}function ho(e,t){return new cr({check:`string_format`,format:`includes`,...h(t),includes:e})}function go(e,t){return new lr({check:`string_format`,format:`starts_with`,...h(t),prefix:e})}function _o(e,t){return new ur({check:`string_format`,format:`ends_with`,...h(t),suffix:e})}function vo(e){return new dr({check:`overwrite`,tx:e})}function yo(e){return vo(t=>t.normalize(e))}function bo(){return vo(e=>e.trim())}function xo(){return vo(e=>e.toLowerCase())}function So(){return vo(e=>e.toUpperCase())}function Co(){return vo(e=>He(e))}function wo(e,t,n){return new e({type:`array`,element:t,...h(n)})}function To(e,t,n){let r=h(n);return r.abort??=!0,new e({type:`custom`,check:`custom`,fn:t,...r})}function Eo(e,t,n){return new e({type:`custom`,check:`custom`,fn:t,...h(n)})}function Do(e,t){let n=Oo(t=>(t.addIssue=e=>{if(typeof e==`string`)t.issues.push(bt(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(bt(r))}},e(t.value,t)),t);return n}function Oo(e,t){let n=new v({check:`custom`,...h(t)});return n._zod.check=e,n}function ko(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??Ki,c=e.Boolean??ii,l=new s({type:`pipe`,in:new(e.String??_r)({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 Ao(e,...t){for(let n of t)for(let t of Reflect.ownKeys(n))Object.prototype.propertyIsEnumerable.call(n,t)&&Pe(e,t,n[t]);return e}function jo(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??ya,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 Mo(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&&Ao(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 No(e){return e.replace(/~/g,`~0`).replace(/\//g,`~1`)}function Po(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}/${No(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+No(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 Fo(e){let t=e.anyOf;if(!Array.isArray(t)||t.length===0||e.type!==void 0)return;let n=[];for(let e of t){if(!e||typeof e!=`object`)return;Fo(e);let t=Object.keys(e);if(t.length!==1||t[0]!==`type`)return;let r=e.type;for(let e of Array.isArray(r)?r:[r]){if(typeof e!=`string`)return;n.includes(e)||n.push(e)}}delete e.anyOf,e.type=n.length===1?n[0]:n}const Io=new Set([`type`,`properties`,`required`,`additionalProperties`]),Lo=[`oneOf`,`anyOf`];function Ro(e){let t=e.additionalProperties;return t===void 0||t===!1||typeof t!=`object`||!t?null:Object.keys(t).length?t:null}function zo(e){let t=[];for(let n of e){if(typeof n!=`object`||n.type!==`object`)return null;for(let e in n)if(!Io.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]??Ro(n);t!=null&&(e.some(e=>JSON.stringify(e)===JSON.stringify(t))||e.push(t))}Pe(n,r,e.length===1?e[0]:zo(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=Ro(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 Bo(e){let t=e.allOf;if(!Array.isArray(t)||t.length<2)return;for(let t of Io)if(t in e)return;let n=t.filter(e=>Lo.some(t=>Array.isArray(e[t]))),r=null;if(!n.length)r=zo(t);else{let e=n[0],i=Lo.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=>zo([...a,e]));if(o.some(e=>!e))return;r={[i]:o}}r&&(delete e.allOf,Ao(e,r))}function Vo(e,t){let n=e.seen.get(t);if(!n)throw Error(`Unprocessed schema. This is a bug in Zod.`);let r=t=>{let n=e.seen.get(t);if(n.ref===null)return;let i=n.def??n.schema,a={...i},o=n.ref;if(n.ref=null,o){r(o);let n=e.seen.get(o),s=n.schema;if(s.$ref&&(e.target===`draft-07`||e.target===`draft-04`||e.target===`openapi-3.0`)?(i.allOf=i.allOf??[],i.allOf.push(s)):Ao(i,s),Ao(i,a),t._zod.parent===o)for(let e in i)e!==`$ref`&&e!==`allOf`&&(e in a||delete i[e]);if(s.$ref&&n.def)for(let e in i)e!==`$ref`&&e!==`allOf`&&e in n.def&&JSON.stringify(i[e])===JSON.stringify(n.def[e])&&delete i[e]}let s=t._zod.parent;if(s&&s!==o){r(s);let t=e.seen.get(s);if(t?.schema.$ref&&(i.$ref=t.schema.$ref,t.def))for(let e in i)e!==`$ref`&&e!==`allOf`&&e in t.def&&JSON.stringify(i[e])===JSON.stringify(t.def[e])&&delete i[e]}e.override({zodSchema:t,jsonSchema:i,path:n.path??[]})};if(!e.external||e.sharedEmitDoneFor!==e.external){for(let t of[...e.seen.entries()].reverse())r(t[0]);if(e.target!==`openapi-3.0`)for(let t of e.seen.entries())Fo(t[1].def??t[1].schema);for(let t of e.deferred)t();if(e.intersections.length){let t=new Map;for(let n of e.seen.values())for(let e of[n.schema,n.def]){let n=e?.allOf;if(!Array.isArray(n))continue;let r=t.get(n);r?r.push(e):t.set(n,[e])}for(let n of e.intersections)for(let e of t.get(n)??[])Bo(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)}Ao(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,Pe(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:Uo(t,`input`,e.processors),output:Uo(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 Ho=(e,t={})=>n=>{let r=jo({...n,processors:t});return x(e,r),Po(r,e),Vo(r,e)},Uo=(e,t,n={})=>r=>{let{libraryOptions:i,target:a}=r??{},o=jo({...i??{},target:a,io:t,processors:n});return x(e,o),Po(o,e),Vo(o,e)},Wo=(e,t,n)=>{(e[t]===void 0||n>e[t])&&(e[t]=n)},Go=(e,t,n)=>{(e[t]===void 0||n<e[t])&&(e[t]=n)},Ko=(e,t)=>{Wo(e,`minimum`,t),Go(e,`maximum`,t)},qo=(e,t)=>{e.multipleOf??=[],e.multipleOf.includes(t)||e.multipleOf.push(t)},Jo=(e,t)=>{e.patterns??=new Set,e.patterns.add(t)},Yo=(e,t)=>{e.mime=e.mime?e.mime.filter(e=>t.includes(e)):[...t]},Xo=(e,t)=>{e.format=t,t.includes(`int`)&&(e.isInt=!0)},Zo=(e,t)=>Wo(e,`minimum`,t.minimum),Qo=(e,t)=>Go(e,`maximum`,t.maximum),$o=e=>(t,n)=>{Xo(t,n.format);let[r,i]=e[n.format];Wo(t,`minimum`,r),Go(t,`maximum`,i)},es={greater_than:(e,t)=>Wo(e,t.inclusive?`minimum`:`exclusiveMinimum`,t.value),less_than:(e,t)=>Go(e,t.inclusive?`maximum`:`exclusiveMaximum`,t.value),multiple_of:(e,t)=>qo(e,t.value),number_format:$o($e),bigint_format:$o(et),min_length:Zo,max_length:Qo,length_equals:(e,t)=>Ko(e,t.length),min_size:Zo,max_size:Qo,size_equals:(e,t)=>Ko(e,t.size),string_format:(e,t)=>{Xo(e,t.format),t.pattern&&Jo(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)=>Yo(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)es[e._zod.def.check]?.(t,e._zod.def);let i=e._zod.bag;i.minimum!==void 0&&Wo(t,`minimum`,i.minimum),i.exclusiveMinimum!==void 0&&Wo(t,`exclusiveMinimum`,i.exclusiveMinimum),i.maximum!==void 0&&Go(t,`maximum`,i.maximum),i.exclusiveMaximum!==void 0&&Go(t,`exclusiveMaximum`,i.exclusiveMaximum),i.multipleOf!==void 0&&qo(t,i.multipleOf),i.format!==void 0&&(t.format??=i.format,i.format.includes(`int`)&&(t.isInt=!0)),i.mime&&Yo(t,i.mime);for(let e of i.patterns??[])Jo(t,e);return t}const ts={guid:`uuid`,url:`uri`,datetime:`date-time`,json_string:`json-string`,regex:``},ns=new Map([[Jr,Mn],[Xr,Nn]]),rs=e=>ns.get(e)??e,is=(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=ts[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(rs);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}))])}},as=(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)):Mo(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}))])}},os=(e,t,n,r)=>{n.type=`boolean`},ss=(e,t,n,r)=>{t.target===`openapi-3.0`?(n.type=`string`,n.nullable=!0,n.enum=[null]):n.type=`null`},cs=(e,t,n,r)=>{n.not={}},ls=(e,t,n,r)=>{Mo(e,t,n,r,`Date cannot be represented in JSON Schema`)},us=(e,t,n,r)=>{let i=e._zod.def,a=Ee(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},ds=(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(Mo(e,t,n,r,"Literal `undefined` cannot be represented in JSON Schema"))return}else if(typeof o==`bigint`){if(Mo(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},fs=(e,t,n,r)=>{Mo(e,t,n,r,`Custom types cannot be represented in JSON Schema`)},ps=(e,t,n,r)=>{Mo(e,t,n,r,`Transforms cannot be represented in JSON Schema`)},ms=(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 hs(e){let t=e._zod.def;return t.type===`pipe`&&t.in._zod.traits.has(`$ZodTransform`)?hs(t.out):t.type===`catch`?hs(t.innerType):e._zod.optin}const gs=(e,t,n,r)=>{let i=n,a=e._zod.def,o=a.shape;if(Object.getOwnPropertySymbols(o).length&&Mo(e,t,i,r,`Symbol keys cannot be represented in JSON Schema`))return;i.type=`object`,i.properties={};for(let e in o)Pe(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`?hs(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)},_s=(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},vs=(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)},ys=(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`?hs(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 bs(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=bs(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=>bs(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`)?Wn:Un).source),p):p}const xs=new WeakMap;function Ss(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 xs.get(e)??[]){let i=e.seen.get(r),a=(i?.def??i?.schema)?.propertyNames;if(!a||a===!0||n.has(a))continue;let o=bs(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 Cs=(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)Pe(i.patternProperties,rs(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=xs.get(t);n||(n=[],xs.set(t,n),t.deferred.push(()=>Ss(t))),n.push(e)}i.additionalProperties=x(a.valueType,t,{...r,path:[...r.path,`additionalProperties`]})}let c=o._zod.values,l=t.io===`input`&&hs(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))}},ws=(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`}]},Ts=(e,t,n,r)=>{let i=e._zod.def;x(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Es=Symbol();function Ds(e,t,n,r,i){let a=!1,o=JSON.stringify(e,(e,t)=>typeof t==`bigint`?(a=!0,null):t);return a?(Mo(t,n,r,i,`BigInt defaults cannot be represented in JSON Schema`),Es):JSON.parse(o)}const Os=(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=Ds(i.defaultValue,e,t,n,r);o!==Es&&(n.default=o)},ks=(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=Ds(i.defaultValue,e,t,n,r);o!==Es&&(n._prefault=o)},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;try{o=i.catchValue(void 0)}catch{Mo(e,t,n,r,`Dynamic catch values are not supported in JSON Schema`);return}n.default=o},js=(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},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,n.readOnly=!0},Ns=(e,t,n,r)=>{let i=e._zod.def;x(i.innerType,t,r);let a=t.seen.get(e);a.ref=i.innerType},Ps=new WeakSet([Object.prototype,Error.prototype]);function Fs(e,t,n){Object.defineProperty(e,t,{configurable:!0,enumerable:!1,get(){let e=n(this);return Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0}),e},set(e){Object.defineProperty(this,t,{value:e,configurable:!0,writable:!0})}})}const w=_(`ZodError`,(e,t)=>{Kt.init(e,t),e.name=`ZodError`;let n=Object.getPrototypeOf(e);Ps.has(n)||(Ps.add(n),Fs(n,`format`,e=>t=>Yt(e,t)),Fs(n,`flatten`,e=>t=>Jt(e,t)),Fs(n,`addIssue`,e=>t=>{e.issues.push(t),e.message=JSON.stringify(e.issues,Oe,2)}),Fs(n,`addIssues`,e=>t=>{e.issues.push(...t),e.message=JSON.stringify(e.issues,Oe,2)}),Object.defineProperty(n,"isEmpty",{configurable:!0,enumerable:!1,get(){return this.issues.length===0}}))},void 0,{Parent:Error}),Is=Zt(w),Ls=Qt(w),Rs=$t(w),zs=tn(w),Bs=cn(w),Vs=ln(w),Hs=un(w),Us=dn(w),Ws=fn(w),Gs=pn(w),Ks=mn(w),qs=hn(w);function Js(){Rt.localeError||zt(ha())}function Ys(){Rt.memoizer||zt({memoizer:fa()})}const T=_(`ZodType`,(e,t)=>(Js(),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 Xe(this,e,t)},brand(){return this},register(e,t){return e.add(this,t),this},refine(e,t){return this.check(vl(e,t))},superRefine(e,t){return this.check(yl(e,t))},overwrite(e){return this.check(vo(e))},optional(){return Zc(this)},exactOptional(){return $c(this)},nullable(){return tl(this)},nullish(){return Zc(tl(this))},nonoptional(e){return sl(this,e)},array(){return N(this)},or(e){return F([this,e])},and(e){return Vc(this,e)},transform(e){return dl(this,Yc(e))},default(e){return rl(this,e)},prefault(e){return al(this,e)},catch(e){return ll(this,e)},pipe(e){return dl(this,e)},readonly(){return hl(this)},describe(e){let t=this.clone();return ya.add(t,{description:e}),t},meta(...e){if(e.length===0)return ya.get(this);let t=this.clone();return ya.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 Ct(this,`~standard`,{...gr(this),jsonSchema:{input:Uo(this,`input`),output:Uo(this,`output`)}})},set"~standard"(e){St(this,`~standard`,e)},parse:function e(t,n){return Is(this,t,n,{callee:e})},parseAsync:async function e(t,n){return await Ls(this,t,n,{callee:e})},safeParse(e,t){return Rs(this,e,t)},async safeParseAsync(e,t){return zs(this,e,t)},get spa(){return this?.safeParseAsync},set spa(e){St(this,`spa`,e)},validate(e,t){return an(this,e,t)},validateAsync(e,t){return sn(this,e,t)},encode:function e(t,n){return Bs(this,t,n,{callee:e})},decode:function e(t,n){return Vs(this,t,n,{callee:e})},encodeAsync:async function e(t,n){return await Hs(this,t,n,{callee:e})},decodeAsync:async function e(t,n){return await Us(this,t,n,{callee:e})},safeEncode(e,t){return Ws(this,e,t)},safeDecode(e,t){return Gs(this,e,t)},async safeEncodeAsync(e,t){return Ks(this,e,t)},async safeDecodeAsync(e,t){return qs(this,e,t)},toJSONSchema(e){return Ho(this,{})(e)},get description(){return ya.get(this)?.description},get _def(){return this._zod.def}}),Xs=_(`_ZodString`,(e,t)=>{_r.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>is(e,t,n,r)},wt({format:e=>C(e).format??null,minLength:e=>C(e).minimum??null,maxLength:e=>C(e).maximum??null},{regex(...e){return this.check(fo(...e))},includes(...e){return this.check(ho(...e))},startsWith(...e){return this.check(go(...e))},endsWith(...e){return this.check(_o(...e))},min(...e){return this.check(lo(...e))},max(...e){return this.check(co(...e))},length(...e){return this.check(uo(...e))},nonempty(...e){return this.check(lo(1,...e))},lowercase(e){return this.check(po(e))},uppercase(e){return this.check(mo(e))},trim(){return this.check(bo())},normalize(...e){return this.check(yo(...e))},toLowerCase(){return this.check(xo())},toUpperCase(){return this.check(So())},slugify(){return this.check(Co())}})),Zs=_(`ZodString`,(e,t)=>{_r.init(e,t),Xs.init(e,t)},{email(e){return this.check(Sa(nc,e))},url(e){return this.check(Oa(oc,e))},jwt(e){return this.check(Ua(Sc,e))},emoji(e){return this.check(ka(sc,e))},guid(e){return this.check(Ca(ic,e))},uuid(e){return this.check(wa(ac,e))},uuidv4(e){return this.check(Ta(ac,e))},uuidv6(e){return this.check(Ea(ac,e))},uuidv7(e){return this.check(Da(ac,e))},nanoid(e){return this.check(Aa(cc,e))},cuid(e){return this.check(ja(lc,e))},cuid2(e){return this.check(Ma(uc,e))},ulid(e){return this.check(Na(dc,e))},base64(e){return this.check(Ba(vc,e))},base64url(e){return this.check(Va(bc,e))},xid(e){return this.check(Pa(fc,e))},ksuid(e){return this.check(Fa(pc,e))},ipv4(e){return this.check(Ia(mc,e))},ipv6(e){return this.check(La(hc,e))},cidrv4(e){return this.check(Ra(gc,e))},cidrv6(e){return this.check(za(_c,e))},e164(e){return this.check(Ha(xc,e))},datetime(e){return this.check(Wa(Qs,e))},date(e){return this.check(Ga($s,e))},time(e){return this.check(Ka(ec,e))},duration(e){return this.check(qa(tc,e))}});function E(e){return xa(Zs,e)}const D=_(`ZodStringFormat`,(e,t)=>{b.init(e,t),Xs.init(e,t)}),Qs=_(`ZodISODateTime`,(e,t)=>{Ir.init(e,t),D.init(e,t)}),$s=_(`ZodISODate`,(e,t)=>{Lr.init(e,t),D.init(e,t)}),ec=_(`ZodISOTime`,(e,t)=>{Rr.init(e,t),D.init(e,t)}),tc=_(`ZodISODuration`,(e,t)=>{zr.init(e,t),D.init(e,t)}),nc=_(`ZodEmail`,(e,t)=>{br.init(e,t),D.init(e,t)});function rc(e){return Sa(nc,e)}const ic=_(`ZodGUID`,(e,t)=>{vr.init(e,t),D.init(e,t)}),ac=_(`ZodUUID`,(e,t)=>{yr.init(e,t),D.init(e,t)});function O(e){return wa(ac,e)}const oc=_(`ZodURL`,(e,t)=>{Or.init(e,t),D.init(e,t)});function k(e){return Oa(oc,e)}const sc=_(`ZodEmoji`,(e,t)=>{kr.init(e,t),D.init(e,t)}),cc=_(`ZodNanoID`,(e,t)=>{Ar.init(e,t),D.init(e,t)}),lc=_(`ZodCUID`,(e,t)=>{jr.init(e,t),D.init(e,t)}),uc=_(`ZodCUID2`,(e,t)=>{Mr.init(e,t),D.init(e,t)}),dc=_(`ZodULID`,(e,t)=>{Nr.init(e,t),D.init(e,t)}),fc=_(`ZodXID`,(e,t)=>{Pr.init(e,t),D.init(e,t)}),pc=_(`ZodKSUID`,(e,t)=>{Fr.init(e,t),D.init(e,t)}),mc=_(`ZodIPv4`,(e,t)=>{Br.init(e,t),D.init(e,t)}),hc=_(`ZodIPv6`,(e,t)=>{Ur.init(e,t),D.init(e,t)}),gc=_(`ZodCIDRv4`,(e,t)=>{Wr.init(e,t),D.init(e,t)}),_c=_(`ZodCIDRv6`,(e,t)=>{Kr.init(e,t),D.init(e,t)}),vc=_(`ZodBase64`,(e,t)=>{Yr.init(e,t),D.init(e,t)});function yc(e){return Ba(vc,e)}const bc=_(`ZodBase64URL`,(e,t)=>{Qr.init(e,t),D.init(e,t)}),xc=_(`ZodE164`,(e,t)=>{$r.init(e,t),D.init(e,t)}),Sc=_(`ZodJWT`,(e,t)=>{ti.init(e,t),D.init(e,t)}),Cc=_(`ZodNumber`,(e,t)=>{ni.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>as(e,t,n,r),e.isFinite=!0},wt({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(ao(e,t))},gte(e,t){return this.check(oo(e,t))},min(e,t){return this.check(oo(e,t))},lt(e,t){return this.check(ro(e,t))},lte(e,t){return this.check(io(e,t))},max(e,t){return this.check(io(e,t))},int(e){return this.check(Tc(e))},safe(e){return this.check(Tc(e))},positive(e){return this.check(ao(0,e))},nonnegative(e){return this.check(oo(0,e))},negative(e){return this.check(ro(0,e))},nonpositive(e){return this.check(io(0,e))},multipleOf(e,t){return this.check(so(e,t))},step(e,t){return this.check(so(e,t))},finite(){return this}}));function A(e){return Ja(Cc,e)}const wc=_(`ZodNumberFormat`,(e,t)=>{ri.init(e,t),Cc.init(e,t)});function Tc(e){return Xa(wc,e)}const Ec=_(`ZodBoolean`,(e,t)=>{ii.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>os(e,t,n,r)});function j(e){return Za(Ec,e)}const Dc=_(`ZodNull`,(e,t)=>{ai.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ss(e,t,n,r)});function Oc(e){return Qa(Dc,e)}const kc=_(`ZodAny`,(e,t)=>{oi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function Ac(){return $a(kc)}const jc=_(`ZodUnknown`,(e,t)=>{si.init(e,t),T.init(e,t),e._zod.processJSONSchema=(e,t,n)=>void 0});function M(){return eo(jc)}const Mc=_(`ZodNever`,(e,t)=>{ci.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>cs(e,t,n,r)});function Nc(e){return to(Mc,e)}const Pc=_(`ZodDate`,(e,t)=>{li.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ls(e,t,n,r),e.min=(t,n)=>e.check(oo(t,n)),e.max=(t,n)=>e.check(io(t,n))},wt({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}},{})),Fc=_(`ZodArray`,(e,t)=>{Ys(),di.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ms(e,t,n,r),e.element=t.element},{min(e,t){return this.check(lo(e,t))},nonempty(e){return this.check(lo(1,e))},max(e,t){return this.check(co(e,t))},length(e,t){return this.check(uo(e,t))},unwrap(){return this.element}});function N(e,t){return wo(Fc,e,t)}const Ic=_(`ZodObject`,(e,t)=>{Ys(),_i.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>gs(e,t,n,r),At(e,`shape`,e=>e._zod.def.shape,!1)},{keyof(){return R(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:M()}))},loose(){return this.clone(m(this._zod.def,{catchall:M()}))},strict(){return this.clone(m(this._zod.def,{catchall:Nc()}))},strip(){return this.clone(m(this._zod.def,{catchall:void 0}))},extend(e){return it(this,e)},safeExtend(e){return ot(this,e)},merge(e){return st(this,e)},pick(e){return tt(this,e)},omit(e){return rt(this,e)},partial(...e){return ct(Xc,this,e[0])},exactPartial(...e){return ct(Qc,this,e[0],`exactPartial`)},required(...e){return lt(ol,this,e[0])}});function P(e,t){let n={type:`object`,shape:e??{},...h(t)};return new Ic(n)}function Lc(e,t){return new Ic({type:`object`,shape:e,catchall:M(),...h(t)})}const Rc=_(`ZodUnion`,(e,t)=>{yi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>_s(e,t,n,r),e.options=t.options});function F(e,t){return new Rc({type:`union`,options:e,...h(t)})}const zc=_(`ZodDiscriminatedUnion`,(e,t)=>{Rc.init(e,t),xi.init(e,t)});function I(e,t,n){return new zc({type:`union`,options:t,discriminator:e,...h(n)})}const Bc=_(`ZodIntersection`,(e,t)=>{Si.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>vs(e,t,n,r)});function Vc(e,t){return new Bc({type:`intersection`,left:e,right:t})}const Hc=_(`ZodTuple`,(e,t)=>{Ys(),Ti.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ys(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 Xc({type:`optional`,innerType:e}))})}});function Uc(e,t,n){let r=t instanceof y;return new Hc({type:`tuple`,items:e,rest:r?t:null,...h(r?n:t)})}const Wc=_(`ZodRecord`,(e,t)=>{Ys(),ki.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Cs(e,t,n,r),e.keyType=t.keyType,e.valueType=t.valueType});function L(e,t,n){return!t||!t._zod?new Wc({type:`record`,keyType:E(),valueType:e,...h(t)}):new Wc({type:`record`,keyType:e,valueType:t,...h(n)})}function Gc(e,t,n){return new Wc({type:`record`,keyType:e,valueType:t,...h(n),partial:!0})}const Kc=_(`ZodEnum`,(e,t)=>{Ai.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>us(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 Kc({...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 Kc({...t,checks:[],...h(r),entries:i})}});function R(e,t){let n=Array.isArray(e)?Object.fromEntries(e.map(e=>[e,e])):e;return new Kc({type:`enum`,entries:n,...h(t)})}const qc=_(`ZodLiteral`,(e,t)=>{ji.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ds(e,t,n,r),e.values=new Set(t.values),Object.defineProperty(e,"value",{get(){if(t.values.length>1)throw Error("This schema contains multiple valid literal values. Use `.values` instead.");return t.values[0]}})});function z(e,t){return new qc({type:`literal`,values:Array.isArray(e)?e:[e],...h(t)})}const Jc=_(`ZodTransform`,(e,t)=>{Ys(),Mi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ps(e,t,n,r),e._zod.parse=(n,r)=>{if(r.direction===`backward`)throw new Lt(e.constructor.name);n.addIssue=r=>{if(typeof r==`string`)n.issues.push(bt(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(bt(t))}};let i=t.transform(n.value,n);return i instanceof Promise?i.then(e=>(n.value=e,n)):(n.value=i,n)}});function Yc(e){return new Jc({type:`transform`,transform:e})}const Xc=_(`ZodOptional`,(e,t)=>{Pi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function Zc(e){return new Xc({type:`optional`,innerType:e})}const Qc=_(`ZodExactOptional`,(e,t)=>{Fi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ns(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function $c(e){return new Qc({type:`optional`,innerType:e})}const el=_(`ZodNullable`,(e,t)=>{Ii.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ws(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function tl(e){return new el({type:`nullable`,innerType:e})}const nl=_(`ZodDefault`,(e,t)=>{Li.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Os(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeDefault=e.unwrap});function rl(e,t){return new nl({type:`default`,innerType:e,get defaultValue(){return typeof t==`function`?t():qe(t)}})}const il=_(`ZodPrefault`,(e,t)=>{zi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>ks(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function al(e,t){return new il({type:`prefault`,innerType:e,get defaultValue(){return typeof t==`function`?t():qe(t)}})}const ol=_(`ZodNonOptional`,(e,t)=>{Bi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ts(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function sl(e,t){return new ol({type:`nonoptional`,innerType:e,...h(t)})}const cl=_(`ZodCatch`,(e,t)=>{Ui.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>As(e,t,n,r),e.unwrap=()=>e._zod.def.innerType,e.removeCatch=e.unwrap});function ll(e,t){return new cl({type:`catch`,innerType:e,catchValue:typeof t==`function`?t:jt(t)})}const ul=_(`ZodPipe`,(e,t)=>{Wi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>js(e,t,n,r),e.in=t.in,e.out=t.out});function dl(e,t){return new ul({type:`pipe`,in:e,out:t})}const fl=_(`ZodCodec`,(e,t)=>{ul.init(e,t),Ki.init(e,t)}),pl=_(`ZodPreprocess`,(e,t)=>{ul.init(e,t),Yi.init(e,t)}),ml=_(`ZodReadonly`,(e,t)=>{Xi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>Ms(e,t,n,r),e.unwrap=()=>e._zod.def.innerType});function hl(e){return new ml({type:`readonly`,innerType:e})}const gl=_(`ZodCustom`,(e,t)=>{Qi.init(e,t),T.init(e,t),e._zod.processJSONSchema=(t,n,r)=>fs(e,t,n,r)});function _l(e,t){return To(gl,e??(()=>!0),t)}function vl(e,t={}){return Eo(gl,e,t)}function yl(e,t){return Do(e,t)}const bl=(...e)=>ko({Codec:fl,Boolean:Ec,String:Zs},...e);function xl(e,t){return new pl({type:`pipe`,in:Yc(e),out:t})}function B(e){return Wa(Qs,e)}function Sl(e){return Ga($s,e)}function V(e){return Ya(Cc,e)}function Cl(e){return no(Pc,e)}const H=F([B(),B({precision:-1})]);F([B({offset:!0}),B({offset:!0,precision:-1})]);const wl=R([`mobile_to_desktop`,`desktop_to_mobile`]),Tl=R([`project`,`task`,`asset`,`asset_conflict`]),El=P({kind:R([`project`,`task`]),id:O()});P({direction:wl,target:El}),P({workspaceId:O()}),P({workspaceId:O(),notificationId:O()}),P({target:El});const Dl=[`en`,`zh-TW`,`de`,`fr`,`es-ES`,`es-419`,`ja`,`ko`,`it`,`pt-BR`],Ol=R(Dl).default(`en`);function kl(e){return e?Dl.includes(e):!1}function Al(e){return kl(e)?e:`en`}var jl=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 Ml={ipv4Compatible:[jl.default.IPv6.parseCIDR(`::/96`)],localUseNat64:[jl.default.IPv6.parseCIDR(`64:ff9b:1::/48`)],siteLocal:[jl.default.IPv6.parseCIDR(`fec0::/10`)],documentation:[jl.default.IPv6.parseCIDR(`3fff::/20`)],segmentRoutingSid:[jl.default.IPv6.parseCIDR(`5f00::/16`)]};function Nl(e){if(!jl.default.isValid(e))return!1;let t=jl.default.parse(e);return t.range()===`unicast`?t.kind()===`ipv4`||jl.default.subnetMatch(t,Ml,`public`)===`public`:!1}function Pl(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!jl.default.isValid(r)||Nl(r)}catch{return!1}}const Fl=k().min(1).max(4096).refine(e=>{try{return[`http:`,`https:`].includes(new URL(e).protocol)}catch{return!1}},{message:`Only HTTP/HTTPS protocols are allowed`}).refine(Pl,{message:`Access to private network addresses is not allowed`});function Il(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 Ll=e=>xl(Il,F([e,E()])),Rl=e=>xl(Il,e),zl=P({name:E().describe(`Identifier: file path, resource id, URL, or title.`),detail:E().describe(`What it is plus what was done to it or why it matters — detailed enough to act on again.`)});P({overview:E().describe(`1–3 sentences: what this session is about and where it stands now.`),userRequests:Ll(N(E())).describe(`Every distinct thing the user has asked for, in their own framing, oldest → newest. Never drop an ask — even a completed one (record completion in state). Merge near-duplicate or sub-divided asks into a single entry so this list stays bounded across repeated compactions.`),keyFacts:Ll(N(E())).describe(`Durable facts, decisions made, concepts/constraints discovered, and errors with their fixes. Omit facts later turns made obsolete.`),artifacts:Ll(N(zl)).optional().default([]).describe(`Concrete things touched that may need further action: files, resources, documents, datasets, URLs, IDs.`),constraints:Ll(P({preferences:N(E()).describe(`How the user wants output: format, tone, language, style.`),negativeConstraints:N(E()).describe(`What the user explicitly said NOT to do.`)})).describe(`What the user wants and explicitly does not want.`),state:Ll(P({status:R([`pending_input`,`in_progress`,`completed`]).describe(`Overall task state at the point of truncation.`),currentWork:E().describe(`What was actively in progress at truncation, detailed enough to resume immediately.`),nextStep:E().describe(`The single most logical next action. Empty only if genuinely blocked or awaiting the user.`),pendingQuestions:N(E()).describe(`Questions the agent still needs answered to proceed.`)})).describe(`Resumption state — how to pick the work back up seamlessly.`)});const Bl=1500,Vl=2e3;function Hl(e,t){return e.length<=t?e:`${e.slice(0,t-1)}…`}function Ul(e){return[...new Set(e)].slice(0,12)}function Wl(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 Gl=N(E().overwrite(e=>Hl(e,500)).max(500)).overwrite(Ul).max(12),Kl=N(P({value:E().overwrite(e=>Hl(e,Vl)).max(Vl).describe(`Exact identifier, path, URL, value, resource id, or title.`),context:E().overwrite(e=>Hl(e,500)).max(500).describe(`Why this reference still matters for the continuation.`)})).overwrite(Wl).max(12);P({version:A().min(2).max(2).transform(()=>2),overview:E().overwrite(e=>Hl(e,Bl)).max(Bl).describe(`A concise orientation to the current conversation and active objective.`),userRequests:Rl(Gl).describe(`Active or still-relevant user requests. Merge repetitions and omit superseded requests whose effects are preserved elsewhere.`),keyFacts:Rl(Gl).describe(`Facts and observations whose loss would change later reasoning. Preserve uncertainty and exact values.`),decisions:Rl(Gl).describe(`Still-relevant accepted, rejected, superseded, or abandoned decisions with enough rationale to apply them consistently and avoid repeating discarded approaches.`),reportedProgress:Rl(Gl).describe(`Relevant work, observations, and outcomes reported in the conversation. Preserve who or what reported uncertain claims; narration is not runtime-verified progress.`),references:Rl(Kl).describe(`Exact identifiers and artifacts that remain necessary for continuation.`),constraints:Rl(Gl).describe(`Still-governing requirements, preferences, and prohibitions.`),currentFocus:E().overwrite(e=>Hl(e,Bl)).max(Bl).describe(`The current conversational focus, not a lifecycle state.`),openQuestions:Rl(Gl).describe(`Unresolved questions, dependencies, or user decisions that still matter.`),continuationHint:E().overwrite(e=>Hl(e,Bl)).max(Bl).describe(`Advisory conversational guidance only. It never grants permission or defines an executable runtime transition.`)});const ql=P({key:E(),value:E()});P({summary:E(),sessionMeta:Ll(P({currentIntent:E()})),knowledgeBase:Ll(P({entities:N(ql),factsEstablished:N(E())})),userConstraints:Ll(P({formatPreferences:E(),toneStyle:E(),negativeConstraints:N(E())})),workflowStatus:Ll(P({lastAction:E(),pendingQuestions:N(E())}))});const U={SELF:`self`,WORKSPACE:`workspace`,PUBLIC:`public`},Jl=R([U.SELF,U.WORKSPACE,U.PUBLIC]);U.SELF,U.WORKSPACE,U.PUBLIC;const Yl=R([U.PUBLIC,U.WORKSPACE,`none`]);U.PUBLIC,U.WORKSPACE;const Xl=A().int().positive().optional(),Zl=O().nullable(),Ql=P({id:O(),name:E(),mimeType:E(),size:A(),url:k()}),$l=I(`type`,[P({id:O(),type:z(`file`),workingCopyAvailable:j().optional(),hasUnsavedWork:j().optional(),baseVersionNumber:A().int().positive().optional(),projectId:Zl,file:Ql,versionNumber:Xl,createdAt:B(),updatedAt:B()}),P({id:O(),type:z(`website`),projectId:Zl,url:k(),sandboxId:E().nullable(),title:E().optional(),visibility:Jl.default(U.SELF),source:Ql.optional(),hasUnsavedWork:j().optional(),baseVersionNumber:A().int().positive().optional(),versionNumber:Xl,createdAt:B(),updatedAt:B()}),P({id:O(),type:z(`deck`),projectId:Zl,title:E(),pdf:Ql,pptx:Ql.optional(),hasUnsavedWork:j().optional(),baseVersionNumber:A().int().positive().optional(),versionNumber:Xl,createdAt:B(),updatedAt:B()})]);P({data:N($l),nextKey:E().optional()}),P({data:$l}),P({data:P({webViewLink:k()})}),P({visibility:Jl});const eu=P({id:O(),versionNumber:A().int().positive(),title:E().nullable(),summary:E().nullable(),editor:P({id:O(),name:E(),email:E(),image:E().nullable()}),createdAt:B(),file:Ql.nullable(),sourceTask:F([P({visible:z(!0),id:O(),title:E().nullable()}),P({visible:z(!1)})]).nullable(),revertedFrom:A().int().positive().nullable()});P({data:P({headVersionId:O(),canRevert:j(),versions:N(eu)})}),P({summary:E().trim().min(1).max(500).optional()}),P({data:I(`status`,[P({status:z(`saved`),versionId:O(),versionNumber:A().int().positive()}),P({status:z(`unchanged`),versionNumber:A().int().positive()})])});const tu=P({id:O(),name:E()});P({assetProjectId:O().nullable(),assetName:E(),assetHasPreviewableVersions:j(),currentVersionNumber:A().int().positive(),currentVersionSavedAt:B(),currentVersionEditor:tu,baseVersionNumber:A().int().positive()}).extend({assetId:O()}),P({expectedHeadVersionId:O()}),P({data:P({versionId:O(),versionNumber:A().int().positive(),revertedFrom:A().int().positive()})});const nu=R([`pending`,`ready`,`failed`]),ru=R([`too_large`,`pdf_encrypted`,`pdf_unreadable`,`unsupported`,`conversion_failed`,`model_unavailable`,`extraction_failed`,`unknown`]),iu=[`processing`,`ready`,`partial`,`failed`],au=[`page`,`slide`,`row`],ou=P({unit:R(au).optional(),start:A().int().positive().optional(),end:A().int().positive().optional(),sheet:E().optional(),section:E().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.`),su=O().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.`),cu=2e3,lu=P({knowledgeStatus:R(iu).optional(),knowledgeIssue:ru.nullable().optional(),missingUnits:N(A().int().positive()).optional(),knowledgeUnit:R(au).nullable().optional()}),uu=P({id:O(),projectId:O(),fileId:O(),name:E(),title:E().nullable(),mimeType:E(),size:A().int().nonnegative(),url:E().nullable(),description:E().nullable(),...lu.shape,addedBy:O(),versionNumber:A().int().positive(),versionSavedAt:B().optional(),createdAt:B(),updatedAt:B()}),du=P({id:O(),projectId:O(),url:E(),title:E().nullable(),status:nu,description:E().nullable(),fetchError:E().nullable(),lastFetchedAt:B().nullable(),...lu.shape,addedBy:O(),createdAt:B(),updatedAt:B()}),fu=E().max(cu),pu=P({description:fu.optional()});pu.extend({fileId:O()});const mu=`project_file_version_conflict`,hu=P({expectedVersionNumber:V().int().positive()}),gu=P({projectFileId:O(),fileName:E(),mimeType:E(),size:A().int().nonnegative(),url:E().nullable(),currentVersionNumber:A().int().positive(),currentVersionSavedAt:B(),currentVersionEditor:tu,baseVersionNumber:A().int().positive()}),_u=P({code:z(mu),data:gu});pu.extend({url:Fl});const vu=P({title:E().transform(e=>e.replace(/[\s\p{Cc}]+/gu,` `).trim()||null).pipe(E().max(200).nullable()).optional(),description:fu.optional()}).refine(e=>e.title!==void 0||e.description!==void 0,{message:`Provide a title or a description`});function yu(e){return e.title??e.name}function bu(e){return e.title??e.url}P({files:N(uu)}),P({links:N(du)});const xu=1e5,Su=R([`self`,`project`]),Cu=R([`task_messages_contain_sensitive_content`,`sharing_disabled`,`share_visibility_not_allowed`,`share_failed`]);P({content:E().trim().min(1).max(xu),title:E().trim().min(1).max(100).optional(),visibility:Su.optional()}),P({taskId:O(),projectId:O(),visibility:Su,shareLink:k().optional(),shareFailure:Cu.optional()});const wu=R([`task`,`file`,`link`]);P({q:E().trim().min(1).max(200),type:F([wu,N(wu).min(1)]).optional().transform(e=>{if(e!==void 0)return[...new Set(Array.isArray(e)?e:[e])]}),limit:V().int().min(1).max(20).default(10)}),P({results:N(I(`type`,[P({type:z(`task`),taskId:O(),title:E(),updatedAt:B(),snippet:E().optional()}),P({type:z(`file`),sourceId:O(),title:E(),description:E().optional(),snippet:E().optional(),evidenceId:su,locator:ou}),P({type:z(`link`),sourceId:O(),title:E(),description:E().optional(),snippet:E().optional(),evidenceId:su,locator:ou})]))}),P({depth:R([`summary`,`full`]).default(`summary`),offset:V().int().min(0).optional().describe(`Continue a truncated read from a previous response's nextOffset. For a task in full depth it is the number of newest messages to skip; for a file or link it is the byte position to resume the stored text from.`),revision:E().optional().describe(`The revision the previous page reported. A file or link whose stored text was replaced since then answers 409 context_source_changed instead of continuing at the old offset.`),evidenceId:su.optional().describe(`Files and links: read the indexed passage a search result's evidenceId names, with the passages right before and after it.`),start:V().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:V().int().min(1).optional().describe("Inclusive end of the `start` range; defaults to `start`.")}),I(`status`,[P({status:z(`text`),sourceType:wu,sourceId:O(),title:E(),content:E(),truncated:j(),nextOffset:A().int().nonnegative().optional().describe(`Present only when truncated and more remains; pass it back as offset to read the next page.`),revision:E().optional().describe(`Files and links: identifies the stored text this page came from; pass it back with offset so a replaced snapshot is detected.`),passages:N(P({evidenceId:su,locator:ou})).optional().describe("Present when the read named an evidenceId or a range: the indexed passages `content` joins, in source order."),nextStart:A().int().positive().optional().describe(`Present when a range read was cut short: pass it as start to continue.`)}),P({status:z(`download`),sourceType:R([`file`,`link`]),sourceId:O(),title:E(),downloadUrl:k()}),P({status:z(`pending`),sourceType:z(`link`),sourceId:O(),title:E()}),P({status:z(`failed`),sourceType:z(`link`),sourceId:O(),title:E(),error:E()})]);const Tu=R([`wrong`,`outdated`,`not_answered`,`other`]),Eu=R([`open`,`resolved`,`dismissed`,`regressed`]),Du=[`file`,`link`,`task`,`asset`],Ou=P({sourceType:R(Du),sourceId:O().nullable(),title:E().nullable(),locator:ou.nullable(),snippet:E().nullable(),sourceRemoved:j()}),ku=I(`kind`,[P({kind:z(`search`),toolName:E(),query:E(),hits:N(Ou)}),P({kind:z(`read`),toolName:E(),sourceType:R(Du),sourceId:O().nullable(),title:E().nullable(),locator:ou.nullable(),sourceRemoved:j()})]),Au=P({status:R([`captured`,`none`]),items:N(ku)}),ju=R([`other_project`,`task_not_shared_to_project`,`evidence_unavailable`,`sensitive_content`]),Mu=P({id:A().int().nonnegative(),userMessageId:O().nullable(),assistantMessageId:O().nullable(),question:E(),answer:E()}),Nu=Mu.extend({selectable:j(),issue:ju.nullable()});P({messageId:O()}),P({id:O(),projectId:O(),taskId:O(),messageId:O(),modelId:E().nullable(),question:E(),answer:E(),evidence:Au,priorTurns:N(Nu),existingReport:P({id:O(),status:Eu}).nullable(),expiresAt:B()}),P({draftId:O(),reason:Tu,description:E().trim().max(4e3).optional(),expectedAnswer:E().trim().max(8e3).optional(),selectedTurnIds:N(A().int().nonnegative()).default([])});const Pu=P({id:O(),projectId:O(),taskId:O(),messageId:O(),reporterUserId:O(),status:Eu,reason:Tu,description:E().nullable(),expectedAnswer:E().nullable(),modelId:E().nullable(),question:E(),answer:E(),evidence:Au,priorTurns:N(Mu),reportedAt:B(),createdAt:B(),updatedAt:B()});P({outcome:R([`created`,`reopened`,`existing`]),report:Pu});const Fu=[`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`,`agent_monthly_cap_threshold`,`handoff_requested`,`webhook_destination_disabled`,`announcement`],Iu=[`info`,`action`],Lu=[`all`,`action`,`info`],Ru=[`low`,`medium`,`high`],zu=[`web`,`ios`,`android`],W=O(),Bu=R(Dl),Vu=R(Fu),Hu=R(Iu),Uu=R(Ru),Wu=R(zu);P({workspaceId:W}),P({workspaceId:W,notificationId:W}),P({workspaceId:W,deviceId:W}),P({tab:R(Lu).default(`all`),eventType:F([Vu,N(Vu)]).transform(e=>Array.isArray(e)?e:[e]).optional(),cursor:E().optional(),limit:V().int().min(1).max(100).default(20),lang:Bu.optional()});const Gu=P({id:E().min(1),labelKey:E().min(1),method:z(`POST`),path:E().min(1),requiresInput:N(P({fieldName:E().min(1),displayNameKey:E().min(1)})).min(1).optional(),style:R([`primary`,`destructive`,`secondary`]).optional()}),Ku=P({scope:R([`workspace`,`team`]),scopeName:E(),oldRole:E(),newRole:E(),canManageMember:j()}),qu=P({workspaceName:E().min(1)}),Ju=P({workspaceName:E().min(1),invoiceId:E().min(1)}),Yu=P({workspaceName:E().min(1),thresholdUsd:E().min(1),reloadAmountUsd:E().min(1)}),Xu=P({scheduleName:E().min(1),agentName:E().min(1),scheduleId:W}),Zu=P({scheduleName:E().min(1),scheduleId:W}),Qu=z([100,80]),$u=P({agentName:E().min(1),agentId:W,threshold:Qu,spentUsd:E().min(1),capUsd:E().min(1)}),ed=P({destinationId:W,destinationName:E().min(1)}),td=P({agentName:E().min(1),resourceName:E().min(1),resourceType:R([`model`,`connector`]),agentId:W}),nd=P({requesterName:E().min(1),resourceName:E().min(1),resourceType:R([`agent`,`connector`,`skill`]),scope:R([`team`,`workspace`]),teamId:W.optional(),scopeName:E().min(1),inlineActions:N(Gu),publishId:W}),rd=P({approverName:E().min(1),resourceName:E().min(1),resourceType:R([`agent`,`connector`,`skill`]),resourceId:W}),id=P({approverName:E().min(1),resourceName:E().min(1),resourceType:R([`agent`,`connector`,`skill`]),reason:E(),actions:N(P({id:R([`resubmit`,`viewResource`]),labelKey:E().min(1),href:E().min(1)})),resourceId:W}),ad=P({workspaceName:E().min(1),requesterEmail:E(),invitationId:W});R([`task`,`preview`,`meeting`]);const od=P({requesterName:E().min(1),resourceName:E().min(1),resourceId:W}),sd=I(`resourceType`,[od.extend({resourceType:z([`task`,`preview`]),parentTaskId:W}),od.extend({resourceType:z(`meeting`),meetingId:W})]),cd=P({meetingId:W,meetingTitle:E().min(1),sharedByName:E().min(1),role:R([`viewer`,`editor`])}),ld=P({meetingId:W,meetingTitle:E().min(1),sharedByName:E().min(1)}),ud=P({projectId:W,projectName:E().min(1),addedByName:E().min(1),teamId:W.optional(),teamName:E().min(1).optional()}).refine(e=>e.teamId===void 0==(e.teamName===void 0),{message:`teamId and teamName must be provided together`,path:[`teamName`]}),dd=P({direction:wl,targetKind:Tl,targetId:W}),fd=P({projectId:W,projectName:E().min(1),reportId:W,reporterName:E().min(1),reason:Tu}),pd=P({taskId:W,taskTitle:E(),projectId:W,projectName:E().min(1),sharedByName:E().min(1)}),md=P({taskId:W,taskTitle:E(),projectId:W,projectName:E().min(1),sharedByName:E().min(1),teamId:W.optional(),teamName:E().min(1).optional()}).refine(e=>e.teamId===void 0==(e.teamName===void 0),{message:`teamId and teamName must be provided together`,path:[`teamName`]}),hd=P({name:E(),taskTitle:E(),taskId:W}),gd=P({aiResponseSnippet:E(),taskId:W}),_d=P({aiResponseSnippet:E(),taskId:W}),vd=P({title:E().min(1).max(200),body:E().min(1).max(2e3),ctaLabel:E().max(80).optional()}),yd=P({en:vd}).catchall(vd),bd=P({notification:z(!0),webPush:j(),mobilePush:j(),email:j()}),xd=R([`notification`,`popup`]),Sd=P({announcementId:W,contentI18n:yd,channels:bd,category:Hu,ctaUrl:E().optional(),surface:xd.optional(),mediaKey:E().optional()}),Cd=P({id:E().min(1),label:E().min(1),method:z(`POST`),path:E().min(1),style:R([`primary`,`destructive`,`secondary`]).optional(),requiresInput:N(P({fieldName:E().min(1),displayName:E().min(1)})).min(1).optional()}),wd=E().refine(e=>e.startsWith(`/`)||/^https?:\/\//.test(e),{message:`ctaUrl must be an absolute URL or a path starting with /`}),Td=P({title:E(),body:E(),ctaLabel:E().optional(),ctaUrl:wd.optional(),inlineActions:N(Cd).optional()}),Ed=P({id:W,urgency:Uu,category:Hu,relatedEntityId:E().nullable(),rendered:Td,renderedLocale:Bu,readAt:B().nullable(),processedAt:B().nullable(),createdAt:B()}),Dd=I(`eventType`,[P({eventType:z(`role_changed`),payload:Ku}),P({eventType:z(`usage_exhausted`),payload:qu}),P({eventType:z(`payment_failed`),payload:Ju}),P({eventType:z(`auto_reload_threshold_exceeded`),payload:Yu}),P({eventType:z(`schedules_agent_deleted`),payload:Xu}),P({eventType:z(`schedules_calendar_auth_expired`),payload:Zu}),P({eventType:z(`agent_binding_removed`),payload:td}),P({eventType:z(`agent_monthly_cap_threshold`),payload:$u}),P({eventType:z(`webhook_destination_disabled`),payload:ed}),P({eventType:z(`schedule_run_completed`),payload:hd}),P({eventType:z(`publish_submitted`),payload:nd}),P({eventType:z(`publish_approved`),payload:rd}),P({eventType:z(`publish_rejected`),payload:id}),P({eventType:z(`task_complete`),payload:gd}),P({eventType:z(`task_waiting_approval`),payload:_d}),P({eventType:z(`workspace_join_request`),payload:ad}),P({eventType:z(`access_request`),payload:sd}),P({eventType:z(`meeting_shared`),payload:cd}),P({eventType:z(`meeting_shared_workspace`),payload:ld}),P({eventType:z(`project_member_added`),payload:ud}),P({eventType:z(`project_answer_reported`),payload:fd}),P({eventType:z(`task_shared_to_project`),payload:pd}),P({eventType:z(`task_shared_with_member`),payload:md}),P({eventType:z(`handoff_requested`),payload:dd}),P({eventType:z(`announcement`),payload:Sd})]),Od=Ed.and(Dd);P({items:N(Od),nextKey:E().optional()}),P({item:Od.nullable()}),P({count:A().int().min(0),capped:j().optional()}),P({deviceType:Wu,fcmToken:E().min(1),description:E().max(500).optional()}),P({id:W,createdAt:B()}),P({}).strict();const kd=I(`kind`,[P({kind:z(`all`)}),P({kind:z(`admins`)}),P({kind:z(`specific`),userIds:N(W).min(1)})]);P({workspaceId:W.nullish(),contentI18n:yd,ctaUrl:k({protocol:/^https?$/}).max(2e3).optional(),urgency:Uu,category:Hu,audience:kd,channels:bd,surface:xd.default(`notification`),mediaKey:E().min(1).max(100).optional()}).refine(e=>e.audience.kind===`all`||e.workspaceId!=null,{message:`workspaceId is required when audience.kind is 'admins' or 'specific'`,path:[`workspaceId`]}).refine(e=>e.surface!==`popup`||e.ctaUrl!=null,{message:`ctaUrl is required when surface is 'popup'`,path:[`ctaUrl`]}),P({id:W,createdAt:B()});const Ad=P({limit:V().int().min(1).max(100).default(20),nextKey:E().optional()}),jd=P({limit:V().int().min(1).max(100).default(20),offset:V().int().nonnegative().default(0)});P({limit:V().int().min(1).max(100).default(50),beforeVersionNumber:V().int().positive().optional()}).extend({versionNumber:V().int().positive().optional()});const Md=[e=>!e.editableFirst||!e.createdBy&&!!e.sortBy,{message:`editableFirst requires sortBy and no createdBy`,path:[`editableFirst`]}],Nd=[`asc`,`desc`],Pd=[`chatgpt`,`claude`],Fd={chatgpt:{modelProvider:`chatgpt-subscription`,modelIdPrefix:`chatgpt-sub/`,connectionFlow:`device-code`},claude:{modelProvider:`claude-subscription`,modelIdPrefix:`claude-sub/`,connectionFlow:`authorization-code`}},Id=R(Pd);P({connections:N(P({provider:Id,status:R([`pending`,`connected`,`expired`,`error`]),accountLabel:E().nullable(),plan:E().nullable(),lastError:E().nullable(),connectedAt:B().nullable()})),connectableProviders:N(Id)}),I(`connectionFlow`,[P({userCode:E(),verificationUrl:k(),expiresAt:B(),pollIntervalSeconds:A().int().positive()}).extend({connectionFlow:z(`device-code`)}),P({connectionFlow:z(`authorization-code`),authorizationUrl:k(),expiresAt:B()})]),P({code:E().trim().min(1).max(4096)}),P({models:N(P({id:E(),name:E(),provider:Id}))});const Ld=[`openai`,`anthropic`,`vertex-anthropic`,`vertex-google`,`vertex-google-gemma`,`google`,`openrouter`,`selfhosted`,`apmic`,`cerebras`],Rd=[`none`,`minimal`,`low`,`medium`,`high`,`xhigh`,`max`],zd=[{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`}}],Bd=[...Ld,`azure-openai`],Vd=Pd.map(e=>Fd[e].modelProvider),Hd=[...Bd,...Vd];function Ud(e){return zd.filter(t=>t.provider===e).map(e=>e.id)}Ud(`openai`),Ud(`anthropic`),Ud(`vertex-anthropic`),Ud(`vertex-google`),Ud(`google`),Ud(`openrouter`),Ud(`selfhosted`),Ud(`apmic`),Ud(`cerebras`);const Wd=[`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`],Gd=[`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`],Kd=zd.map(e=>e.id);function qd(e){return e.startsWith(`azure-`)}const Jd=[`lite`,`pro`,`max`],Yd=[`image`,`image-lite`],Xd=[`functionality`],Zd=[...Jd,...Yd,...Xd],Qd=F([R(Kd),R(Jd),E().refine(e=>qd(e)),R(Wd),R(Gd)]);F([Qd,R([...Yd,...Xd])]);const $d=F([Qd,z(`auto`)]),ef=P({id:E(),name:E(),shortName:E().optional(),description:E(),shortDescription:E().optional(),enabled:j().optional(),tags:N(E()).optional()});P({models:N(ef)}),P({tiers:N(P({tier:E(),available:j().optional(),model:ef.optional()}))});const tf=P({modelId:E()}),nf=R([`additional`]),rf=P({replacementModelId:$d.optional()});tf.extend(rf.shape),P({agentCount:A(),scheduleCount:A(),recentAgentCount:A(),recentTaskCount:A(),affectedModelSelections:N($d)}).extend({modelId:E()});const af=R([`pool`,`provider`]);P({modelId:F([E(),N(E()).min(1)]).optional(),revocation:nf.optional(),scope:af.optional(),providerId:E().optional()}),P({replacements:N(P({modelId:E(),replacementModelId:$d,references:P({agentCount:A(),scheduleCount:A()}),updatedAt:B()}))}),P({modelId:E(),replacementModelId:$d}),P({modelId:E()}),P({providers:N(P({id:E(),name:E(),baseUrl:E().nullable().optional(),verified:j(),models:N(P({id:E(),name:E(),enabled:j().optional(),additional:j().optional()})),options:L(E(),Ac()).optional()}))}),P({models:N(P({id:E(),name:E(),provider:R(Hd),supportsChat:j(),supportsImageGeneration:j(),imageBackend:R([`image-api`,`language-model`]).optional(),availableForAdvanced:j()}))}),P({tiers:N(P({tier:R(Zd),modelId:E(),fallbackModelId:E().nullable()}))}),P({tier:R(Zd)}),P({modelId:E().min(1),fallbackModelId:E().min(1).nullable().optional()});const of=R([`starter`,`pro`,`premium`]),sf=R([`pro`,`premium`]);sf.options;const G=P({pro:A().int().nonnegative(),premium:A().int().nonnegative()});R([`basic_window`,`granted_pool`,`purchased_pool`]);const cf=R([`purchased`,`granted`]);R([`task`,`title_generate`,`agent`,`schedule`,`sandbox_llm`,`sandbox_runtime`,`web_search`,`image_generation`,`agent_icon_generation`,`auto_routing`,`chatbot`,`meeting`,`mcp_tool_api_call`]);const K={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`};K.MEETING,K.MEETING_RECORDING_TRANSCRIPTION,K.MEETING_RECORDING_SUMMARY,K.MEETING_RECORDING_REFINE,K.MEETING_RECORDING_TITLE,K.WORKFLOW_AGENT,K.SCHEDULE_JUDGE_EXTRACT,K.WEB_SEARCH,K.PROJECT_KNOWLEDGE_DESCRIPTION,K.PROJECT_KNOWLEDGE_EXTRACTION,K.PROJECT_KNOWLEDGE_EMBEDDING,K.SENSITIVITY_CHECK,K.PUBLISH_CHANGE_SUMMARY;const lf={WEB_SEARCH:K.WEB_SEARCH,SANDBOX_RUNTIME:K.SANDBOX_RUNTIME,PROJECT_KNOWLEDGE_EMBEDDING:K.PROJECT_KNOWLEDGE_EMBEDDING};R([lf.WEB_SEARCH,lf.SANDBOX_RUNTIME,lf.PROJECT_KNOWLEDGE_EMBEDDING]);const uf={SEARCH:`search`,SCRAPE:`scrape`};R([uf.SEARCH,uf.SCRAPE]),P({workspaceId:O()});const df=P({usedPercent:A().min(0).max(100),resetAt:B().nullable()});P({seatType:of,hourly:df.nullable(),weekly:df,trial:P({endsAt:B(),remainingDays:A().int().positive()}).optional(),extraUsage:P({spentUsd:A().nonnegative(),resetAt:B().nullable()}),availability:P({allowed:j(),reason:R([`usage_exhausted`,`budget_exceeded`]).nullable(),resetAt:B().nullable()})});const ff=P({startAt:B(),endAt:B(),previousStartAt:B().optional()}),pf=P({period:ff,balanceUsd:A().nonnegative(),nextExpiry:P({amountUsd:A().positive(),expiresAt:B()}).optional(),currentSpentUsd:A().nonnegative(),currentSpentUsedPercent:A().nonnegative().nullable(),monthlyExtraUsageLimitUsd:A().positive().nullable(),memberMonthlyExtraUsageLimitUsd:A().positive().nullable()});P({periodStart:H.optional()}),P({period:ff,spentUsd:A().nonnegative(),purchasedUsd:A().nonnegative()});const mf=R([`extraUsage:desc`,`extraUsage:asc`]);P({periodStart:H.optional(),limit:V().int().min(1).max(100).default(20),offset:V().int().nonnegative().default(0),sort:mf.default(`extraUsage:desc`),search:E().trim().max(200).optional()}),P({items:N(P({id:O(),user:P({id:O(),name:E(),email:E()}),seatType:of,extraUsage:A().nonnegative(),monthlyLimitOverride:P({limitUsd:A().positive().nullable()}).nullable().optional()})),total:A().int().nonnegative()}),P({id:O(),poolType:cf,balanceUsd:A().nonnegative(),initialAmountUsd:A().positive(),expiresAt:B().nullable(),isAutoReload:j().nullable(),purchaseId:O().nullable(),createdBy:O(),createdAt:B(),updatedAt:B()}),P({amountUsd:A().positive().max(1e5),expiresAt:H.optional()}),P({id:O(),workspaceId:O(),amountUsd:E(),expiresAt:B().nullable(),createdAt:B()}),P({enabled:j(),thresholdUsd:A().positive(),reloadAmountUsd:A().positive()}).nullable(),P({enabled:j(),thresholdUsd:A().positive(),reloadAmountUsd:A().positive()}),P({checkoutUrl:k().nullable()}),P({limitUsd:A().positive().nullable()}),P({limitUsd:A().positive().nullable()});const hf=P({id:O(),name:E(),email:E()});P({items:N(P({user:hf,limitUsd:A().positive().nullable()}))}),P({workspaceId:O(),userId:O()}),P({limitUsd:A().min(.01).max(999999.99).nullable()});const gf=E().regex(/^\d+(\.\d+)?$/,`Budget must be a valid positive decimal number`).refine(e=>Number(e)>0,{message:`Budget must be a valid positive decimal number`});P({items:N(P({user:hf,budget:E().nullable()}))}),P({workspaceId:O(),userId:O()}),P({budget:gf.nullable()}),P({allowance:E().regex(/^\d+(\.\d{1,2})?$/u,`Allowance must be a positive amount with at most 2 decimals`).refine(e=>Number(e)>0&&Number(e)<=9999999999.99,{message:`Allowance must be greater than 0 and at most 9999999999.99`}).nullable()}),P({periodStart:H.optional()});const _f=P({model:E(),costUsd:A(),tokens:A()}),vf=P({costUsd:A(),totalTokens:A(),tokens:P({input:A(),output:A(),cachedInput:A(),cacheCreation:A()}),byModel:N(_f)});P({taskId:O(),totalCostUsd:A(),totalTokens:A(),tokens:vf.shape.tokens,byModel:vf.shape.byModel,taskRun:vf}),P({taskId:O(),scheduleId:O(),scheduleRunId:O(),work:vf,extraction:vf,judgePrimary:vf,judgeReview:vf,runTotal:vf,includingExtraction:vf});const yf=[`google`,`password`];P({users:N(P({id:O(),name:E(),email:E(),image:E().nullable().optional(),role:E(),loginMethods:N(R(yf)),createdAt:B(),seatType:of.nullable(),pendingSeatType:of.nullable(),pendingEffectiveAt:B().nullable()})),total:A().int().nonnegative()}),jd.extend({search:E().trim().max(200).optional()});const bf=E().min(10,`Password must be at least 10 characters long`).regex(/[a-z]/,`Password must contain at least one lowercase letter`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[0-9]/,`Password must contain at least one number`).regex(/[^a-zA-Z0-9]/,`Password must contain at least one special character`);P({currentPassword:E().min(1,`Current password is required`),newPassword:bf}),P({message:E()});const xf=R(Dl);P({email:E(),name:E(),image:E().nullable().optional(),locale:xf,hasPassword:j()}),P({locale:xf});const Sf={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`,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`},q={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`,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`},Cf=[q.ManageConnector,q.ReviewResourcePublish];[q.ManageResource,...Cf],q.ManageWorkspace,q.ManageRole,q.ManageMember,q.ManagePayment,q.ManageModel,q.ManageCapability,q.ManageResource,q.ManageChatbot,q.ManageChannelAgents,q.CreateCustomConnector,q.PublishCustomConnector,q.CreateAgent,q.CreateManagedAgent,q.PublishAgent,q.CreateSkill,q.PublishSkill,q.CreateWorkflow,q.ManageTeam,q.ManageAllTeams,q.ViewAuditLogs,q.ManageMember,q.ManageCapability,q.ManageResource,q.ManageChatbot,q.ManageChannelAgents,q.CreateCustomConnector,q.PublishCustomConnector,q.CreateAgent,q.CreateManagedAgent,q.PublishAgent,q.CreateSkill,q.PublishSkill,q.CreateWorkflow,q.ManageTeam,q.CreateCustomConnector,q.PublishCustomConnector,q.CreateAgent,q.PublishAgent,q.CreateSkill,q.PublishSkill,q.CreateWorkflow;const wf=R([`workspace`,`resource`,`team`]),Tf=R([{id:`manage_role`,category:`workspace`},{id:`manage_member`,category:`workspace`},{id:`manage_workspace`,category:`workspace`},{id:`manage_payment`,category:`workspace`},{id:`manage_model`,category:`workspace`},{id:`view_audit_logs`,category:`workspace`},{id:`manage_capability`,category:`resource`},{id:`create_custom_connector`,category:`resource`},{id:`publish_custom_connector`,category:`resource`},{id:`create_agent`,category:`resource`},{id:`create_managed_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)),Ef=P({id:Tf,name:E(),descriptions:N(E()).min(1),category:wf});P({lang:Ol}),P({permissions:N(Ef)}),new Set(Object.values({[q.ManageCapability]:q.ManageCapability,[q.ManageTeam]:q.ManageTeam,[q.CreateManagedAgent]:q.CreateManagedAgent,[q.ManageChannelAgents]:q.ManageChannelAgents})),new Set(Object.values(Sf).flatMap(e=>e.startsWith(`can_`)?[e.slice(4)]:[])),P({permissions:N(Tf)});const Df=`always_allow`,Of={ALWAYS_ASK:`always_ask`,AUTO:`auto`,ALWAYS_ALLOW:`always_allow`},kf=R(Of);kf.exclude([`ALWAYS_ASK`]);const Af={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.`},jf={ASK:`ask`,DENY:`deny`,BYPASS:`bypass`},Mf=R(jf);Of.ALWAYS_ALLOW,Of.AUTO,Of.ALWAYS_ASK,jf.BYPASS,jf.ASK,jf.DENY,R([`allow_all`,`auto_ask`,`auto_deny`]);const Nf=[{id:`allow_all`,toolApprovalMode:Of.ALWAYS_ALLOW,approvalHandling:jf.BYPASS},{id:`auto_ask`,toolApprovalMode:Of.AUTO,approvalHandling:jf.ASK},{id:`auto_deny`,toolApprovalMode:Of.AUTO,approvalHandling:jf.DENY}];function Pf(e,t){return Nf.find(n=>n.toolApprovalMode===e&&n.approvalHandling===t)?.id}const Ff={always_ask:`Always Ask`,auto:`Auto`,always_allow:`Always Allow`},If={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`},Lf={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`},Rf=new Set(Object.values(Lf));function zf(e){return Rf.has(e)}const Bf=new Set([Lf.POLICY_LOOKUP_FAILED,Lf.INNER_TOOL_NOT_FOUND,Lf.INPUT_MISSING_TOOL_NAME,Lf.INNER_RESOLUTION_FAILED]);function Vf(e){return Bf.has(e)}function Hf(e){let[t,...n]=e?.split(`
70
- `)??[],r=n.join(`
71
- `).trim();return{reason:t===void 0||!zf(t)?`generic`:Vf(t)?`policy_unresolved`:t,detail:r||void 0}}function Uf(e){return Hf(e).reason}const Wf={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 Gf(e){return Wf[Uf(e)]}const Kf={PREAUTHORIZED:`preauthorized`,LOW_RISK:`low_risk`};function qf(e){if(e?.isAutomatic===!0&&e.approved===!0)return e.reason===`Preauthorized for this task.`?{kind:Kf.PREAUTHORIZED,reason:void 0}:{kind:Kf.LOW_RISK,reason:e.reason}}const Jf=R([`invite-only`,`open`]),Yf=E().min(1,`Workspace name is required`).max(50,`Workspace name must be 50 characters or less`).regex(/^[\p{L}\p{N} ._-]+$/u,`Workspace name can only contain letters, numbers, spaces, dashes, underscores, and periods`).refine(e=>e===e.trim(),{message:`Workspace name cannot start or end with spaces`}),Xf=P({name:E().trim().min(1).max(50),latinName:E().trim().max(50).nullable().optional(),logoIconId:O(),faviconIconId:O().nullable().optional()}),Zf=P({name:E().trim().min(1).max(50),latinName:E().trim().max(50).nullable().optional(),logoUrl:E().min(1),faviconUrl:E().nullable().optional()}),Qf=P({id:E(),name:E(),userCount:A(),config:P({branding:Zf.nullable().optional(),additionalModelsEnabled:j().optional(),modelTierCustomizationEnabled:j().optional(),subscriptionModelsEnabled:j().optional(),subscriptionModelsAllowed:j().optional(),subscriptionPoolEnabled:j().optional(),subscriptionPoolAllowed:j().optional(),managedAgentEnabled:j().optional(),autopilotEnabled:j().optional(),subscriptionPoolFallbackModelId:Qd.nullable().optional()}).optional(),createdAt:B(),updatedAt:B()});P({workspaces:N(Qf)}),P({workspaces:N(Qf.extend({config:P({joinPolicy:Jf})}))}),P({joined:j()}),P({name:Yf,ownerId:O()}),P({name:Yf});const $f=E().trim().toLowerCase().max(253).regex(/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/,`Invalid email domain`);P({hideThinking:j().optional(),joinPolicy:Jf.optional(),allowedDomains:N(E()),defaultToolApprovalMode:kf.optional(),requireReview:j().optional(),shareSensitiveScanEnabled:j().optional(),maxShareVisibility:Yl.optional(),maxPreviewVisibility:Yl.optional(),disabledModelTiers:N(R(Jd)).optional(),additionalModelsEnabled:j().optional(),modelTierCustomizationEnabled:j().optional(),subscriptionModelsEnabled:j().optional(),subscriptionModelsAllowed:j().optional(),subscriptionPoolEnabled:j().optional(),subscriptionPoolAllowed:j().optional(),managedAgentEnabled:j().optional(),autopilotEnabled:j().optional(),subscriptionPoolFallbackModelId:Qd.nullable().optional(),subscriptionPoolMemberAllowance:E().nullable().optional(),autoTierDisabled:j().optional(),chatbotSlackEffectivelyEnabled:j().optional(),chatbotTeamsEffectivelyEnabled:j().optional(),systemPrompt:E().trim().max(1e3).nullable().optional()}),P({email:E(),name:E(),roles:N(E()),permissions:N(Tf)});const ep=R([`requested`,`approved`,`rejected`]);P({workspaceId:O(),invitationId:O()}),P({email:E(),status:ep,workspace:P({id:O(),name:E()})}),P({invitations:N(P({id:O(),workspaceId:O(),email:E(),status:ep,role:E(),requestedSeatType:of,invitedBy:P({email:E(),name:E(),isMe:j()}).optional(),invitedAt:B().optional(),expiresAt:B().optional(),createdAt:B(),updatedAt:B()})),total:A().int().nonnegative()}),jd.extend({status:ep.optional(),search:E().trim().max(200).optional()});const tp=P({starter:A().int().nonnegative(),pro:A().int().nonnegative(),premium:A().int().nonnegative()}),np=P({id:E(),email:E()}),rp=P({id:E(),name:E(),owners:N(np),userCount:A().int().nonnegative(),paidSeatCount:A().int().nonnegative(),seatCountsByType:tp,createdAt:B(),updatedAt:B()});jd.extend({search:E().trim().max(200).optional(),exact:bl().optional(),sortBy:R([`createdAt`,`userCount`,`paidSeatCount`]).default(`createdAt`),order:R(Nd).default(`desc`)}),P({workspaces:N(rp),total:A().int().nonnegative()}),P({workspaceId:O()});const ip=P({purchasedUsd:A().nonnegative(),grantedUsd:A().nonnegative(),totalUsd:A().nonnegative(),nextExpiry:P({amountUsd:A().nonnegative(),expiresAt:B()}).nullable()}),ap=R([`owner`,`admin`,`member`]),op=P({id:E(),email:E(),name:E(),role:E(),seatType:of.nullable(),joinedAt:B(),loginMethods:N(R(yf)),lastLoginAt:B().nullable(),passwordSetupEmailSentAt:B().nullable()}),sp=P({enabled:j(),modelIds:N(E())}),cp=P({id:E(),name:E()}),lp=P({slackEnabled:j(),slackAvailable:j(),teamsEnabled:j(),teamsAvailable:j(),defaultAgentId:E().nullable(),ownerPanelDisabled:j(),inheritsLegacySettings:j(),agents:N(cp)});P({slackEnabled:j(),teamsEnabled:j(),defaultAgentId:O().nullable(),ownerPanelDisabled:j()});const up=Xf.extend({logoUrl:E(),faviconUrl:E().nullable().optional()});P({branding:Xf.nullable()}),P({logoIconId:O(),faviconIconId:O(),logoUrl:E(),faviconUrl:E()});const dp=1e4,fp=P({purchased:G,scheduledPurchased:G,scheduledPurchasedAt:B().nullable(),granted:G,assigned:G});P({grantedSeats:P({pro:A().int().nonnegative().max(dp),premium:A().int().nonnegative().max(dp)}),note:E().trim().min(1).max(500)}),P({id:E(),name:E(),owners:N(np),userCount:A().int().nonnegative(),paidSeatCount:A().int().nonnegative(),seatCountsByType:tp,seatPool:fp,extraUsage:ip,members:N(op),allowedDomains:N(E()),advancedModels:sp,modelTierCustomizationEnabled:j(),chatbotSettings:lp,subscriptionModelsAllowed:j(),subscriptionPoolAllowed:j(),managedAgentEnabled:j(),autopilotEnabled:j(),branding:up.nullable(),createdAt:B(),updatedAt:B()}),P({allowedDomains:N($f).max(50)}),P({enabled:j(),modelIds:N(E().trim().min(1).max(200)).max(100)}).extend(rf.shape),P({enabled:j()}).extend(rf.shape);const pp=P({id:O(),userId:O(),workspaceId:O(),year:A(),month:A(),totalCost:E(),poolCost:E().optional(),operationCount:A(),createdAt:B(),updatedAt:B(),user:P({id:O(),name:E(),email:E()}),budgetOverride:P({budget:E().nullable()}).nullable().optional(),poolAllowanceOverride:P({allowance:E().nullable()}).nullable().optional()});Ad.extend({search:E().trim().max(200).optional()}),P({monthlyUsages:N(pp),nextKey:E().optional()});const mp=[`super_admin`,`operator`];R([`vertex/gemini-3.7-flash`,`vertex/gemini-3.5-flash`]),P({provider:z(`gemini`),model:E().min(1),estimatedHourlyCostUsd:A().nonnegative()}),P({model:E().min(1)});const hp=P({id:O(),email:E()});P({admins:N(P({id:O(),email:E(),role:R(mp),createdBy:hp.nullable(),createdAt:B(),updatedAt:B()}))}),P({id:O(),role:R(mp)}),P({email:rc(),role:R(mp)}),P({adminId:O()}),P({email:rc(),name:E().trim().min(1).max(100).optional(),password:bf,workspaceId:O().optional(),role:ap.default(`member`)});const gp=P({id:O(),email:E(),name:E(),createdAt:B()}),_p=P({resetPasswordUrl:k(),resetPasswordExpiresAt:B()});gp.extend(_p.shape),P({email:rc(),role:ap.default(`member`),sendPasswordSetupEmail:j().default(!1)}),P({id:O(),email:E(),name:E(),role:E(),passwordSetupEmailSent:j()}),P({workspaceId:O(),userId:O()}),P({sendEmail:j().default(!1)}),_p.extend({emailSentAt:B().nullable()}),P({role:ap}),P({role:R(mp)});const vp=[`create`,`update`,`delete`],yp=[`workspace`,`admin`,`user`,`extra_usage`,`marketplace_agent`,`marketplace_skill`,`azure_openai_deployment`,`connector`,`model_tier`,`announcement`],bp=[`success`,`failure`],xp=P({adminId:O(),email:E().nullable(),isRemoved:j()}),Sp=P({ipAddress:E().optional(),details:L(E(),M()).optional(),errorMessage:E().optional()}),Cp=P({id:O(),actor:xp,action:R(vp),resourceType:R(yp),resourceId:E().nullable(),resourceLabel:E().nullable(),status:R(bp),metadata:Sp,createdAt:B()});jd.extend({actorAdminId:O().optional(),action:R(vp).optional(),resourceType:R(yp).optional(),status:R(bp).optional(),workspaceSearch:E().trim().max(200).optional(),from:H.optional(),to:H.optional()}),P({items:N(Cp),total:A().int().nonnegative()});const wp=P({id:O(),workspaceId:O().nullable(),contentI18n:yd,ctaUrl:E().nullable(),urgency:Uu,category:Hu,audience:kd,channels:bd,surface:xd,mediaKey:E().nullable(),createdBy:O().nullable(),createdAt:B()});jd.extend({surface:xd.optional()}),P({items:N(wp),total:A().int().nonnegative()}),P({announcementId:O()});const Tp={"user:read":`Read your profile information`,"user:write":`Update your profile and preferences`,"user:email":`Read your email address`,"workspaces:read":`List and read your workspaces`,"workspaces:write":`Create and modify workspaces`,"tasks:read":`Read your task history and messages`,"tasks:write":`Create and send messages`,"tasks:delete":`Delete your tasks`,"projects:read":`List and read your projects`,"projects:write":`Create and modify projects`,"agents:read":`List and read agents`,"agents:write":`Create and modify agents`,"agents:execute":`Execute agents via the external API`,"connectors:read":`List available connectors`,"connectors:write":`Configure connector settings`,"tools:read":`List available tools`,"tools:execute":`Execute tools`,"skills:read":`List and read skills`,"skills:write":`Create and modify skills`,"meetings:read":`Read meetings and recordings`,"meetings:write":`Create and modify meetings and recordings`,"notifications:read":`Read your notifications`,"notifications:write":`Manage notification state and device registrations`,"publishes:read":`List and read publish requests`,"publishes:write":`Submit, approve, reject, and revoke publishes`,"calendar:read":`Read your calendar accounts and events`,"calendar:write":`Manage calendar accounts and sync settings`,"schedules:read":`Read your schedules`,"schedules:write":`Create and modify schedules`,"subscriptions:read":`Read your personal subscription connections`,"subscriptions:write":`Connect and disconnect personal subscriptions`,"workflows:read":`Read your workflows and their runs`,"workflows:write":`Create, modify, and run workflows`,"chatbot:read":`List and read chatbot installations and configurations`,"chatbot:write":`Manage chatbot installations and configurations`,"llm:chat":`Call LLM models via the proxy endpoint`,offline_access:`Access your data when you are not present`},Ep=[`offline_access`,`user:email`],Dp=Object.keys(Tp).filter(e=>!Ep.includes(e));if(Dp.length===0)throw Error(`PAT_AVAILABLE_SCOPES must not be empty`);const Op=R(Dp),kp=P({id:O(),name:E(),tokenPrefix:E(),scopes:N(E()).nullable(),resources:P({agents:N(E()).optional(),skills:N(E()).optional(),connectors:N(E()).optional()}).nullable(),expiresAt:B().nullable(),lastUsedAt:B().nullable(),createdAt:B()});P({name:E().trim().min(1).max(200),expiresInDays:A().int().min(1).max(3650).nullable(),scopes:N(Op).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 Ap=P({token:E(),data:kp});P({tokens:N(kp)});const jp=R([`queued`,`running`,`completed`,`failed`]),Mp=P({tool:E(),connectorId:E().optional(),summary:E(),status:E()});P({executionId:O(),status:jp,agentVersionId:O().optional(),output:P({text:E(),structured:M().optional()}).optional(),actions:N(Mp).optional(),cost:A().optional()}),P({executionId:O(),status:z(`running`)}),P({input:E().min(1).max(1e5),agentVersionId:O().optional(),webhookUrl:Fl.optional(),metadata:L(E().max(100),E().max(1e3)).refine(e=>Object.keys(e).length<=20,{message:`metadata supports at most 20 keys`}).optional()}),P({requestsPerMinute:A().int().min(1).max(1e4).nullable()}),P({requestsPerMinute:A().int().nullable()}),P({items:N(kp.pick({id:!0,name:!0,createdAt:!0,lastUsedAt:!0}))}),P({name:E().trim().min(1).max(200),expiresInDays:A().int().min(1).max(3650).nullable()}),Ap.extend({webhookSecret:E()});const J={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(J);const Np=[J.WEB_SEARCH,J.IMAGE_GENERATION],Y={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`},Pp=Object.values(Y);Y.SANDBOX,J.SANDBOX,J.SKILL,Y.MULTITASKING,J.SUBAGENT,J.WORKFLOW,Y.HISTORY,J.TASK,J.MEETING,J.MEMORY,Y.CREATION,J.ASSET,J.SLIDES,J.IMAGE_GENERATION,Y.PROJECT,J.PROJECT,J.ASSET,Y.WEB_SEARCH,J.WEB_SEARCH,Y.SCHEDULE,J.SCHEDULE,Y.AGENTS_AND_SKILLS,J.AGENT,J.SKILL_MANAGEMENT,Y.AUDIT_LOG,J.AUDIT_LOG;const Fp=Gc(R(Pp),j());function Ip(e,t){return e===void 0?!0:e[t]??t!==Y.AUDIT_LOG}function Lp(e){return Object.fromEntries(Pp.map(t=>[t,e.includes(t)]))}function Rp(e){return Pp.filter(t=>Ip(e,t))}const zp=Object.freeze(Lp([Y.SANDBOX,Y.AGENTS_AND_SKILLS]));J.CHART;const Bp=R([`create`,`user_edit`,`agent_tool`,`restore`,`marketplace_install`,`publish`,`migration`]),Vp=P({id:O(),versionNumber:A().int(),origin:Bp,note:E().nullable(),restoredFromVersionNumber:A().int().nullable(),createdBy:P({id:O(),name:E(),image:E().nullable()}).nullable(),createdAt:B()});P({versions:N(Vp.extend({publishedTargets:P({workspace:j(),teams:N(P({id:O(),name:E()}))})})),nextVersionNumber:A().int().nullable()});const Hp=P({id:O(),name:E(),available:j()}),Up=Vp.extend({name:E(),description:E(),systemPrompt:E(),modelId:E(),connectorIds:N(O()),capabilities:Fp,conversationStarters:N(E()),tools:N(E()).nullable(),iconId:O().nullable(),iconUrl:E().optional(),skillIds:N(O()),delegatableAgentIds:N(O()),connectors:N(Hp),skills:N(Hp),delegatableAgents:N(Hp)});P({workspaceId:O(),agentId:O(),versionId:O()}),P({expectedHeadVersionId:O(),dryRun:j().optional(),modelId:$d.optional(),omitConnectorIds:N(O()).optional(),omitSkillIds:N(O()).optional(),omitDelegatableAgentIds:N(O()).optional(),omitTools:N(E()).optional(),note:E().trim().max(500).optional()}),P({issues:P({modelUnavailable:j(),connectorIds:N(O()),skillIds:N(O()),delegatableAgentIds:N(O()),tools:N(E())}).optional(),version:P({id:O(),versionNumber:A().int().positive()}).nullable()});const Wp={PENDING:`pending`,APPROVED:`approved`,REJECTED:`rejected`,PENDING_UPDATE:`pending_update`};Wp.APPROVED,Wp.PENDING_UPDATE,Wp.PENDING,Wp.PENDING_UPDATE;const Gp={CONNECTOR:`connector`,AGENT:`agent`,SKILL:`skill`,MEETING:`meeting`};({...Gp}),Object.values(Gp);const Kp={OWNER:`owner`,MANAGER:`manager`,MEMBER:`member`},qp={VISIBLE:`visible`,HIDDEN:`hidden`},Jp={OWNER:`owner`,EDITOR:`editor`,VIEWER:`viewer`},Yp=R([Jp.OWNER,Jp.EDITOR,Jp.VIEWER]);Jp.OWNER,Jp.EDITOR,Jp.VIEWER;const Xp={USER:`user`,TEAM:`team`},Zp=R([Xp.USER,Xp.TEAM]),Qp=Yp.nullable(),$p={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`};$p.permissionDenied,$p.userCancelled,$p.sensitiveContext;const em={DIRECT:`direct`,HINTED:`hinted`};em.DIRECT,em.HINTED,new TextEncoder;function tm(e,t){return e.map(e=>({...e,disclosureMode:e.disclosureMode??t}))}const nm=`task__`,rm={SHARE_TASK:`${nm}share_task`,READ_REFERENCED_TASK:`${nm}read_referenced_task`,SEARCH_TASKS:`${nm}search_tasks`,LIST_TASK_FILES:`${nm}list_task_files`,EXPORT_DIAGNOSTICS:`${nm}export_diagnostics`},im=`meta_tool__`,am={SEARCH_TOOLS:`${im}search_tools`,GET_TOOL_SCHEMAS:`${im}get_tool_schemas`,EXECUTE_TOOL:`${im}execute_tool`};function om(e,t){if(e===am.EXECUTE_TOOL)return Te(t)&&typeof t.toolName==`string`?t.toolName:void 0}function sm(e,t){return e===am.EXECUTE_TOOL?om(e,t):e}const cm=`usage_audit__`,lm={GET_DAILY_SUMMARY:`${cm}get_daily_summary`,GET_MONTHLY_COSTS:`${cm}get_monthly_costs`,GET_USER_BREAKDOWN:`${cm}get_user_breakdown`,GET_USER_DAILY_TREND:`${cm}get_user_daily_trend`,FIND_USAGE_DROPS:`${cm}find_usage_drops`,FIND_STALE_SCHEDULES:`${cm}find_stale_schedules`,GET_SCHEDULE_TOOL_CALLS:`${cm}get_schedule_tool_calls`,GET_COST_RANKING:`${cm}get_cost_ranking`,GET_WORKSPACE_TOTALS:`${cm}get_workspace_totals`},um=`subagent__`,dm={SPAWN:`${um}spawn`,GET_RUN:`${um}get_run`},fm=`background__`,pm={LIST_RUNS:`${fm}list_runs`,GET_RUN:`${fm}get_run`,STOP_RUN:`${fm}stop_run`,WAIT:`${fm}wait`},mm=[`browser__`,nm,`project__`,`asset__`,`agent__`,fm,`connector__`,`filesystem__`,`image__`,`meeting__`,`memory__`,`sandbox__`,`schedule__`,`skill__`,`site__`,`slides__`,`tool_result__`,im,cm,`audit_log__`,um,`ui__`,`web__`,`workflow__`].map(e=>e.slice(0,-2)),hm=[`updatedAt`,`name`],gm={BUILT_IN:`built_in`,CUSTOM_SOURCE_CODE:`custom_source_code`,CUSTOM_REMOTE_URL:`custom_remote_url`},_m=[gm.BUILT_IN,gm.CUSTOM_SOURCE_CODE,gm.CUSTOM_REMOTE_URL],vm=R([`pat`,`oauth`,`dcard-dual`,`google-iap`,`credentials`,`mcp-oauth`,`composio`]),ym=/^[a-z][a-z0-9-]*$/,bm=[`pat`,`credentials`],xm=P({key:E().regex(ym).max(32),label:E().min(1).max(50),description:E().max(200).optional(),placeholder:E().max(100).optional(),required:j()}),Sm=N(xm).max(10).refine(e=>new Set(e.map(e=>e.key)).size===e.length,{message:`config field keys must be unique`}),Cm=/^[\u0020-\u007E]*$/;L(E().regex(ym).max(32),E().min(1).max(256).regex(Cm,`must be printable ASCII`)),E().trim().regex(Cm,`must be printable ASCII`);const wm={pat:!1,oauth:!0,"dcard-dual":!0,"google-iap":!0,credentials:!1,"mcp-oauth":!0,composio:!0};function Tm(e){let t=vm.safeParse(e);return t.success&&wm[t.data]}const Em=R([`pending`,`running`,`failed`]),Dm=R([`pending`,`in_review`,`approved`,`rejected`]),Om=P({name:E(),isMe:j()}),km=P({id:E(),name:E(),configured:j(),builtIn:j()}),Am=P({type:vm,tutorial:E().optional(),configFields:N(xm).optional(),tokenless:j().optional().describe(`PAT connectors whose connect step is a pure opt-in: the client submits a constant token without asking the user for input`),provider:km.optional().describe(`The OAuth provider, only present for OAuth authorization`)});P({iconId:O(),url:k()});const jm=P({id:O(),name:E(),description:E(),provider:E().nullable().describe(`The provider of the connector, either EntryDesk (for built-in connectors) or Workspace name`),author:P(Om.shape).optional().describe(`The author of the connector, not available for built-in connectors`),connected:j().describe(`Whether the user has connected the connector to the workspace`),iconUrl:E().optional().describe(`The URL of the connector icon`),team:P({id:O(),name:E()}).optional().describe(`The team this connector is published to, only present when createdBy is team`),hasPermission:j().describe(`Whether the user has permission to use the connector`),added:j().describe(`Whether the connector has a workspace_connectors record. Without one it has no tool registry, so the per-connector tool endpoints answer 404`),hasWorkspaceToken:j().describe(`Whether the workspace has a workspace token configured for this connector`),tokenMode:R([`personal`,`workspace`]).describe(`Token mode: personal (each member connects) or workspace (admin provides shared token)`),reviewStatus:Dm.optional().describe(`The review status of the connector, not available for built-in connectors`),authorization:Am.optional(),versionNumber:A().int().nullable(),myRole:Qp,createdAt:B(),updatedAt:B()});P({connectors:N(jm),nextKey:E().optional()}),P({connectors:N(jm.extend({preferredForWorkItems:j().optional(),workItemCapabilities:P({read:j(),create:j(),update:j()})})),nextKey:E().optional()}),Ad.extend({reviewStatus:Dm.optional().describe(`Filter connectors by review status (only applies to custom connectors)`),includeNotAdded:F([z(`true`).transform(()=>!0),z(`false`).transform(()=>!1),j()]).optional().describe(`Include connectors that have not been added to the workspace (no workspace_connectors record)`),type:R(_m).optional().describe(`Filter connectors by type`),sortBy:R(hm).optional()}).refine(e=>!(e.type===gm.BUILT_IN&&e.reviewStatus),{message:`reviewStatus parameter is not applicable when type is built_in`,path:[`reviewStatus`]}),Ad.extend({createdBy:R([`workspace`,`team`,`me`]).optional(),teamId:O().optional(),connectionStatus:R([`all`,`connected`]).optional().default(`all`).describe(`Filter connectors by connection status`),strict:F([z(`true`).transform(()=>!0),z(`false`).transform(()=>!1),j()]).optional().default(!0).describe(`Whether to filter out connectors that the user does not have permission to use`),search:E().trim().max(200).optional().describe(`Search connectors by name using SQL LIKE query`),connectorIds:F([O(),N(O())]).optional().transform(e=>{if(e!==void 0)return Array.isArray(e)?e:[e]}).describe(`Filter connectors by specific IDs`),sortBy:R(hm).optional(),editableFirst:bl().optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}).refine(...Md);const Mm=P({id:E(),name:E()}),Nm=P({id:O()}).nullable();P({connectors:N(P({id:O(),type:R(_m),name:E(),description:E(),provider:E().describe(`The provider of the connector, either EntryDesk (for built-in connectors) or Workspace name`),iconUrl:E().optional().describe(`The URL of the connector icon`),author:Om.optional().describe(`The author of the connector, not available for built-in connectors`),roles:N(Mm).describe(`The roles of the user who has access to the connector`),executionStatus:Em.optional().describe(`The execution status of the connector, not available for built-in connectors`),reviewStatus:Dm.optional().describe(`The review status of the connector, not available for built-in connectors`),hasWorkspaceToken:j().describe(`Whether the workspace has a workspace token configured for this connector`),tokenMode:R([`personal`,`workspace`]).describe(`Token mode: personal (each member connects) or workspace (admin provides shared token)`),added:j().describe(`Whether the connector has been added to the workspace`),toolNamespace:E().optional().describe(`The namespace of the tool name, available when the connector is added to the workspace`),toolPrefix:E().optional().describe(`Deprecated alias for toolNamespace`),authorization:Am.optional().describe(`The authorization of the connector.`),publish:Nm,myRole:Qp,createdAt:B(),updatedAt:B()})),nextKey:E().optional()});const Pm=R([`pat`,`oauth`,`dcard-dual`,`google-iap`,`credentials`,`mcp-oauth`]),Fm={pat:!1,oauth:!0,"dcard-dual":!0,"google-iap":!0,credentials:!1,"mcp-oauth":!1};function Im(e){let t=Pm.safeParse(e);return t.success&&Fm[t.data]}const Lm=P({type:Pm,provider:E().optional(),scopes:N(E()).optional(),tutorial:E().optional(),configFields:N(xm).optional()}),Rm=P({type:Pm,provider:E().optional(),scopes:N(E()).optional(),tutorial:k().max(100).optional(),configFields:Sm.optional()}).refine(e=>!Im(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&&!bm.some(t=>t===e.type)),{message:`configFields is only allowed for PAT and CREDENTIALS authorization types`,path:[`configFields`]}),zm=/^[A-Za-z0-9\s]+$/u,Bm=[`empty`,`too_long`,`invalid_characters`,`consecutive_spaces`,`untrimmed`],Vm={empty:e=>e.length===0,too_long:e=>e.length>50,invalid_characters:e=>!zm.test(e),consecutive_spaces:e=>/\s{2,}/u.test(e),untrimmed:e=>e.trim()!==e},Hm={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 Um(e){return Bm.find(t=>Vm[t](e))}const Wm=/^[a-z][a-z0-9_-]*$/u,Gm=[`empty`,`too_long`,`invalid_characters`,`consecutive_underscores`,`trailing_underscore`,`reserved`],Km={empty:e=>e.length===0,too_long:e=>e.length>32,invalid_characters:e=>!Wm.test(e),consecutive_underscores:e=>e.includes(`__`),trailing_underscore:e=>e.endsWith(`_`),reserved:e=>mm.includes(e)},qm={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 Jm(e){return Gm.find(t=>Km[t](e))}function Ym(){return E().superRefine((e,t)=>{let n=Jm(e);n&&t.addIssue({code:`custom`,message:`Tool namespace "${e}" ${qm[n]}`})})}function Xm(e){let t=e.toLowerCase().replaceAll(/[^a-z0-9]+/gu,`_`).replace(/^_/u,``).replace(/_$/u,``);return/^[0-9]/u.test(t)?`c_${t}`:t}const Zm=R([`streamable_http`,`sse`]);P({id:O(),type:z(gm.CUSTOM_REMOTE_URL),name:E(),description:E(),url:E(),transport:Zm,toolNamespace:E(),toolPrefix:E().describe(`Deprecated alias for toolNamespace`),author:Om.optional(),authorization:Lm.optional(),executionStatus:Em.optional(),reviewStatus:Dm.optional(),createdAt:B(),updatedAt:B(),iconId:O().nullable().optional(),iconUrl:E().optional(),publish:P({id:O()}).nullable(),myRole:Qp}),P({id:O(),type:z(gm.CUSTOM_REMOTE_URL),name:E(),description:E(),transport:Zm,url:E(),executionStatus:Em,reviewStatus:Dm,toolNamespace:E(),toolPrefix:E().describe(`Deprecated alias for toolNamespace`),createdAt:B(),updatedAt:B()});function Qm(e){return xl(e=>{if(!Te(e))return e;let{toolPrefix:t,...n}=e;return t===void 0||`toolNamespace`in n?e:{...n,toolNamespace:t}},e)}Qm(P({type:z(gm.CUSTOM_REMOTE_URL),name:E().min(1),description:E().min(1),transport:Zm,url:k({protocol:/^https?$/u}),toolNamespace:Ym().describe(`The tool namespace for the connector. Also accepted as toolPrefix.`),authorization:Rm.optional().nullable(),iconId:O().nullable().optional()}));const $m=R([Gp.CONNECTOR,Gp.AGENT,Gp.SKILL]),eh=[Wp.PENDING,Wp.APPROVED,Wp.REJECTED,Wp.PENDING_UPDATE],th=P({id:O(),name:E()}),nh=P({id:O(),type:$m,name:E(),description:E().optional(),connectorType:R(_m).optional(),tokenMode:R([`personal`,`workspace`]).optional(),authorization:Am.optional(),iconUrl:E().optional(),provider:E().optional()});P({rejectReason:E().trim().max(500).optional()}),P({search:E().trim().max(200).optional(),status:F([R(eh),N(R(eh)).min(1)]).optional(),resourceType:$m.optional(),limit:V().int().min(1).max(100).default(20),nextKey:E().optional()});const rh=P({id:O(),name:E(),versionNumber:A().int().nullable(),versionId:O().nullable(),publishId:O(),status:R(eh),rejectReason:E().nullable()}),ih=P({workspace:P({published:j(),versionNumber:A().int().nullable(),versionId:O().nullable(),publishId:O().nullable(),status:R(eh).nullable(),rejectReason:E().nullable()}),teams:N(rh)}),ah=P({type:E(),provider:E().optional(),scopes:N(E()).optional(),tutorial:E().optional()}),oh=P({type:z(`connector`),id:O(),publishedVersionId:O().optional(),name:E(),description:E(),iconUrl:E().optional(),toolPrefix:E(),url:E(),transport:E(),authorization:ah.optional()}),sh=P({id:O(),name:E(),hasPermission:j()}),ch=P({id:E(),name:E(),available:j()}),lh=P({previous:Up,current:Up}),uh=P({type:z(`agent`),id:O(),publishedVersionId:O().optional(),name:E(),description:E(),iconUrl:E().optional(),systemPrompt:E(),conversationStarters:N(E()),model:ch,connectors:N(sh),capabilities:Fp,diff:lh.optional(),changeSummary:E().nullable().optional()}),dh=P({id:O(),description:E(),createdBy:P({id:O(),name:E()}),createdAt:B()}),fh=dh.extend({name:E(),downloadUrl:E(),contentChanged:j()});I(`type`,[oh,uh,P({type:z(`skill`),id:O(),publishedVersionId:O().optional(),name:E(),description:E(),currentVersion:dh,downloadUrl:E(),previousVersion:fh.optional(),changeSummary:E().nullable().optional()})]);const ph=[`private`,`review`,`live`,`rejected`],mh=P({private:A().int().nonnegative(),review:A().int().nonnegative(),live:A().int().nonnegative(),rejected:A().int().nonnegative()}),hh=P({id:O(),versionNumber:A().int().positive()}),gh=2e3,_h=1e4,vh=R([`owner`,`member`]),yh=P({id:O(),workspaceId:O(),name:E(),description:E().nullable(),instruction:E().nullable(),createdAt:B(),updatedAt:B()}),bh=P({userId:O(),role:vh,name:E(),email:E(),image:E().nullable().optional()}),xh=P({teamId:O(),name:E(),memberCount:A().int().nonnegative(),role:z(`member`),visibility:R([`visible`,`hidden`]),canExpand:j(),addedAt:B()}),Sh=E().max(_h,`Instruction is too long: the maximum is ${_h} characters.`);P({name:E().trim().min(1).max(255),description:E().max(gh).nullable().optional(),instruction:Sh.nullable().optional()}).partial();const Ch=P({userId:O(),name:E(),email:E(),image:E().nullable()}),wh=yh.extend({role:vh,creator:Ch.nullable(),isShared:j(),hasOtherMembers:j()}),Th=R([`all`,`mine`,`shared`]),Eh=R([`lastActivityAt`,`createdAt`]);P({limit:V().int().min(1).max(100).default(50),nextKey:E().optional(),filter:Th.default(`all`),search:E().trim().max(200).optional(),sortBy:Eh.default(`lastActivityAt`),order:R(Nd).default(`desc`)}),P({projects:N(wh),nextKey:E().optional()}),yh.extend({role:vh,creator:Ch.nullable(),isShared:j(),members:N(bh),teams:N(xh),taskCount:A().int().nonnegative(),sourceCount:A().int().nonnegative(),assetCount:A().int().nonnegative(),assetVersionCount:A().int().nonnegative()}),P({userId:O()}),P({teamId:O()}),P({members:N(bh)});const Dh=P({teamId:O(),name:E(),memberCount:A().int().nonnegative(),visibility:R([`visible`,`hidden`])});P({q:E().trim().max(100).optional()}),P({teams:N(Dh)}),P({role:vh});const Oh=O().optional().describe(`The project the caller last saw the task in. Compared against the current project under the task row lock; a mismatch answers 409 task_project_mismatch and writes nothing. Omitted, the write is unconditional.`);P({projectId:O().nullable(),confirmAssetSharing:j().optional(),expectedProjectId:Oh}),P({taskId:O(),projectId:O().nullable()}),P({expectedProjectId:Oh});const kh=P({id:O(),name:E()});P({projects:N(P({id:O(),name:E(),description:E().nullable(),addedAt:B(),addedBy:P({id:O(),name:E()}).nullable()})),nextKey:E().optional()});const Ah=[`personal`,`managed`],jh={ALWAYS_ALLOW:`always_allow`,NEED_APPROVAL:`need_approval`,BLOCK:`block`},Mh=R([jh.ALWAYS_ALLOW,jh.NEED_APPROVAL,jh.BLOCK]),Nh=P({toolName:E().trim().min(1).max(200),policy:Mh});N(Nh).refine(e=>{let t=e.map(e=>e.toolName);return new Set(t).size===t.length},{message:`Duplicate toolName in toolPolicies`});const Ph={[jh.ALWAYS_ALLOW]:0,[jh.NEED_APPROVAL]:1,[jh.BLOCK]:2};function Fh(...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||Ph[r]>Ph[n])&&t.set(e,r)}return t}const Ih=P({hour:A().int().min(0).max(23),minute:A().int().min(0).max(59)}).describe(`Wall-clock local time in the schedule's own utcOffset timezone (NOT UTC). E.g. { "hour": 9, "minute": 0 } means 9:00 AM in that timezone, regardless of what utcOffset is — do not convert a user-stated local time to UTC before setting this field.`),Lh=E().trim().min(1).max(2e3),Rh=P({enabled:j().optional(),criteria:Lh.optional(),extracted:P({outcomes:N(Lh).min(1).max(20),extractedAt:B(),inputFingerprint:E().regex(/^[a-f0-9]{64}$/u).optional(),extractorVersion:A().int().positive().optional()}).optional()});P({completed:z(!1),reason:Lh,unmet:N(Lh).max(20),criteriaSource:R([`inferred`,`explicit`,`extracted`]),analysis:E().trim().min(1).max(1e3).optional(),escalated:j().optional(),reviewSkipped:j().optional()});const zh=e=>e.hour*60+e.minute,Bh=N(P({start:Ih,end:Ih}).refine(e=>zh(e.end)>zh(e.start),{message:`Run window end must be after start (no cross-midnight)`,path:[`end`]})).min(1).max(5),Vh=N(Ih).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(),Hh=N(A().int().min(0).max(6)).min(1);I(`type`,[P({type:z(`no-repeat`)}),P({type:z(`repeat`),interval:I(`unit`,[P({unit:z(`minutes`),every:A().int().min(15,`Minimum interval is 15 minutes`).max(1440,`Maximum interval is 1440 minutes (24 hours)`),dailyWindows:Bh.optional(),daysOfWeek:Hh.optional()}),P({unit:z(`hours`),every:A().int().min(1),minute:A().int().min(0).max(59),dailyWindows:Bh.optional(),daysOfWeek:Hh.optional()}),P({unit:z(`days`),every:A().int().min(1),time:Ih,times:Vh,daysOfWeek:Hh.optional()}),P({unit:z(`weeks`),every:A().int().min(1),daysOfWeek:N(A().int().min(0).max(6)).min(1),time:Ih}),P({unit:z(`months`),every:A().int().min(1),daysOfMonth:N(A().int().min(1).max(31)),lastDayOfMonth:j(),time:Ih})])})]).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=>zh(e.end)-zh(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)=>zh(e.start)-zh(t.start));for(let e=1;e<a.length;e++){let n=a[e],r=a[e-1];if(n&&r&&zh(n.start)<zh(r.end)){t.addIssue({code:`custom`,message:`Run windows must not overlap`,path:[`interval`,`dailyWindows`]});break}}});const Uh=P({id:O(),name:E(),kind:R(Ah).optional(),iconUrl:E().optional(),deletedAt:B().optional(),specifiedVersion:hh.nullable().optional(),updatableToVersion:hh.nullable().optional()});O().nullable().optional();const Wh=P({id:E(),name:E()}),Gh=P({id:O(),title:E(),read:j(),deletedAt:B().nullable()}),Kh=P({id:O(),name:E(),isWorkspaceMember:j()}),qh=P({id:O(),name:E(),prompt:E(),user:Kh.optional(),agent:Uh.optional(),model:Wh.optional(),startsAt:B(),isActive:j(),unreadTasks:A().int(),nextRunAt:B().nullable(),utcOffset:E(),config:_l().meta({type:`object`}),judge:Rh.nullish(),toolApprovalMode:kf.nullish(),approvalHandling:Mf.nullish(),holidayCalendarIds:N(O()).nullish(),recentTasks:N(Gh).optional(),createdAt:B(),updatedAt:B()});qh.extend({toolPolicies:N(Nh)}),P({schedules:N(qh),nextKey:E().optional()}),Ad.extend({search:E().trim().max(200).optional(),sortBy:R([`nextRunAt`,`name`]).optional(),isActive:bl().optional(),agentId:O().optional()});const Jh=R([`queued`,`running`,`completed`,`failed`,`skipped`]),Yh=P({type:E().optional().transform(e=>e===`runtime`||e===`judge`?e:void 0),message:E(),code:E().optional()}),Xh=P({id:O(),name:E()}),Zh=R([`approval`,`client`]);P({runs:N(P({id:O(),scheduledAt:B(),agent:Uh.optional(),model:Wh.optional(),task:Gh.nullable(),error:Yh.nullish(),status:Jh.optional(),skipReason:E().nullish(),resolvedAt:B().nullish(),resolvedBy:Xh.nullish(),waitingReason:Zh.nullish()})),nextKey:E().optional()}),P({resolvedAt:B(),resolvedBy:Xh.nullable()});const Qh=R([U.SELF,`project`,U.WORKSPACE,U.PUBLIC]);U.SELF,U.WORKSPACE,U.PUBLIC,P({shareId:O(),assetId:O()}),P({data:$l}),P({visibility:Qh.optional(),expectedProjectId:Oh}),P({id:O(),visibility:Qh,createdAt:B(),updatedAt:B()});const $h=P({userId:O(),name:E(),email:E(),image:E().nullable().optional(),grantedAt:B()}),eg=P({teamId:O(),name:E(),memberCount:A().int().nonnegative(),grantedAt:B()});P({data:N($h),teams:N(eg)}),P({data:$h}),P({data:eg});const tg=[`queued`,`running`,`waiting`],ng=[`approval`,`background`,`client`],rg=P({taskRunId:O(),streamId:O().nullable(),status:R(tg),waitingReason:R(ng).nullable(),pendingToolCalls:N(P({toolCallId:E(),toolName:E(),state:E()})).optional()});P({code:z(`task_busy`),data:rg}),P({message:P({id:E().optional(),role:E(),parts:N(P({type:E(),text:E().optional()}))}).optional(),fileIds:N(E()).optional()}),R([`step_limit`,`usage_exhausted`,`output_limit`,`retry_limit`,`client_unresponsive`]),R([`running`,`completed`,`failed`]);const ig=P({id:O(),name:E(),iconId:O().optional(),iconUrl:E().optional(),deletedAt:B().optional(),specifiedVersion:hh.nullable().optional()}),ag=[`chat`,`chatbot`,`schedule`,`agent_api`],og=R(ag);P({tasks:N(P({editAssetId:O().optional(),id:O(),title:E(),read:j(),toolApprovalMode:kf.optional(),userId:O(),workspaceId:O(),source:og,waitingReason:R(ng).optional(),share:P({id:O(),visibility:Qh}).optional(),isSharedWithOthers:j().optional(),isOwn:j().optional(),agent:ig.optional(),schedule:P({id:O(),name:E()}).optional(),scheduleRun:P({runId:O(),status:Jh,error:Yh.nullish(),resolvedAt:B().nullable(),resolvedBy:Xh.nullish(),canResolve:j()}).optional(),project:kh.nullable().optional(),containsSensitiveContent:j().optional(),createdAt:B(),updatedAt:B()})),nextKey:E().optional()}),P({id:O(),title:E(),visibility:Qh,workspace:P({id:O()}),agent:ig.optional(),project:kh.optional(),createdAt:B()}),P({results:N(P({id:O(),title:E(),titleHighlight:E().nullable(),contentSnippet:E().nullable(),project:kh.nullable().optional(),createdAt:B(),updatedAt:B()})),nextKey:E().optional()});const sg=[`enabled`,`disabled`];P({userId:O()}),P({status:R(sg)}),P({monthlyCapUsd:A().positive().nullable()}),P({items:N(P({connectorId:O(),name:E(),authorizedBy:P({id:O(),name:E(),disabled:j()}),updatedAt:B()}))});const cg=ag,lg=[`completed`,`failed`,`running`];Ad.extend({limit:V().int().min(1).max(100).default(30),source:R(cg).optional(),status:R(lg).optional(),initiatorId:O().optional(),from:H.optional(),to:H.optional(),q:E().trim().max(200).optional()}).refine(e=>e.from===void 0||e.to===void 0||new Date(e.from)<=new Date(e.to),{message:`to must be greater than or equal to from`,path:[`to`]}),P({items:N(P({taskId:O(),title:E(),source:R(cg),initiator:P({userId:O().nullable(),name:E(),unlinked:j()}).nullable(),status:R(lg),actionCount:A().int(),cost:A(),createdAt:B()})),nextKey:E().nullable()});const ug=P({conversationCount:A().int(),actionCount:A().int(),cost:A(),errorRate:A()});P({today:ug,week:ug,monthCost:A(),monthlyCapUsd:A().nullable()}),P({items:N(P({id:O(),name:E(),missingConnectorNames:N(E()),unselectedConnectorNames:N(E()),unconnectedConnectorNames:N(E()),disabled:j()})),nextKey:E().nullable()}),P({items:N(P({id:R([`connections`,`skills`,`sharing`,`calendars`,`delegation`,`schedules`,`channels`,`apiKeys`,`monthlyCap`]),status:R([`done`,`todo`,`optional`]),canManage:j()}))}),rm.EXPORT_DIAGNOSTICS;const dg={[Y.SANDBOX]:`Sandbox`,[Y.MULTITASKING]:`Multitasking`,[Y.HISTORY]:`History`,[Y.CREATION]:`Content Creation`,[Y.PROJECT]:`Project Knowledge`,[Y.WEB_SEARCH]:`Web Search`,[Y.SCHEDULE]:`Schedules`,[Y.AGENTS_AND_SKILLS]:`Agents & Skills`,[Y.AUDIT_LOG]:`Audit Logs`};function fg(e){return dg[e]??e}P({id:O(),versionNumber:A().int().positive()}).nullable();const pg=10*1024*1024;P({iconId:O(),url:k()});const mg=[`updatedAt`,`usedAt`,`name`];P({search:E().trim().max(200).optional(),nextKey:E().optional(),limit:V().int().min(1).max(100).default(20),sortBy:R(mg).optional()});const hg=P({id:O(),name:E(),isMe:j()}),gg=P({id:O()}).nullable();P({agents:N(P({id:O(),name:E(),description:E(),kind:R(Ah),isBuiltIn:j().optional(),managedStatus:R(sg).optional(),provider:E(),author:hg,iconUrl:E().optional(),publish:gg,myRole:Qp,createdAt:B(),updatedAt:B()})),nextKey:E().optional()}),P({kind:R(Ah).optional(),search:E().trim().max(200).optional(),status:R(ph).optional(),nextKey:E().optional(),limit:V().int().min(1).max(100).default(20),sortBy:R(mg).optional()}),P({agents:N(P({id:O(),name:E(),description:E(),kind:R(Ah),isBuiltIn:j().optional(),managedStatus:R(sg).optional(),iconUrl:E().optional(),hasUnpublishedChanges:j(),latestVersionNumber:A().int().nullable(),publishedTo:ih.optional(),myRole:Qp,createdAt:B(),updatedAt:B()})),nextKey:E().optional(),totalCount:A().int().nonnegative(),statusCounts:mh}),P({id:O(),name:E(),deletedAt:B().optional()});const _g=P({id:E(),name:E(),available:j(),replacement:P({id:E(),name:E()}).optional()}),vg=P({id:O(),name:E(),hasPermission:j(),added:j()}),yg=P({name:E(),isMe:j()}),bg=P({sponsor:P({id:O(),name:E(),image:E().nullable().optional()}),monthlyCapUsd:A().nullable(),skills:N(P({id:O(),name:E()})),delegatableAgents:N(P({id:O(),name:E()})),apiRateLimit:A().int().nullable()});P({id:O(),name:E(),description:E(),kind:R(Ah),isBuiltIn:j().optional(),managedStatus:R(sg).optional(),managed:bg.optional(),model:_g.optional(),systemPrompt:E().optional(),conversationStarters:N(E()),connectors:N(vg).optional(),capabilities:Fp.optional(),provider:E(),author:yg,iconId:O().optional(),iconUrl:E().optional(),versionNumber:A().int().nullable(),selectableVersions:N(hh).optional(),latestVersionNumber:A().int().nullable().optional(),publishedTo:ih.optional(),myRole:Qp,createdAt:B(),updatedAt:B()}),P({agents:N(P({id:O(),isBuiltIn:j().optional(),name:E(),description:E(),iconUrl:E().optional(),versionNumber:A().int().nullable(),createdAt:B(),updatedAt:B()}))}),P({agents:N(P({id:O(),name:E(),description:E(),kind:R(Ah),isBuiltIn:j().optional(),managedStatus:R(sg).optional(),conversationStarters:N(E()),provider:E().nullable(),author:yg,publishedTo:ih.optional(),team:P({id:O(),name:E()}).optional(),iconUrl:E().optional(),versionNumber:A().int().nullable(),myRole:Qp,createdAt:B(),updatedAt:B()})),nextKey:E().optional()});const xg=R([`true`,`false`]).transform(e=>e===`true`);Ad.extend({createdBy:R([`workspace`,`team`,`me`]).optional(),kind:R(Ah).optional(),teamId:O().optional(),search:E().trim().max(200).optional(),executableOnly:xg.optional(),sortBy:R(mg).optional(),editableFirst:bl().optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}).refine(...Md),P({workspaceId:O(),agentId:O()}),P({limit:V().int().min(1).max(100).default(20),offset:V().int().nonnegative().default(0)});const Sg=P({taskId:O(),title:E(),source:og,amountUsd:A().nonnegative().nullable(),amountCredits:A().nonnegative().nullable(),usageCount:A().int().nonnegative(),lastUsageAt:B(),createdAt:B(),updatedAt:B()}),Cg=P({toolName:E(),input:E().optional(),output:E().optional()}),wg=P({role:R([`user`,`assistant`]),texts:N(E()),toolCalls:N(Cg).optional()}),Tg=P({taskId:O(),title:E(),amountUsd:A().nonnegative().nullable(),amountCredits:A().nonnegative().nullable(),promptTexts:N(E()),messages:N(wg).optional()});P({agentName:E().optional(),totalAmountUsd:A().nonnegative().nullable(),totalAmountCredits:A().nonnegative().nullable(),runCount:A().int().nonnegative(),total:A().int().nonnegative(),runs:N(Sg),promptSamples:N(Tg).optional(),promptSamplesTruncated:j().optional()});const Eg=P({agentId:O(),agentName:E(),amountUsd:A().nonnegative().nullable(),amountCredits:A().nonnegative().nullable(),runCount:A().int().nonnegative(),usageCount:A().int().nonnegative(),lastUsageAt:B()});P({periodDays:A().int().positive(),since:B(),totalAmountUsd:A().nonnegative().nullable(),totalAmountCredits:A().nonnegative().nullable(),totalAgents:A().int().nonnegative(),agents:N(Eg)});const Dg=P({p50AmountUsdPerRun:A().nonnegative().nullable(),p50AmountCreditsPerRun:A().nonnegative().nullable(),percentile:A().min(0).max(100).nullable(),workspaceAgentCount:A().int().nonnegative()}),Og=P({avgInputTokensPerRun:A().nonnegative(),avgOutputTokensPerRun:A().nonnegative(),avgCachedInputTokensPerRun:A().nonnegative(),avgTotalTokensPerRun:A().nonnegative(),inputToOutputRatio:A().nonnegative(),cachedInputRatio:A().min(0).max(1),avgLlmCallsPerRun:A().nonnegative()}),kg=P({usageType:E(),amountUsd:A().nonnegative().nullable(),amountCredits:A().nonnegative().nullable()});P({agentId:O(),agentName:E(),modelId:E(),periodDays:A().int().positive(),since:B(),runCount:A().int().nonnegative(),totalAmountUsd:A().nonnegative().nullable(),totalAmountCredits:A().nonnegative().nullable(),avgAmountUsdPerRun:A().nonnegative().nullable(),avgAmountCreditsPerRun:A().nonnegative().nullable(),scheduleRunCount:A().int().nonnegative(),manualRunCount:A().int().nonnegative(),runsPerDay:A().nonnegative(),benchmark:Dg,tokenProfile:Og.nullable(),costByType:N(kg),llmCostRatio:A().min(0).max(1).nullable(),highCostPerRun:j(),highFrequency:j(),systemPrompt:E(),systemPromptLength:A().int().nonnegative()}),P({capabilities:N(R(Pp)),workspaceCapabilities:N(R(Np))});const Ag=[`single_select`,`multi_select`],jg=P({label:E().min(1).max(200).describe(`Display text for this option`),description:E().max(500).optional().describe(`Optional explanation of what this option means`)});P({questions:N(P({question:E().min(1).max(500).describe(`The question to ask the user`),type:R(Ag).describe(`single_select: user picks one option. multi_select: user picks one or more options.`),options:N(jg).min(2).max(4).describe(`The available choices (2-4 options)`)})).min(1).max(3).describe(`One to three structured questions to ask the user`)}),P({answers:N(P({questionIndex:A().int().min(0).describe(`Index of the question answered`),type:R(Ag).describe(`Question type`),selectedOptions:N(E()).describe(`Labels of selected options (empty if skipped)`),customText:E().optional().describe(`Free text if user chose "Something else"`),skipped:j().describe(`Whether the user skipped this question`)})).describe(`Answers for each question`),dismissed:j().describe(`True if the user dismissed the entire wizard without answering`)});const Mg=R([`all`,`agent`,`general-task`,`connector`,`skill`,`system`]),Ng=R([`workspace_owner`,`agent_owner`]),Pg=R([`success`,`failure`]),Fg=R([`personal`,`managed`]),Ig=R([`manual`,`scheduled`]);P({workspaceId:O()}),P({...P({category:Mg.optional(),targetId:E().trim().min(1).optional(),agentType:Fg.optional(),executionSource:Ig.optional(),result:Pg.optional(),actorId:O().optional(),search:E().trim().max(200).optional()}).shape,category:Mg.optional().default(`all`),snapshot:E().min(1).max(2048).optional(),beforeOccurredAt:H.optional(),beforeId:E().min(1).optional(),limit:V().int().min(1).max(100).default(50),offset:V().int().min(0).default(0)}).refine(e=>!!e.beforeOccurredAt==!!e.beforeId,{message:`beforeOccurredAt and beforeId must be provided together`,path:[`beforeOccurredAt`]});const Lg=P({id:O(),name:E(),email:E()}),Rg=P({type:E(),id:E(),name:E(),agentId:O().optional()}),zg=I(`type`,[P({type:z(`role`),from:E().optional(),to:E()})]),Bg=P({type:R([`user`,`team`,`email`]),id:E().optional(),name:E(),email:E().optional(),role:E().optional()}),Vg=P({id:E(),occurredAt:B(),actor:Lg.nullable(),event:E(),category:Mg.exclude([`all`]),result:Pg,resource:Rg,change:zg.optional(),subject:Bg.optional(),changedFields:N(E()).optional(),detail:E().optional(),taskUrl:E().optional()}),Hg=P({id:E(),name:E(),category:Mg.exclude([`all`])}),Ug=P({all:A().int().nonnegative(),agent:A().int().nonnegative(),"general-task":A().int().nonnegative(),connector:A().int().nonnegative(),skill:A().int().nonnegative(),system:A().int().nonnegative()});P({items:N(Vg),asOf:B(),snapshot:E().min(1),total:A().int().nonnegative(),scope:Ng,counts:Ug,targets:N(Hg),actors:N(Lg),retentionDays:A().int().positive()}),P({items:N(Vg),asOf:B(),maxRows:A().int().positive()}),P({canAccess:j(),scope:Ng.nullable()});const Wg=R([`chat`,`image`]),Gg=E().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`}),Kg=P({input:E(),output:E(),cachedInput:E().optional(),cacheCreation:E().optional()}),qg=P({input:Gg,output:Gg,cachedInput:Gg.optional(),cacheCreation:Gg.optional()}),Jg=P({effort:R(Rd)}),Yg=P({modelId:E(),deploymentName:E(),workspaceId:E().nullable(),kind:Wg,name:E(),description:E(),pricing:Kg,reasoning:Jg.nullable(),createdAt:B(),updatedAt:B()});P({deployments:N(Yg),nextKey:E().optional()}),P({deploymentName:E().min(1),name:E().min(1),description:E().default(``),pricing:qg,reasoning:Jg.nullable().default(null)}),P({name:E().min(1).optional(),description:E().optional(),pricing:qg.optional(),reasoning:Jg.nullable().optional()}),P({deploymentName:E().min(1),kind:Wg,name:E().min(1),description:E().default(``),pricing:qg,reasoning:Jg.nullable().default(null)}),P({name:E().min(1).optional(),description:E().optional(),kind:Wg.optional(),pricing:qg.optional(),reasoning:Jg.nullable().optional()}),P({deploymentName:E().min(1)}),P({deployments:N(Yg)}),P({workspaceId:O()}),P({amountUsd:A().positive().max(1e4)}),P({checkoutUrl:k()}),P({id:O(),workspaceId:O(),amountUsd:E(),purchasedBy:O().nullable(),stripeCheckoutSessionId:E(),stripePaymentIntentId:E().nullable(),isAutoReload:j(),createdAt:B()}),P({workspaceId:O()}),P({checkoutUrl:k()}),R([`incomplete`,`incomplete_expired`,`trialing`,`active`,`past_due`,`canceled`,`unpaid`,`paused`]);const Xg=R([`draft`,`open`,`paid`,`uncollectible`,`void`]);R([`upgrade`,`downgrade`,`invite_accept`,`member_join`]),R([`pending`,`processing`,`processed`,`failed`]),R([`seat_change`,`extra_usage_purchase`]),R([`pending`,`processing`,`requires_action`,`succeeded`,`failed`,`expired`,`superseded`]),R([`pending`,`applied`,`failed`,`canceled`]);const Zg=R([`subscription`,`extra_usage`]),Qg=P({id:O(),type:Zg,status:Xg,totalUsd:A().nonnegative(),billingDate:B(),hostedInvoiceUrl:k().nullable()});P({workspaceId:O()}),P({limit:V().int().min(1).max(100).default(20),nextKey:E().optional()}),P({invoices:N(Qg),nextKey:E().optional()}),P({workspaceId:O()});const $g=P({startAt:B(),endAt:B()}),e_=P({cancelAtPeriodEnd:j(),canceledAt:B().nullable()}),t_=P({reason:R([`invoice_payment_failed`,`checkout_incomplete`,`subscription_unpaid`,`subscription_paused`,`unsupported_state`]),startedAt:B().nullable(),retryEndsAt:B().nullable(),stripeInvoiceId:E().min(1).nullable(),hostedInvoiceUrl:k().nullable()});P({lifecycle:I(`kind`,[P({kind:z(`default`),period:Oc(),cancellation:Oc(),paymentIssue:Oc()}),P({kind:z(`active`),period:$g,cancellation:e_,paymentIssue:Oc()}),P({kind:z(`payment_required`),period:$g.nullable(),cancellation:Oc(),paymentIssue:t_}),P({kind:z(`canceled`),period:Oc(),cancellation:e_,paymentIssue:Oc()}),P({kind:z(`unavailable`),period:$g.nullable(),cancellation:Oc(),paymentIssue:t_})]),subscription:P({planName:E().min(1),estimatedMonthlyChargeUsd:A().nonnegative(),nextInvoiceDueAt:B().nullable()}).nullable(),seats:P({purchased:G,granted:G,assigned:G,available:G,totalPurchased:A().int().nonnegative(),totalGranted:A().int().nonnegative(),totalAssigned:A().int().nonnegative(),totalAvailable:A().int().nonnegative()}),extraUsage:pf.extend({currentPurchasedUsd:A().nonnegative()})}),P({workspaceId:O()}),P({portalUrl:k()}),P({workspaceId:O(),userId:O()}),P({seatType:of}),P({pro:A().int(),premium:A().int()});const n_=P({lineItems:N(P({seatType:sf,quantity:A().int(),amountUsd:E()})),subtotalUsd:E(),taxUsd:E(),totalUsd:E()}),r_=R([`seat_pool_invariant`,`subscription_canceling`,`payment_required`,`unsupported_billing_state`]);P({workspaceId:O()});const i_=P({targetPurchasedSeats:G,seatAssignment:P({userId:O(),seatType:sf}).optional()});I(`outcome`,[P({outcome:z(`unchanged`),quoteHash:E().min(1),targetPurchasedSeats:G,nextMonthlyAmountUsd:E()}),P({outcome:z(`immediate`),quoteHash:E().min(1),targetPurchasedSeats:G,nextMonthlyAmountUsd:E(),dueToday:n_}),P({outcome:z(`scheduled`),quoteHash:E().min(1),targetPurchasedSeats:G,nextMonthlyAmountUsd:E(),dueToday:n_,effectiveAt:B()}),P({outcome:z(`split`),quoteHash:E().min(1),immediatePurchasedSeats:G,targetPurchasedSeats:G,nextMonthlyAmountUsd:E(),dueToday:n_,effectiveAt:B()}),P({outcome:z(`blocked`),reason:r_})]),P({workspaceId:O()}),i_.extend({expectedQuoteHash:E().min(1)}),I(`kind`,[P({kind:z(`completed`),operationId:O().nullable()}),P({kind:z(`processing`),operationId:O()}),P({kind:z(`redirect`),operationId:O().nullable(),url:k()})]);const a_=[`2026-10-01`],o_=R(a_).describe(`Payload version, locked when the destination is created. Receivers must ignore unknown fields and enum values.`),s_=P({amount:E().regex(/^-?\d+(\.\d+)?$/).describe(`Decimal string, never a float`),currency:z(`USD`)}).describe(`A monetary amount`),c_=P({id:O(),email:E(),name:E()}).describe(`The workspace member the event is about`),l_=E().regex(/^\d{4}-(0[1-9]|1[0-2])$/).describe(`Calendar month of the usage (YYYY-MM), in the same server time zone as monthly usage`);function u_(e,t){return P({id:E().startsWith(`evt_`).describe(`evt_<uuid v7>. Unchanged across retries and resends; receivers deduplicate on it`),type:z(e),apiVersion:o_,occurredAt:B().describe(`When the event happened (ISO 8601), not when it was sent`),workspace:P({id:O(),name:E()}),data:t})}const d_={limitReached:`budget.limit_reached`,thresholdReached:`budget.threshold_reached`},f_=[`workspace`,`member_override`];N(A().int().min(1).max(99)).max(5).transform(e=>[...new Set(e)].toSorted((e,t)=>e-t)).describe(`Percentages of the effective budget that fire budget.threshold_reached; empty disables it`);const p_=R(f_).describe(`Where the effective budget comes from: the workspace budget or the member override`),m_=P({member:c_,period:l_,usage:s_.describe(`The member's billed usage this month when the limit was crossed`),effectiveBudget:s_.describe(`The member override, or the workspace budget when there is none`),budgetSource:p_}),h_=P({member:c_,period:l_,thresholdPercent:A().int().min(1).max(99).describe(`The notify threshold that was crossed, e.g. 80`),usage:s_.describe(`The member's billed usage this month when the threshold was crossed`),effectiveBudget:s_.describe(`The member override, or the workspace budget when there is none`),budgetSource:p_}),g_={id:`8b1d2c3e-4f50-7a61-8b72-9c83d4e5f601`,name:`Acme`},__={id:`3f2a1b0c-9d8e-7f60-8a51-b4c3d2e1f0a9`,email:`alice@example.com`,name:`Alice`},v_={id:`evt_01929c3e-7a1b-7c4d-9e2f-3a4b5c6d7e8f`,type:d_.limitReached,apiVersion:`2026-10-01`,occurredAt:`2026-10-15T06:12:03.120Z`,workspace:g_,data:{member:__,period:`2026-10`,usage:{amount:`50.31`,currency:`USD`},effectiveBudget:{amount:`50.00`,currency:`USD`},budgetSource:`workspace`}},y_=u_(d_.limitReached,m_).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:[v_]}),b_=u_(d_.thresholdReached,h_).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:d_.thresholdReached,apiVersion:`2026-10-01`,occurredAt:`2026-10-12T02:40:51.004Z`,workspace:g_,data:{member:__,period:`2026-10`,thresholdPercent:80,usage:{amount:`40.02`,currency:`USD`},effectiveBudget:{amount:`50.00`,currency:`USD`},budgetSource:`workspace`}}]}),x_=P({eventType:E().describe(`The event type this test stands in for`),sample:L(E(),M()).describe(`An example event of that type, shaped exactly like a real delivery`)}),S_=P({challenge:E().describe(`Random string the endpoint must echo back as {"challenge": "<value>"} with a 200 within 10 seconds`)}),C_={id:`8b1d2c3e-4f50-7a61-8b72-9c83d4e5f601`,name:`Acme`},w_=u_(`destination.test_sent`,x_).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:C_,data:{eventType:d_.limitReached,sample:{...v_}}}]}),T_=u_(`destination.verification_requested`,S_).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:C_,data:{challenge:`b7c1f0e2d9a84c3e9f5a6b7c8d9e0f1a`}}]}),E_={[d_.limitReached]:{schema:y_,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},[d_.thresholdReached]:{schema:b_,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:w_,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:T_,trigger:`An Owner verifies the endpoint from the Hub. Goes only to that destination and is not retried.`,addedIn:`2026-10-01`,subscribable:!1}},D_=Object.keys(E_),O_=[d_.limitReached,d_.thresholdReached],k_=R(O_),A_=R(D_),j_=[`active`,`disabled`],M_=[`manual`,`consecutive_failures`],N_=[`pending`,`succeeded`,`failed`],P_=10080*60,F_=R(j_),I_=R(M_),L_=R(N_);function R_(e){try{let{username:t,password:n}=new URL(e);return t!==``||n!==``}catch{return!1}}const z_=/^[a-z][\d+.a-z-]*:\/\/[^/?#]/iu,B_=/\p{Cc}/u,V_=/[^\P{Cc}\t\n\r]/u,H_=/[^\p{Cf}\p{Z}\s]/u,U_=2048,W_=k({protocol:/^https$/u}).max(U_).refine(e=>z_.test(e),{message:`URL must include a host`}).refine(e=>!R_(e),{message:`URL must not contain a username or password`}).transform(e=>new URL(e).href).refine(e=>e.length<=U_,{message:`URL must be at most ${U_} characters once percent-encoded`}).describe(`HTTPS endpoint that receives the POSTs`),G_=E().trim().min(1).max(200).refine(e=>!B_.test(e),{message:`Name must not contain control characters`}).refine(e=>H_.test(e),{message:`Name must contain a visible character`}),K_=E().trim().max(1e3).refine(e=>!V_.test(e),{message:`Description must not contain control characters`}),q_=N(k_).min(1).transform(e=>[...new Set(e)]).nullable().describe(`Event types to receive; null subscribes to all events`);P({workspaceId:O(),destinationId:O()}).extend({deliveryId:O()}),P({workspaceId:O()});const J_=P({activity:N(P({date:Sl(),count:A().int()})).describe(`Deliveries per day over the last 7 days, oldest first`),deliveryCount:A().int(),failedCount:A().int(),errorRate:A().nullable().describe(`failed / all deliveries over the last 7 days; null when none`),p50ResponseTimeMs:A().int().nullable()}),Y_=P({id:O(),type:z(`https`),name:E(),description:E().nullable(),url:E(),apiVersion:o_,payloadStyle:z(`snapshot`),eventTypes:N(E()).nullable(),status:F_,disabledReason:I_.nullable(),verifiedAt:B().nullable(),previousSecretExpiresAt:B().nullable(),createdAt:B(),updatedAt:B(),metrics:J_});P({items:N(Y_)}),P({name:G_,description:K_.nullable().default(null),url:W_,eventTypes:q_,apiVersion:o_.optional()}),P({destination:Y_,signingSecret:E().describe(`Shown only once; store it to verify X-ED-Signature`)}),P({name:G_,description:K_.nullable(),url:W_,eventTypes:q_,apiVersion:o_,status:F_}).partial().refine(e=>Object.keys(e).length>0,{message:`Provide at least one field to update`}),P({expirePreviousInSeconds:A().int().min(0).max(P_).default(86400).describe(`How long the previous secret keeps signing alongside the new one; 0 expires it now`)}),P({signingSecret:E(),previousSecretExpiresAt:B().nullable()}),P({status:L_.optional(),eventType:A_.optional(),limit:V().int().min(1).max(100).default(20),nextKey:E().optional()});const X_=P({id:O(),destinationId:O(),eventId:E(),eventType:E(),status:L_,attempts:A().int(),lastHttpStatus:A().int().nullable(),lastError:E().nullable(),responseTimeMs:A().int().nullable(),nextAttemptAt:B().nullable(),deliveredAt:B().nullable(),occurredAt:B(),createdAt:B()});P({items:N(X_),nextKey:E().nullable()});const Z_=P({id:O().describe(`Sent as X-ED-Delivery-Id`),attempt:A().int(),requestHeaders:L(E(),E()),httpStatus:A().int().nullable(),responseBody:E().nullable().describe(`First 4 KB of the response body`),responseTimeMs:A().int().nullable(),error:E().nullable().describe(`Null together with httpStatus while the request is still in progress`),attemptedAt:B()});X_.extend({requestBody:E().describe(`The exact bytes POSTed on every attempt`),attemptHistory:N(Z_)}),P({delivery:X_}),P({eventType:k_.default(O_[0])});const Q_=P({succeeded:j(),httpStatus:A().int().nullable(),responseTimeMs:A().int().nullable(),error:E().nullable()});P({delivery:X_,outcome:Q_}),P({verified:j(),verifiedAt:B().nullable(),outcome:Q_}),P({items:N(P({type:A_,domain:E(),description:E(),trigger:E(),addedIn:o_,subscribable:j(),example:L(E(),M())})),apiVersions:N(o_)});const $_=R([`google`,`outlook`,`caldav`]),ev=R([`confirmed`,`tentative`,`cancelled`]),tv=P({email:E(),displayName:E().optional(),responseStatus:R([`needsAction`,`declined`,`tentative`,`accepted`]).optional(),organizer:j().optional(),self:j().optional(),resource:j().optional()}),nv=P({type:R([`hangoutsMeet`,`zoom`,`teams`,`webex`,`other`]),uri:E().optional(),label:E().optional()}),rv=P({id:O(),providerCalendarId:E(),name:E(),color:E().nullable(),isVisible:j()});P({accounts:N(P({id:O(),provider:$_,email:E(),isActive:j(),lastSyncAt:E().nullable(),reminderEnabled:j(),reminderMinutesBefore:A(),createdAt:B(),calendars:N(rv)}))}),P({events:N(P({id:O(),calendarId:O(),calendarName:E(),calendarColor:E().nullable(),provider:$_,providerEventId:E(),title:E(),description:E().nullable(),location:E().nullable(),startTime:E(),endTime:E(),isAllDay:j(),status:ev,conferenceLink:E().nullable(),conferenceData:nv.nullable(),attendees:N(tv).nullable(),organizerEmail:E().nullable()}).extend({meetingId:O().nullable(),hasRecordings:j(),hasAudioFile:j()})),nextCursor:O().nullable(),hasMore:j()}),P({startTime:H.optional(),endTime:H.optional(),limit:V().int().min(1).max(500).default(50),cursor:O().optional()}).refine(e=>e.startTime&&e.endTime?new Date(e.startTime)<new Date(e.endTime):!0,{message:`endTime must be greater than startTime`,path:[`endTime`]}),P({hours:V().int().min(1).max(168).default(24),limit:V().int().min(1).max(50).default(10),cursor:O().optional()}),P({id:O(),reminderEnabled:j(),reminderMinutesBefore:A()}),P({updated:A()}),J.IMAGE_GENERATION,J.PROJECT,J.SANDBOX,J.WEB_SEARCH,J.SKILL,J.SLIDES,J.WORKFLOW;const iv=P({inputTokens:A().optional(),outputTokens:A().optional(),totalTokens:A().optional(),reasoningTokens:A().optional(),cachedInputTokens:A().optional(),cachedCreationTokens:A().optional()});P({modelId:E().optional(),toolApprovalMode:kf.optional(),usage:iv.optional(),totalUsage:iv.optional(),platformMessageTs:E().optional(),postedMessageTs:N(E()).optional()}),P({id:O(),name:E(),mimeType:E(),size:A(),url:E().optional().describe(`The signed URL for the file, only available if the file is not expired`),expired:j(),createdAt:B(),updatedAt:B()}),P({phase:R([`running`,`done`])});const av=R([`step_limit`,`output_limit`,`retry_limit`]);P({reason:av,toolCallIds:N(E()).optional()});function ov(e){return e.state===`approval-requested`&&e.approval?.isAutomatic!==!0}const sv=P({reason:av,sourceMessageId:O()}),cv=new TextEncoder;function lv(e){try{let t=JSON.stringify(e);return typeof t==`string`?cv.encode(t).byteLength:null}catch{return null}}const uv=P({sourceMessageId:O(),action:z(`continueConversation`),values:M().refine(e=>{let t=lv(e);return t!==null&&t<=65536},`Widget interaction values must be JSON and at most 64 KiB`)});P({context:E()});const dv=P({runId:E(),kind:R([`subagent`,`workflow`]),status:E(),summary:E()});P({delivery:R([`wake`,`passive`]).default(`wake`),runs:N(dv)});const fv=`data-background-run-receipt`,pv=P({runs:N(I(`kind`,[P({kind:z(`tool`),runId:E(),status:E()}),dv])),text:E()});function mv(e){let t=pv.safeParse(e);return t.success?t.data.runs:[]}const hv=`data-tool-run-start`,gv=P({system:A(),tools:A(),history:A()});P({totalTokens:A(),breakdown:gv,contextWindowTokens:A().optional(),compactionTriggerTokens:A().optional()});const _v=R([`pending_tool_responses`,`tool_response_not_merged`,`continuation_already_claimed`]),vv=P({taskId:E(),streamId:E()});F([vv,P({taskId:E(),noop:z(!0),reason:_v})]);const yv=F([vv,P({taskId:E(),noop:z(!0),reason:E().optional()})]);function bv(e){let t=yv.safeParse(e);return t.success?t.data:null}const xv=P({text:E(),type:z(`text`)}),Sv=P({type:z(`data-widget-interaction`),data:uv}),Cv=P({type:z(`data-task-continuation`),data:sv}),wv=P({id:O(),createdAt:Cl().optional(),role:z(`user`),parts:F([Uc([xv]),Uc([Sv]),Uc([Cv])])}),Tv=F([E().startsWith(`tool-`),z(`dynamic-tool`)]),Ev=P({id:E(),approved:j(),reason:E().optional()}),Dv=P({type:Tv,toolCallId:E(),state:z(`approval-responded`),input:Ac().optional(),approval:Ev}),Ov=P({type:Tv,toolCallId:E(),state:z(`output-available`),output:Ac(),approval:Ev.optional()}),kv=P({type:Tv,toolCallId:E(),state:z(`output-error`),errorText:E(),approval:Ev.optional()}),Av=P({id:E(),approved:z(!1),reason:E().optional()}),jv=P({type:Tv,toolCallId:E(),state:z(`output-denied`),errorText:E().optional(),approval:Av.optional()}).refine(e=>e.errorText!==void 0||e.approval!==void 0,{message:`An output-denied part must carry the refusal, as errorText or as approval.reason`,path:[`errorText`]});I(`role`,[wv,P({id:O(),createdAt:Cl().optional(),role:z(`assistant`),parts:N(I(`state`,[Dv,Ov,kv,jv])).min(1)})]);function Mv(e,t){let n=new Map(e);for(let e of t)n.delete(e);return n}function Nv(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 Pv(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=sm(a.toolName,a.input);o&&(r.add(o),i.push(a.toolCallId))}return{responses:n,preauthorizeToolNames:[...r],preauthorizingToolCallIds:i}}const Fv=[`approval-responded`,`output-available`,`output-error`,`output-denied`],Iv=[`output-available`,`output-error`,`output-denied`];function Lv(e){for(let t=e.length-1;t>=0;--t)if(e[t]?.type===`step-start`)return t;return-1}function Rv(e){return Fv.includes(e)}function zv(e){return Iv.includes(e)}function Bv(e){return e?.role===`assistant`?e.parts.filter(f).filter(e=>!e.providerExecuted):[]}function Vv(e){if(e?.role!==`assistant`)return[];let t=Lv(e.parts);return Bv({role:e.role,parts:e.parts.slice(t+1)})}function Hv(e,t){return t(e)?zv(e.state):Rv(e.state)}function Uv(e,t){return t(e)?zv(e.state):e.state===`approval-responded`||e.state===`output-denied`}function Wv(e){return e.state===`input-available`||e.state===`approval-responded`&&e.approval.approved}function Gv(e){return e.state===`approval-responded`&&!e.approval.approved}const Kv=[];function qv(e){let t=[];for(let n of Vv(e)){if(!ov(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?Kv:t}function Jv(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 Yv(e,{isClientTool:t}){return e?.role===`assistant`?{id:e.id,role:`assistant`,parts:Vv(e).filter(e=>Uv(e,t)).map(Jv)}:e}function Xv(e){let t=e?.message?.parts;return Array.isArray(t)?t.flatMap(e=>{let t=e?.toolCallId;return typeof t==`string`?[t]:[]}):[]}function Zv({messages:e,isClientTool:t,suppressAutomaticSend:n=!1,submittedToolCallIds:r}){if(n)return!1;let i=Vv(e.at(-1));return!i.some(e=>!Hv(e,t))&&i.some(e=>Uv(e,t)&&!r.has(e.toolCallId))}function Qv(e){if(e.reason!==void 0)return e.reason;let t=Error(`The operation was aborted.`);return t.name=`AbortError`,t}function $v(e,t){if(!t)return e;let n=()=>Qv(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 ey={schemaVersion:z(2),siteKey:E().min(1),assetId:O(),title:E()};I(`state`,[P({...ey,state:z(`working`),revision:E().min(1)}),P({...ey,state:z(`saved`),versionId:O(),versionNumber:A().int().positive()})]);const ty=R([`pending`,`generating`,`ready`,`error`]),ny=P({page:A().int().positive(),heading:E(),status:ty,version:A().int().nonnegative().default(0),imageUrl:E().optional(),assetId:E().optional(),note:E().optional()});P({deckId:E().min(1),title:E(),style:E(),aspectRatio:E(),status:R([`generating`,`partial`,`ready`]),outputs:P({pdfUrl:E().optional(),pptxUrl:E().optional(),pdfAssetId:E().optional(),pptxAssetId:E().optional()}).default({}),slides:N(ny)});const ry=P({slideId:O(),position:A().int().positive(),heading:E(),status:ty,note:E().optional()}),iy={schemaVersion:z(2),deckKey:E().min(1),assetId:O(),title:E(),style:E(),aspectRatio:E(),slides:N(ry)};I(`state`,[P({...iy,state:z(`working`),revision:E().min(1)}),P({...iy,state:z(`saved`),versionId:O(),versionNumber:A().int().positive()})]),P({data:P({assetId:O(),versionId:O(),versionNumber:A().int().positive(),title:E(),style:E(),aspectRatio:E(),slides:N(P({slideId:O(),position:A().int().positive(),heading:E(),imageUrl:k()})),pdfUrl:k(),pptxUrl:k().optional()})});const ay=[`slack`,`teams`],oy=[`active`,`inactive`,`needs_reauth`],sy=R(ay),cy=R(oy),ly=P({id:O(),platform:sy,platformWorkspaceId:E(),platformWorkspaceName:E(),botUserId:E(),botIconUrl:k().nullable().optional(),status:cy,autoBindEnabled:j(),createdAt:B(),updatedAt:B()});P({platform:sy.optional(),limit:V().int().min(1).max(100).default(20),cursor:O().optional()}),P({installations:N(ly),nextKey:E().optional()}),P({status:R([`active`,`inactive`]).optional()});const uy=P({id:O(),workspaceInstallationId:O(),platform:sy,platformWorkspaceName:E(),platformUserId:E(),createdAt:B()});P({installations:N(uy)}),P({workspaceInstallation:ly.nullable(),userInstallation:uy.nullable(),canManageChatbot:j()}).extend({installUrl:k().nullable()}),P({userInstallation:uy}),P({autoBindEnabled:j()}),P({workspaceInstallation:ly}),P({bindings:N(P({id:O().nullable(),workspaceInstallationId:O().nullable(),userId:O(),userName:E(),userEmail:E(),platformUserId:E().nullable(),createdAt:B().nullable(),updatedAt:B().nullable()})),total:A().int().nonnegative()}),jd.extend({search:E().trim().max(200).optional()}),P({authorizeUrl:E()});const dy=2048,fy=R([`self`,`anyone`]),py=P({id:O(),platform:sy,userInstallationId:O(),platformChannelId:E(),channelName:E().nullable(),platformThreadId:E().nullable(),keyword:E().nullable(),triggerScope:fy,agentId:O().nullable(),agentName:E().nullable(),agentIconUrl:E().nullable(),sourceKeywordListenerIds:N(O()),taskId:O().nullable(),titlePreview:E().nullable(),threadUrl:k().nullable(),lastInteractedAt:B().nullable(),enabled:j(),createdAt:B(),updatedAt:B()});P({installationId:O().optional()}),P({listeners:N(py)}),P({installationId:O(),platformChannelId:E().trim().min(1).max(dy).regex(/^(?:(?:slack:)?[CG][A-Z0-9]+|teams:[A-Za-z0-9_-]+:[A-Za-z0-9_-]+)$/u,`Must be a valid Slack or Microsoft Teams channel id.`),keyword:E().trim().min(1).max(200),triggerScope:fy.optional(),agentId:O().nullable().optional()}),P({listener:py}),P({keyword:E().trim().min(1).max(200).optional(),triggerScope:fy.optional(),agentId:O().nullable().optional(),enabled:j().optional()}).refine(e=>e.keyword!==void 0||e.triggerScope!==void 0||e.agentId!==void 0||e.enabled!==void 0,{message:`At least one field must be provided`}),P({installationId:O(),platformChannelId:E().trim().min(1).max(dy),keyword:E().trim().min(1).max(200)}),P({count:A().int().nonnegative()}),P({installationId:O()}),P({channels:N(P({id:E(),name:E(),isPrivate:j()}))}),P({}).optional(),P({ok:z(!0),messageTs:E()}),P({olderThanDays:A().int().min(1).max(365).default(14).optional()}).optional(),P({deletedCount:A().int().min(0)});const my=R([`enabled`,`disabled`]);P({items:N(P({agentId:O(),agentName:E(),agentIconUrl:E().nullable(),status:my,capReached:j(),connectorNames:N(E())}))}),P({items:N(P({agentId:O(),agentName:E(),connectorNames:N(E())}))}),P({agentId:O()}),P({activeConversationCount:A().int(),suppressedListenerCount:A().int()});const hy=E().regex(/^\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/),gy=P({minSupportedVersion:hy,latestVersion:hy});P({ios:gy,android:gy,gntcLoginEnabled:j(),googleLoginEnabled:j(),emailPasswordLoginEnabled:j()});function _y(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 vy(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 yy(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 by(e){if(e===`localhost`||e.endsWith(`.localhost`))return`loopback`;let t=_y(e);if(t)return yy(t);let n=vy(e);if(!n)return`public`;let r=_y(n[7]??``);if(r&&n.slice(0,5).every(e=>Number(e)===0))return yy(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 yy([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 xy(e){return _y(e)!==null||vy(e)!==null}async function Sy(e,t){let n=by(e);if(t===`literal-only`||xy(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})=>by(t===6?`[${e}]`:e));return n===`public`?i.find(e=>e===`loopback`)??i.find(e=>e===`internal`)??`public`:n}function Cy(e){return by(e.hostname)===`loopback`}function wy(e){return e.protocol===`https:`||e.protocol===`http:`&&Cy(e)}async function Ty(e,t,n){if(!wy(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([Sy(t.hostname,n),Sy(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 Ey=[{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 Dy(e){return Ey.find(t=>t.webHost===e)}function Oy(e){if(!URL.canParse(e))return;let t=new URL(e);if(t.protocol!==`https:`||t.pathname!==`/`)return;let n=Dy(t.host);return n?`https://${n.apiHost}`:void 0}const ky=P({api:P({baseUrl:k()})}),Ay=[`composio`,`mcp`],jy=[`stdio`,`sse`,`streamable_http`];Zm.options;const My=vm.exclude([`composio`]);My.options;const Ny=[`pat`,`credentials`];P({items:N(P({id:O(),name:E(),description:E(),iconUrl:E().nullable(),kind:R(Ay),toolkit:E().nullable(),transport:R(jy),authorizationType:vm.nullable(),createdAt:B()}))});const Py=P({kind:z(`composio`),name:E().min(1).max(100),description:E().min(1),toolkit:E().min(1),tools:N(E().min(1)).optional(),extraTools:N(E().min(1)).optional(),composioAuthConfigId:E().min(1).optional()}),Fy=P({kind:z(`mcp`),name:E().min(1).max(100),description:E().min(1),url:k(),transport:Zm,authorization:P({type:My,provider:E().min(1).optional(),scopes:N(E().min(1)).optional(),tutorial:k().max(100).optional(),configFields:Sm.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||Ny.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||bm.some(t=>t===e.authorization?.type),{message:`configFields is only allowed for pat and credentials authorization types`,path:[`authorization`,`configFields`]});P({toolkit:E().min(1)});const Iy=P({name:E(),mode:E(),scopes:N(E())});P({slug:E(),name:E(),managedAuthSchemes:N(E()),auths:N(Iy)}),I(`kind`,[Py,Fy]);const Ly={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`]}},Ry=/[.*+?^${}()|[\]\\]/g;function zy(e){return e.replace(Ry,`\\$&`)}function By(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 Vy(e){return By(Object.values(Ly).flatMap(t=>t[e]))}function Hy(e){let t=Vy(e).toSorted((e,t)=>t.length-e.length).map(zy).join(`|`);return new RegExp(t,`iu`)}function Uy(){let e=Vy(`authGlossVerbs`).toSorted((e,t)=>t.length-e.length).map(zy).join(`|`);return RegExp(`^(?:${e})(?=\\s|$|[^\\p{Letter}\\p{Number}])`,`iu`)}Hy(`authLink`),Hy(`placement`),Uy(),P({fileId:E().regex(/^[A-Za-z0-9_-]{1,256}$/u),fileName:E().min(1).max(1024),mimeType:E().max(256).regex(/^[\w.+-]+\/[\w.+-]+$/u)}),P({url:E(),expiresAt:B()}),P({toolkit:E(),tools:N(E()).optional(),extraTools:N(E()).optional()}),P({search:E().trim().max(200).optional(),status:R(ph).optional(),nextKey:E().optional(),limit:V().int().min(1).max(100).default(20),sortBy:R(hm).optional()}),P({connectors:N(P({id:O(),name:E(),iconUrl:E().optional(),hasUnpublishedChanges:j(),latestVersionNumber:A().int().nullable(),publishedTo:ih.optional(),myRole:Qp,createdAt:B(),updatedAt:B()})),nextKey:E().optional(),totalCount:A().int().nonnegative(),statusCounts:mh});const Wy=R([`need_approval`,`block`]),Gy=`user_configurable`;F([Wy,z(Gy)]).nullable().transform(e=>e===Gy?null:e);const Ky=R([`need_approval`,`always_allow`,`block`]),qy=P({id:O(),name:E(),toolName:E(),description:E(),workspacePolicy:Wy.nullable(),userPolicy:Ky.nullable()});P({tools:N(qy)}),P({tools:N(qy.extend({schedulePolicy:Mh.nullable()}))});const Jy=R([`saas`,`on-premises`]),Yy=10**3;function Xy(e){let t=Number((Number(e)*Yy).toPrecision(12));return Math.ceil(t)/Yy}P({path:E(),value:M().optional()});const Zy=P({connectorId:O(),boardUrl:k().max(2e3).refine(e=>{let t=new URL(e);return t.protocol===`https:`&&!t.username&&!t.password}),dataSourceId:E().min(1).max(255),contextPropertyId:E().min(1).max(255).optional()}).extend({databaseId:E().min(1).max(255),connectorName:E(),name:E()});P({databaseId:E(),name:E(),sources:N(P({id:E(),name:E(),contextProperties:N(P({id:E(),name:E()}))}))});const Qy=P({key:O(),createdBy:O(),startedAt:B(),status:R([`pending`,`succeeded`]),destination:Zy,title:E().max(1e4),values:L(E(),P({type:z(`text`),value:E().max(1e6)}))}),$y=R([`scheduled`,`in_progress`,`completed`,`cancelled`]),eb=P({term:E().trim().min(1).max(100),kind:R([`company`,`product`,`person`,`technical`]),usageContext:E().max(100),evidenceLine:A().int().positive(),evidenceQuote:E().min(1).max(1e3)}),tb=P({id:O(),status:R([`matched`,`not_found`,`ambiguous`]),confirmed:j(),selectionMode:R([`meeting-date`,`reference`]).optional(),summary:j().optional(),glossary:j().optional(),sourceUrl:k().nullable(),connectorId:O().nullable(),documentId:E().min(1).max(256),documentTitle:E(),documentVersion:F([A(),E().max(256)]).nullable(),contentHash:E(),notesHash:E(),startTime:E(),meetingDate:E(),timezone:E(),preparedBy:O(),preparedAt:B(),modelId:E(),lines:N(P({id:A().int().positive(),text:E()})),reason:E().max(500),background:E().max(450),terms:N(eb).max(24),excludedTerms:N(E()).max(24)});P({blocks:N(I(`type`,[P({id:O(),type:z(`text`),text:E()}),P({id:O(),type:z(`resource`),resourceId:O()})]))});const nb=P({summary:j(),glossary:j(),excludedTerms:N(E().max(100)).max(24)});P({sourceUrl:k().nullable(),documentTitle:E(),lines:N(P({id:A().int().positive(),text:E()}))}),P({modelId:E(),notesHash:E(),startTime:E(),meetingDate:E(),timezone:E()}),P({id:O(),title:E(),url:k(),mimeType:E(),size:A(),projectSource:P({projectId:O(),projectName:E(),sourceType:R([`file`,`link`,`task`]),sourceId:O(),capturedAt:B()}).optional(),context:tb.nullable(),stale:j(),contextUsage:nb}).omit({mimeType:!0,size:!0,projectSource:!0});const rb=R([`manual`,`calendar`,`recording`]),ib=R([`local`,`upload`,`zoom`,`youtube`,`media`,`bot`]),ab=R([`chrome_extension`]),ob=R([`pending`,`extracting_subtitles`,`downloading`,`transcribing`,`refining`,`completed`,`failed`]),sb=R([`recall`]),cb=R([`scheduled`,`joining`,`in_call`,`recording`,`done`,`failed`,`removed`]),lb=R([`manual`,`api`,`connector`,`calendar_subscription`]),ub=R([`idle`,`queued`,`generating`,`completed`,`failed`]),db=R([`generated`,`import`,`user_edit`,`restore`,`migration`]),fb=P({type:R([`hangoutsMeet`,`zoom`,`teams`,`webex`,`other`]),uri:E().optional(),label:E().optional()}),pb=P({email:E(),displayName:E().nullable().optional(),role:R([`organizer`,`attendee`,`optional`]).optional(),responseStatus:R([`needsAction`,`declined`,`tentative`,`accepted`]).nullable().optional(),userId:O().nullable().optional()}),mb=P({start:A(),end:A(),text:E()}),hb=L(E().regex(/^[A-Z0-9]{1,2}$/u),E().trim().min(1).max(100).regex(/^[^\r\n]+$/u)),gb=P({handlingType:R([`agent`,`assisted`,`human`]),reason:E().max(2e3),nextStep:E().max(2e3),missingInformation:N(E().max(1e3)).max(20)}),_b=P({ticketDestination:Zy.optional(),ticketCreation:Qy.optional(),id:O(),revision:A().int().nonnegative(),status:R([`open`,`completed`,`dismissed`]),assignedTo:R([`agent`,`human`]).nullable().optional(),sourceFingerprint:E().regex(/^[a-f0-9]{64}$/u).optional(),execution:P({taskId:O(),reportedAt:B(),note:E().max(4e3)}).optional(),tracking:P({connectorId:O(),externalId:E().min(1).max(500),url:k({protocol:/^https$/}).refine(e=>{try{let t=new URL(e);return!t.username&&!t.password}catch{return!1}}),reportedStatus:E().max(500).nullable(),reportedAt:B(),sourceTaskId:O().optional()}).optional(),analysis:P({status:R([`running`,`succeeded`,`failed`]),requestId:O(),sourceFingerprint:E(),startedAt:B(),finishedAt:B().optional(),result:gb.optional()}).optional()}),vb=P({description:E(),assignee:E().nullable().optional(),dueDate:E().nullable().optional(),completed:j()}).extend({workflow:_b.optional()}),yb=R([`private`,`workspace`]),bb=R([`viewer`,`editor`]),xb=R([`owner`,`editor`,`viewer`]),Sb=R([`explicit`,`workspace`]),Cb=P({userId:O(),userName:E(),userEmail:E(),userImage:E().nullable().optional(),role:bb,grantedBy:O().nullable(),createdAt:B()}),wb=P({teamId:O(),teamName:E(),memberCount:A(),role:bb,grantedBy:O().nullable(),createdAt:B()});P({visibility:yb,userGrants:N(Cb),teamGrants:N(wb)}),P({role:bb}),P({title:E().trim().min(1).max(500),description:E().optional(),location:E().optional(),startTime:H.optional(),endTime:H.optional(),conferenceLink:k().optional(),conferenceData:fb.optional(),calendarEventId:O().optional(),notes:E().optional()}),P({title:E().trim().min(1).max(500).optional(),description:E().nullable().optional(),location:E().nullable().optional(),startTime:H.nullable().optional(),endTime:H.nullable().optional(),status:$y.optional(),conferenceLink:k().nullable().optional(),conferenceData:fb.nullable().optional(),notes:E().nullable().optional(),expectedNotes:E().nullable().optional(),summary:E().nullable().optional(),expectedSummary:E().nullable().optional(),calendarEventId:O().nullable().optional(),visibility:yb.optional()});const Tb=P({processedChunks:A().int().nonnegative(),totalChunks:A().int().positive()}),Eb=R([`preparing`,`queued`,`transcribing`,`validating`,`finalizing`,`falling_back`]),Db=P({estimated:j().optional(),percentage:A().int().min(0).max(100),batchStage:Eb.optional(),batchStartedAt:B().optional(),batchElapsedSeconds:A().int().nonnegative().optional()}),Ob=P({provisionalCoverageRatio:A().min(0).max(1),finalTranscription:Tb}),kb=P({transcript:E(),transcriptWithTimestamps:E(),segments:N(mb),summary:E().nullable(),actionItems:N(vb).nullable().optional(),generatedAt:B(),stability:P({coverageRatio:A().min(0).max(1),eligible:j(),failedChunkCount:A().int().nonnegative(),maxGapSec:A().nonnegative(),missingRangeCount:A().int().nonnegative(),missingRanges:N(P({startSec:A().nonnegative(),endSec:A().nonnegative(),durationSec:A().positive()})).optional(),pendingChunkCount:A().int().nonnegative(),reason:E()})}),Ab=kb.pick({summary:!0,actionItems:!0}),jb=R([`pending`,`ready`,`failed`]);P({url:E(),downloadUrl:E()}),P({id:O(),uploadedBy:O(),meetingId:O(),title:E(),duration:A().nullable(),transcript:E().nullable(),transcriptWithTimestamps:E().nullable(),segments:N(mb).nullable(),legacyTranscriptDisplayTail:P({transcriptRevision:A().int().nonnegative(),canonicalTail:mb,segments:N(mb)}).nullable().optional(),speakerNames:hb,transcriptRevision:A().int().nonnegative(),needsSummaryRefresh:j(),isSummaryStale:j(),summary:E().nullable(),actionItems:N(vb).nullable(),summaryStatus:ub,audioStorageKey:E().nullable(),videoStorageKey:E().nullable().optional(),videoStatus:jb.nullable().optional(),canRetranscribe:j().optional(),captureClient:ab.nullable().optional(),processingStatus:ob.nullable(),isLiveRecording:j().optional().describe(`Recent unfinished local recording activity within the orphan idle window; not a guarantee that capture remains connected.`),captureOutcome:z(`no_recording`).nullable().optional(),transcriptionOutcome:R([`speech`,`no_speech`]).nullable().optional(),transcriptionNotice:R([`no_speech_skipped`,`speech_unconfirmed`]).nullable().optional(),processingProgress:Db.nullable().optional(),hybridProgress:Ob.nullable().optional(),provisionalResult:kb.nullable().optional(),transcriptionProgress:Tb.nullable().optional(),recordedAt:B().nullable(),createdAt:B(),updatedAt:B()});const Mb=P({hasVideo:j().optional(),id:O(),title:E(),duration:A().nullable(),hasSummary:j(),hasTranscript:j(),canRetry:j().optional(),needsSummaryRefresh:j(),isSummaryStale:j(),summary:E().nullable().optional(),actionItems:N(vb).nullable().optional(),summaryStatus:ub,source:ib.nullable().optional(),captureClient:ab.nullable().optional(),processingStatus:ob.nullable(),captureOutcome:z(`no_recording`).nullable().optional(),transcriptionOutcome:R([`speech`,`no_speech`]).nullable().optional(),transcriptionNotice:R([`no_speech_skipped`,`speech_unconfirmed`]).nullable().optional(),processingProgress:Db.nullable().optional(),hybridProgress:Ob.nullable().optional(),provisionalResult:Ab.nullable().optional(),transcriptionProgress:Tb.nullable().optional(),recordedAt:B().nullable(),createdAt:B(),updatedAt:B().optional()}),Nb=R([`transcript`,`summary`]),Pb=P({id:O(),name:E()}),Fb=P({id:O(),versionNumber:A().int().nonnegative(),origin:db,restoredFromVersionId:O().nullable(),createdBy:Pb.nullable(),createdAt:B(),excerpt:E().nullable()});P({contentType:Nb,currentVersionId:O().nullable(),canRestore:j(),versions:N(Fb),nextVersionNumber:A().int().nonnegative().nullable()});const Ib=Fb.omit({excerpt:!0});I(`contentType`,[Ib.extend({contentType:z(`transcript`),transcript:E().nullable(),transcriptWithTimestamps:E().nullable(),rawTranscript:E().nullable(),segments:N(mb).nullable(),speakerNames:hb}),Ib.extend({contentType:z(`summary`),summary:E(),actionItems:N(vb).nullable(),sourceTranscriptRevision:A().int().nonnegative().nullable()})]),P({expectedHeadVersionId:O()}),P({currentVersionId:O().nullable(),canRestore:j(),versions:N(Fb),nextVersionNumber:A().int().positive().nullable()}),Ib.extend({summary:E(),actionItems:N(vb).nullable(),sourceRecordingSummaryVersionIds:N(O())});const Lb=P({recordingStartedAt:B().nullable().optional(),saveVideo:j().default(!1),recordingControlPending:j().default(!1),videoCaptureActive:j().default(!1),id:O(),meetingRecordingId:O().nullable(),provider:sb,meetingUrl:E(),botName:E().nullable(),status:cb,statusDetail:E().nullable(),dispatchSource:lb,joinedAt:B().nullable(),endedAt:B().nullable(),recordingReadyAt:B().nullable(),createdAt:B(),updatedAt:B()});P({relatedActiveBot:P({meetingId:O(),status:cb,dispatchedAt:B(),dispatchedBy:P({id:O(),name:E().nullable()}).nullable(),canAccess:j()}).nullable()});const Rb=R([`all`,`matching_rules`,`none`]),zb=P({field:R([`meeting_type`,`meeting_title`]),matchType:R([`is`,`is_not`,`contains`,`does_not_contain`]),value:E().trim().min(1).max(200)}).superRefine((e,t)=>{if(e.field===`meeting_type`){e.matchType!==`is`&&e.matchType!==`is_not`&&t.addIssue({code:`custom`,path:[`matchType`],message:`meeting_type conditions must use is / is_not`}),e.value!==`internal`&&e.value!==`external`&&t.addIssue({code:`custom`,path:[`value`],message:`meeting_type conditions must match internal / external`});return}e.matchType!==`contains`&&e.matchType!==`does_not_contain`&&t.addIssue({code:`custom`,path:[`matchType`],message:`meeting_title conditions must use contains / does_not_contain`})});P({settings:P({recorderAgentName:E().trim().min(1).max(100),recordingPolicy:Rb,saveVideo:j().default(!1),conditions:N(zb).max(20)}).superRefine((e,t)=>{e.recordingPolicy===`matching_rules`&&e.conditions.length===0&&t.addIssue({code:`custom`,path:[`conditions`],message:`matching_rules requires at least one condition`})}).nullable(),hasCalendarAccounts:j()}),P({policyVersion:E(),segmentSeconds:A().int().positive(),minFlushSegmentSeconds:A().positive(),maxSegmentDurationSeconds:A().int().positive(),idlePollIntervalMs:A().int().positive(),pendingPollBackoffIntervalsMs:N(A().int().positive()).min(1),pendingPollIntervalMs:A().int().positive(),pollJitterRatio:A().min(0).max(1),uploadTimeoutMs:A().int().positive(),liveTranscriptionModelTimeoutMs:A().int().positive(),maxQueuedSegments:A().int().positive(),maxPendingChunks:A().int().positive(),maxUploadBytes:A().int().positive(),displayLagSeconds:A().nonnegative(),timelineCatchUpIntervalMs:A().int().positive(),timelineGapRevealAheadChunks:A().int().nonnegative(),timelineMaxBurstSegments:A().int().positive(),timelineMaxDisplaySegmentDurationSeconds:A().positive(),timelineMinDisplaySegmentDurationSeconds:A().positive(),timelineTypingCriticalBacklogChars:A().int().positive(),timelineTypingCriticalCharsPerSecond:A().int().positive(),timelineTypingHighBacklogChars:A().int().positive(),timelineTypingHighBacklogCharsPerSecond:A().int().positive(),timelineTypingLowBacklogChars:A().int().positive(),timelineTypingLowBacklogCharsPerSecond:A().int().positive(),timelineTypingNormalCharsPerSecond:A().int().positive(),timelineTypingRevealTickMs:A().int().positive()});const Bb=P({userId:O(),name:E().nullable(),email:E(),image:E().nullable().optional()});P({id:O(),workspaceId:O(),createdBy:O(),owner:Bb.optional(),calendarEventId:O().nullable(),title:E(),description:E().nullable(),location:E().nullable(),startTime:E().nullable(),endTime:E().nullable(),status:$y,source:rb,conferenceLink:E().nullable(),conferenceData:fb.nullable(),notes:E().nullable(),summary:E().nullable(),actionItems:N(vb).nullable().optional(),calendarEvent:P({title:E(),providerEventId:E(),calendarId:E(),provider:R([`google`,`outlook`,`caldav`]),providerCalendarId:E(),startTime:E(),endTime:E()}).nullable(),participants:N(pb).optional(),recordings:N(Mb).optional(),hasEverRecorded:j().optional(),meetingBots:N(Lb).optional(),isOwner:j().optional(),sharedVia:Sb.optional(),visibility:yb,myRole:xb.optional(),createdAt:B(),updatedAt:B()});const Vb=P({hasVideo:j().optional(),id:O(),title:E(),sortTime:E(),createdAt:B(),updatedAt:B(),startTime:E().nullable(),endTime:E().nullable(),status:$y.nullable(),source:rb.nullable(),conferenceLink:E().nullable(),hasRecordings:j(),hasNotes:j().optional(),hasEverRecorded:j().optional(),participantCount:A().nullable(),isOwner:j(),myRole:xb,owner:Bb.optional(),sharedVia:Sb.optional(),isSharedWithOthers:j().optional(),visibility:yb.optional(),duration:A().nullable(),hasTranscript:j(),hasSummary:j(),summaryStatus:ub,recordingStats:P({total:A().int().nonnegative(),available:A().int().nonnegative(),processing:A().int().nonnegative(),needsAttention:A().int().nonnegative(),failed:A().int().nonnegative().optional(),noRecording:A().int().nonnegative()}).optional(),recordingSource:ib.nullable(),processingStatus:ob.nullable(),hasActiveMeetingBot:j().optional(),activeMeetingBot:Lb.optional()}),Hb=P({meetingId:E(),userId:E(),userName:E(),userEmail:E(),userImage:E().nullable().optional(),createdAt:B()});P({recordings:N(Mb),nextKey:E().optional()}),P({meetings:N(Vb),nextKey:E().optional()}),P({shares:N(Hb)}),P({meetings:N(P({id:E(),title:E(),startTime:E().nullable()}))}),P({photos:L(E(),E())});const Ub=P({meetingId:O(),title:E(),startTime:E().nullable(),summary:E(),actionItems:N(vb)}),Wb=P({meetingId:O(),title:E(),startTime:E().nullable(),item:vb});P({previous:Ub.nullable(),seriesActionItems:P({open:N(Wb),recentlyCompleted:N(Wb)}).optional()}),Ad.extend({search:E().trim().max(200).optional(),filter:R([`mine`,`shared`,`all`]).default(`all`),sortBy:R([`updated_at`,`start_time`]).default(`updated_at`),hasContent:bl().optional(),hasActiveMeetingBot:bl().optional()});function Gb(e){return e.summary?e.summary:e.recordings?.find(e=>e.summary)?.summary||e.recordings?.find(e=>e.provisionalResult?.summary)?.provisionalResult?.summary}const Kb=Object.values({AGENT:`agent`,SKILL:`skill`}),qb={ROLE:`role`,BADGE:`badge`,USE_CASE:`use_case`},Jb=Object.values(qb),Yb=P({speaker:R([`user`,`assistant`]),text:E()}),Xb=P({id:O(),name:E(),provider:E(),iconUrl:E().nullable(),purpose:E()}),Zb=P({tag:E(),category:R(Jb),label:E()}),Qb=P({slug:E(),type:R(Kb),name:E(),description:E(),iconUrl:E().nullable(),tags:N(Zb)}),$b=E().optional().transform(e=>Al(e));P({type:R(Kb).optional(),tag:E().optional(),limit:V().int().min(1).max(100).default(30),cursor:E().optional(),lang:$b}),P({items:N(Qb),nextCursor:E().nullable()}),I(`type`,[P({slug:E(),type:z(`agent`),name:E(),description:E(),iconUrl:E().nullable(),tags:N(Zb),starterPrompts:N(E()),exampleConversation:N(Yb),connectors:N(Xb)}),P({slug:E(),type:z(`skill`),name:E(),description:E(),iconUrl:E().nullable(),tags:N(Zb),exampleConversation:N(Yb)})]),P({items:N(P({tag:E(),name:E(),tagline:E()}))}),P({toolApprovalMode:kf.optional()}).default({}),P({resourceId:O(),resourceType:R(Kb),workspaceId:O(),taskId:O().nullable(),resourceSlug:E()}),P({type:R(Kb),slug:E().min(1)}),P({lang:$b});const ex=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,tx=P({connectorId:O(),purpose:E().trim().min(1,`Purpose is required`)}),nx={name:E().trim().min(1).max(120),description:E().trim().min(1).max(2e3),iconId:O().nullable().optional(),tags:N(E()).default([]),model:$d,systemPrompt:E().trim().min(1),conversationStarters:N(E().trim().min(1)).max(5).default([]),exampleConversation:N(Yb).min(1,`At least one example turn is required`),connectors:N(tx).refine(e=>new Set(e.map(e=>e.connectorId)).size===e.length,{message:`Each connector can only be added once`}).default([])};P({slug:E().trim().regex(ex,`Use lowercase-kebab-case`).max(120),...nx}),P(nx),P({id:O()}),P({type:R(Kb).optional(),limit:V().int().min(1).max(100).default(30),offset:V().int().min(0).default(0)}),P({items:N(P({id:O(),type:R(Kb),slug:E(),name:E(),description:E(),tags:N(E()),isDelisted:j(),createdAt:B(),updatedAt:B()})),total:A().int().min(0)});const rx=P({connectorId:O(),name:E(),purpose:E()});P({id:O(),slug:E(),name:E(),description:E(),iconId:O().nullable(),tags:N(E()),model:E(),systemPrompt:E(),conversationStarters:N(E()),exampleConversation:N(Yb),connectors:N(rx),isDelisted:j(),createdAt:B(),updatedAt:B()}),P({items:N(P({tag:E(),category:R([qb.ROLE,qb.BADGE,qb.USE_CASE])}))}),P({items:N(P({id:O(),name:E(),description:E()}))});const ix={description:E().trim().min(1).max(2e3),iconId:O().nullable().optional(),tags:N(E()).default([]),exampleConversation:N(Yb).min(1,`At least one example turn is required`)};P({slug:E().trim().regex(ex,`Use lowercase-kebab-case`).max(120),...ix}),P(ix),P({id:O()}),P({id:O(),slug:E(),name:E(),description:E(),iconId:O().nullable(),tags:N(E()),exampleConversation:N(Yb),hasPackagedContent:j(),isDelisted:j(),createdAt:B(),updatedAt:B()}),P({name:E(),description:E()});const ax=P({id:A(),content:E(),createdAt:B(),updatedAt:B()});P({limit:V().int().min(1).max(100).default(100),nextKey:E().optional()}),P({memories:N(ax),nextKey:E().optional()}),P({workspaceId:O()}),P({workspaceId:O(),memoryId:V().int()}),P({kind:z(`stream_error`),code:R([`context_length_exceeded`,`request_too_large`,`token_compaction_failed`,`rate_limited`,`quota_exhausted`,`auth`,`timeout`,`content_filter`,`subscription_vendor_quota_exhausted`,`subscription_pool_exhausted`,`subscription_pool_not_configured`,`subscription_pool_member_allowance_reached`,`provider_unavailable`,`agent_unavailable`,`invalid_tool_schema`,`unknown`]).catch(`unknown`),errorId:E().max(128).optional()}),P({providers:N(P({id:E(),name:E(),clientId:E().nullable(),authUrl:E(),tokenUrl:E(),usePKCE:j(),defaultScopes:N(E()).nullable(),strategy:E(),configured:j(),builtIn:j(),iconUrl:E().optional()}))});const ox={AGENT:`agent`,SKILL:`skill`,WORKFLOW:`workflow`,CONNECTOR:`connector`,SCHEDULE:`schedule`,PROJECT:`project`};function sx({resourceType:e,resourceId:t}){return`${e}:${t}`}const cx=R([ox.AGENT,ox.SKILL,ox.WORKFLOW,ox.CONNECTOR,ox.SCHEDULE,ox.PROJECT]),lx=P({resourceType:cx,resourceId:O(),name:E(),managedAgent:P({channelCount:A().int().nonnegative()}).optional()}),ux=P({projectId:O(),name:E(),teams:N(P({teamId:O(),name:E()}))});P({hash:E().regex(/^[0-9a-f]{64}$/),items:N(lx),teamOnlyProjects:N(ux)});const dx=I(`action`,[P({resourceType:cx,resourceId:O(),action:z(`transfer`),successorUserId:O()}),P({resourceType:cx,resourceId:O(),action:z(`delete`)})]),fx=I(`action`,[P({action:z(`transfer`),successorUserId:O()}),P({action:z(`delete`)})]);P({inventoryHash:E().min(1),defaultAction:fx.optional(),decisions:N(dx).max(1e3).superRefine((e,t)=>{let n=new Set;for(let[r,i]of e.entries()){let e=sx(i);n.has(e)?t.addIssue({code:`custom`,path:[r],message:`Duplicate decision for resource`}):n.add(e)}})}),P({transferred:A(),deleted:A()}),P({userId:O()}),P({roleId:O()}),P({url:Fl.refine(e=>{if(!URL.canParse(e))return!1;let t=new URL(e);return!t.username&&!t.password&&!t.port},`Preview URLs must not contain credentials or a custom port`)}),P({title:E().max(300).nullable(),description:E().max(600).nullable(),siteName:E().max(100).nullable()});const px=P({en:R([`en-US`,`en-GB`]).optional(),zh:R([`zh-CN`,`zh-HK`,`zh-TW`]).optional(),es:R([`es-MX`,`es-ES`,`es-US`]).optional(),fr:R([`fr-FR`,`fr-CA`]).optional(),pt:R([`pt-PT`,`pt-BR`]).optional()}).strict(),mx=P({displayName:E().nullable(),jobTitle:E().nullable(),language:E().nullable(),customPreferences:E().nullable(),voiceLanguageVariants:px.nullable(),updatedAt:B()});P({displayName:E().trim().max(100).nullable().optional(),jobTitle:E().trim().max(100).nullable().optional(),language:E().trim().max(100).nullable().optional(),customPreferences:E().trim().max(1e3).nullable().optional(),voiceLanguageVariants:px.nullable().optional()}),P({workspaceId:O()}),mx.extend({updatedAt:B().nullable()}),P({workspaceId:O()}),P({workspaceId:O(),teamId:O(),publishId:O()}),P({workspaceId:O(),teamId:O()});const hx=[Kp.MEMBER,Kp.MANAGER,Kp.OWNER];P({resourceType:$m,resourceId:O(),versionId:O().optional(),teamIds:N(O()).min(1).max(20).refine(e=>new Set(e).size===e.length,{message:`teamIds must not contain duplicates`}),message:E().trim().max(500).optional()}),P({publishedVersionId:O(),roles:N(R(hx)).min(1).refine(e=>new Set(e).size===e.length,{message:`Roles must be unique`})}),P({roles:N(R(hx)).min(1).refine(e=>new Set(e).size===e.length,{message:`Roles must be unique`})}),P({items:N(P({id:O(),resource:nh,author:th,requester:th,teamId:O(),versionId:O().nullable(),versionNumber:A().int().nullable(),status:R(eh),message:E().nullable(),roles:N(R(hx)).nullable(),reviewer:th.nullable(),reviewedAt:B().nullable(),rejectReason:E().nullable(),createdAt:B(),updatedAt:B()})),nextKey:E().optional()}),P({count:A().int()}),P({workspaceId:O()}),P({workspaceId:O(),publishId:O()}),P({resourceType:$m,resourceId:O(),versionId:O().optional(),message:E().trim().max(500).optional()}),P({publishedVersionId:O(),roleIds:N(O()).min(1).optional()}),P({roleIds:N(O()).nullable().optional()}),P({items:N(P({id:O(),resource:nh,author:th.nullable(),requester:th.nullable(),versionId:O().nullable(),versionNumber:A().int().nullable(),workspaceId:O(),status:R(eh),message:E().nullable(),roleIds:N(O()).nullable(),reviewer:th.nullable(),reviewedAt:B().nullable(),rejectReason:E().nullable(),createdAt:B(),updatedAt:B()})),total:A().int().nonnegative(),nextKey:E().optional()}),P({resourceType:$m.optional()}),P({count:A().int()});const gx=P({low:A().min(-12).max(12),mid:A().min(-12).max(12),high:A().min(-12).max(12)});P({startSeconds:A().int().nonnegative(),endSeconds:A().int().positive(),equalizer:gx.optional()}).refine(e=>e.endSeconds-e.startSeconds>=1,{message:`Keep at least one second of audio`,path:[`endSeconds`]}).safeExtend({requestId:O(),expectedTranscriptRevision:A().int().nonnegative()}),P({recordingId:O(),meetingId:O()}),P({revision:A().int().nonnegative(),rejectedRanges:N(Uc([A().int(),A().int()]))});const _x=R([`web`,`desktop`,`chrome_extension`]);P({sessionId:O(),ownerId:O(),client:_x,title:E().trim().min(1).max(500)});const vx=P({sessionId:O(),ownerId:O()});vx.extend({phase:R([`capturing`,`finalizing`])}),vx.extend({reason:R([`saved`,`discarded`,`start_failed`])});const yx=P({sessionId:O(),ownerId:O(),userId:O(),workspaceId:O(),client:_x,title:E(),recordingId:O().nullable(),meetingId:O().nullable(),phase:R([`capturing`,`finalizing`]),health:R([`active`,`unknown`]),startedAt:B(),lastSeenAt:B()});P({userId:O(),capture:yx.nullable()}).extend({acquired:j()}),P({peaks:N(A().min(0).max(1)).max(1728e3),duration:A().positive(),secondsPerPeak:A().positive()}),P({version:z(1),transcriptRevision:A().int().nonnegative(),operationId:O().optional(),model:E(),processingPath:R([`batch`,`chunks`]).optional(),kind:R([`upload`,`trim`,`retry`]),fileBytes:A().nonnegative(),format:E(),audioSeconds:A().nonnegative(),uploadSeconds:A().positive(),observedUploadSeconds:A().positive().optional(),processingSeconds:A().positive(),uploadSampleCount:A().int().nonnegative(),processingSampleCount:A().int().nonnegative(),preparedAt:B(),processingStartedAt:B().optional(),completedAt:B().optional(),uploadFraction:A().min(0).max(.99).optional()}),[{extension:`mp3`,mimeTypes:[`audio/mpeg`]},{extension:`m4a`,mimeTypes:[`audio/mp4`,`audio/x-m4a`]},{extension:`wav`,mimeTypes:[`audio/wav`,`audio/wave`]},{extension:`mp4`,mimeTypes:[`video/mp4`]},{extension:`webm`,mimeTypes:[`audio/webm`,`video/webm`]},{extension:`aac`,mimeTypes:[`audio/aac`]},{extension:`ogg`,mimeTypes:[`audio/ogg`]},{extension:`flac`,mimeTypes:[`audio/flac`]},{extension:`mpeg`,mimeTypes:[`audio/mpeg`]}].map(({extension:e})=>`.${e}`),P({url:k(),title:E().trim().min(1).max(500).optional(),preferredLanguage:E().trim().min(2).max(10).regex(/^[a-zA-Z]{2,3}(-[a-zA-Z]{2,8})?$/,`Invalid language code format`).optional()}),P({recordingId:O(),source:z(`media`),message:E()}),P({url:k()}),P({url:E(),type:z(`media`),title:E(),duration:A().optional(),thumbnailUrl:E().optional(),contentType:E().optional(),fileSize:A().optional(),extractor:E().optional(),channelName:E().optional(),uploadDate:E().optional()}),P({downloadUrl:E(),playbackPending:j(),url:E()}),P({eventId:O(),occurredAt:B(),clientVersion:E().max(64),captureClient:R([`chrome_extension`,`web`,`desktop`,`mobile`]),stage:R([`capture`,`persistence`,`live_upload`,`finalize`,`upload`]),outcome:R([`started`,`completed`,`failed`,`degraded`,`recovered`]),reason:R([`started`,`stopped`,`capture_failed`,`capture_interrupted`,`storage_unavailable`,`storage_write_failed`,`finalize_failed`,`upload_failed`,`upload_completed`,`upload_recovered`,`live_segment_dropped`,`live_segment_recovered`]),attempt:A().int().min(0).max(100).optional(),seq:A().int().min(0).optional(),status:A().int().min(0).max(599).optional(),recoverable:j().optional()}),P({deploymentMode:Jy,features:P({enableCapability:j(),enableCapabilityProviderSwitch:j(),enableChatbotSlack:j(),enableChatbotTeams:j(),enableOutgoingWebhooks:j(),enableProject:j(),enableProjectFeedback:j(),enableScheduleActiveWindows:j(),enableScheduleJudge:j(),scheduleJudgeDefaultEnabled:j()})});const bx=P({id:O(),name:E(),email:E(),image:E().nullable().optional()}),xx=P({id:O(),name:E()});P({subjectType:Zp,subjectId:O()}),P({grants:N(I(`subjectType`,[P({subjectType:z(Xp.USER),subjectId:O(),userId:O().optional(),role:Yp,user:bx}),P({subjectType:z(Xp.TEAM),subjectId:O(),teamId:O().optional(),role:Yp,team:xx})]))}),P({role:Yp});function Sx(e){return e.subjectType===Xp.USER}function Cx(e){return e.grants.filter(Sx)}P({workspaceId:O(),resourceType:$m}),P({teams:N(P({id:O(),name:E()}))}),P({roles:N(P({id:O(),name:E(),description:E().optional(),isDefault:j(),memberCount:A().int(),permissions:N(E()),fixedPermissions:N(E()).optional(),createdAt:B(),updatedAt:B()})),nextKey:E().optional()}),P({name:E().trim().min(1).max(100),description:E().trim().max(500).optional(),permissions:N(Tf).min(1)}),P({name:E().trim().min(1).max(100),description:E().trim().max(500).optional(),permissions:N(Tf).min(1)});const wx=R([`skills`,`connectors`,`schedules`,`chatbot`,`workflows`,`projects`,`meetings`,`marketplace`]),Tx=N(wx).transform(e=>[...new Set(e)]),Ex=P({roleId:O(),hiddenEntries:Tx});P({roles:N(Ex)}),P({roles:N(Ex)}),P({hiddenEntries:N(wx)});const Dx={},Ox={};function kx(e,t){try{let n=(Dx[e]||=new Intl.DateTimeFormat(`en-US`,{timeZone:e,timeZoneName:`longOffset`}).format)(t).split(`GMT`)[1];return n in Ox?Ox[n]:jx(n,n.split(`:`))}catch{if(e in Ox)return Ox[e];let t=e?.match(Ax);return t?jx(e,t.slice(1)):NaN}}const Ax=/([+-]\d\d):?(\d\d)?/;function jx(e,t){let n=+(t[0]||0),r=+(t[1]||0),i=(t[2]||0)/60;return Ox[e]=n*60+r>0?n*60+r+i:n*60-r-i}var Mx=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(kx(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)),Ix(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=-kx(this.timeZone,this);return e>0?Math.floor(e):Math.ceil(e)}setTime(e){return Date.prototype.setTime.apply(this,arguments),Px(this),+this}[Symbol.for(`constructDateFrom`)](t){return new e(+new Date(t),this.timeZone)}};const Nx=/^(get|set)(?!UTC)/;Object.getOwnPropertyNames(Date.prototype).forEach(e=>{if(!Nx.test(e))return;let t=e.replace(Nx,`$1UTC`);Mx.prototype[t]&&(e.startsWith(`get`)?Mx.prototype[e]=function(){return this.internal[t]()}:(Mx.prototype[e]=function(){return Date.prototype[t].apply(this.internal,arguments),Fx(this),+this},Mx.prototype[t]=function(){return Date.prototype[t].apply(this,arguments),Px(this),+this}))});function Px(e){e.internal.setTime(+e),e.internal.setUTCSeconds(e.internal.getUTCSeconds()-Math.round(-kx(e.timeZone,e)*60))}function Fx(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()),Ix(e)}function Ix(e,t){let n=Array.isArray(t)?Lx(t):+e.internal,r=kx(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=kx(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(-(kx(e.timeZone,e)*60))%60;(p||f)&&Date.prototype.setUTCSeconds.call(e,Date.prototype.getUTCSeconds.call(e)+p+f);let ee=kx(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&&Rx(e)-n===ae*60*1e3&&Rx(e,oe)!==n;if(re&&ie&&!se){Date.prototype.setUTCMinutes.call(e,Date.prototype.getUTCMinutes.call(e)+ie);let t=kx(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)}Px(e);let ce=(t?n:n+p*1e3)-+e.internal;ce&&Math.abs(ce)<1800*1e3&&(Date.prototype.setTime.call(e,+e+ce),Px(e))}function Lx(e){return Date.UTC(e[0],e.length>1?e[1]:0,e.length>2?e[2]:1,...e.slice(3))}function Rx(e,t){let n=new Date(t??+e);return n.setUTCSeconds(n.getUTCSeconds()-Math.round(-kx(e.timeZone,n)*60)),+n}const zx=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/u,Bx=L(E().regex(/^[A-Za-z_][A-Za-z0-9_]*$/u),E()).optional();P({runId:E().regex(zx),command:E().min(1),cwd:E().optional(),env:Bx,secretEnv:Bx,deadlineMs:A().int().min(1e3).max(72e5),outputLimitBytes:A().int().positive().max(1073741824).default(104857600)});const Vx=E().length(12).regex(/^[a-z0-9]+$/u),Hx=F([I(`mode`,[P({mode:z(`version`),versionId:O()}),P({mode:z(`work`),taskId:O()})]),P({mode:z(`file`),fileId:O()}),P({mode:z(`live`)})]);Lc({siteKey:Vx,env:E().min(1),serve:Hx,iat:A().optional(),exp:A().optional()});const Ux=[`preview_site_ready`,`preview_site_publish`,`preview_site_read`,`preview_site_delete`];function Wx(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 Gx=N(E().min(1)).superRefine((e,t)=>{let n=Wx(e,e=>e);n&&t.addIssue({code:`custom`,message:`Duplicate path: ${n}`})});R(Ux);const Kx={env:E().min(1),sandboxDomain:E().min(1),sandboxId:E().min(1)},qx={...Kx,siteDir:E().min(1).default(`app`)},Jx={env:E().min(1),siteKey:Vx},Yx={...Jx,serve:Hx};I(`op`,[P({op:z(`preview_site_ready`),...qx}),P({op:z(`preview_site_publish`),...qx}),P({op:z(`preview_site_delete`),...Kx})]),I(`op`,[P({op:z(`preview_site_ready`),...Yx}),P({op:z(`preview_site_publish`),...Yx}),P({op:z(`preview_site_read`),...Yx}),P({op:z(`preview_site_delete`),...Jx})]),P({files:N(P({path:E().min(1),contentBase64:yc(`Invalid base64 content`),contentType:E().optional()})).max(128).superRefine((e,t)=>{let n=Wx(e,e=>e.path);n&&t.addIssue({code:`custom`,message:`Duplicate path: ${n}`})}),finalize:j().default(!0),manifestFiles:Gx.optional()}).superRefine((e,t)=>{if(!e.finalize||!e.manifestFiles)return;let n=new Set(e.manifestFiles);for(let r of e.files)if(!n.has(r.path)){t.addIssue({code:`custom`,message:`Manifest is missing published file: ${r.path}`});return}}),P({filesUploaded:A().int().nonnegative(),filesDeleted:A().int().nonnegative()}),P({files:Gx});const Xx=Object.values({BUILT_IN:`built_in`,CUSTOM:`custom`}),Zx=[`updatedAt`,`name`];Ad.extend({createdBy:R([`me`]).optional(),search:E().trim().max(200).optional(),sortBy:R(Zx).optional()});const Qx=P({id:O(),name:E(),isMe:j()}),$x=P({id:O()}).nullable(),eS=P({id:O(),name:E(),description:E(),type:R(Xx).optional(),provider:E().nullable(),author:Qx.nullable(),publish:$x,publishedTo:ih.optional(),team:P({id:O(),name:E()}).optional().describe(`The team this skill is published to, only present when createdBy is team`),versionNumber:A().int().nullable().optional(),isEnabled:j(),myRole:Qp,createdAt:B(),updatedAt:B()});P({skills:N(eS),nextKey:E().optional()}),P({id:O(),workspaceId:O(),authorId:O(),name:E(),description:E(),currentVersionId:O(),createdAt:B(),updatedAt:B()}),P({workspaceId:O(),skillId:O(),versionId:O()});const tS=P({id:O(),name:E()}),nS=P({id:O(),versionNumber:A().int().min(1),description:E(),createdBy:tS,createdAt:B()});P({skillId:O(),skillName:E(),versions:N(nS)}),P({url:k()}),P({search:E().trim().max(200).optional(),status:R(ph).optional(),nextKey:E().optional(),limit:V().int().min(1).max(100).default(20),sortBy:R(Zx).optional()}),P({skills:N(P({id:O(),name:E(),description:E().optional(),hasUnpublishedChanges:j(),latestVersionNumber:A().int().nullable(),publishedTo:ih.optional(),myRole:Qp,createdAt:B(),updatedAt:B()})),nextKey:E().optional(),totalCount:A().int().nonnegative(),statusCounts:mh}),Ad.extend({createdBy:R([`workspace`,`team`,`me`]).optional(),teamId:O().optional(),search:E().trim().max(200).optional(),sortBy:R(Zx).optional()}).refine(e=>!e.teamId||e.createdBy===`team`,{message:`teamId can only be used with createdBy: team`,path:[`teamId`]}),P({field:E(),message:E()}),P({workspaceId:O(),skillId:O()}),P({isEnabled:j()}),P({isEnabled:j()}),P({skills:N(eS),nextKey:E().optional()}),P({workspaceId:O(),skillId:O()});const rS=P({path:E(),size:A().int().nonnegative()});P({skillId:O(),skillName:E(),description:E(),versionId:O(),files:N(rS)}),P({workspaceId:O(),skillId:O()}),P({path:E().trim().min(1).max(1024)}),I(`kind`,[P({kind:z(`text`),path:E(),size:A().int().nonnegative(),content:E()}),P({kind:z(`image`),path:E(),size:A().int().nonnegative(),content:E()}),P({kind:z(`binary`),path:E(),size:A().int().nonnegative()}),P({kind:z(`too_large`),path:E(),size:A().int().nonnegative()})]);const iS=R([`queued`,`running`,`completed`,`failed`,`cancelled`,`unknown`]),aS=new Set([`completed`,`failed`,`cancelled`,`unknown`]);function oS(e){return aS.has(e)}const sS=[`tool`,`subagent`,`workflow`],cS=R(sS),lS=R([`stdout`,`stderr`]),uS=P({tail:E(),bytes:A().int().nonnegative()}),dS=P({runId:O(),kind:z(`tool`),toolName:E(),description:E().nullable(),status:iS,stopRequestedAt:E().nullable(),createdAt:E(),startedAt:E().nullable(),completedAt:E().nullable(),summary:E().nullable(),exitCode:A().int().nullable(),timedOut:j(),outputLimitExceeded:j(),errorMessage:E().nullable(),fullOutputAvailable:j()}),fS=P({runs:N(dS),nextKey:E().optional()}),pS=dS.extend({stdout:uS.nullable(),stderr:uS.nullable(),liveTail:P({stdout:E(),stderr:E()}).nullable()});P({stream:lS});const mS=R([`queued`,`running`,`completed`,`failed`,`cancelled`]),hS=iS;R([`subagent`,`workflow`]);const gS={subagent:`subagentRuns`,workflow:`workflowRuns`,tool:`toolRuns`};function _S(e){return gS[e]}const vS=new Set([`completed`,`failed`,`cancelled`]);function yS(e){return vS.has(e)}function bS(e){return e.at(-1)?.toolCallCount??0}P({runs:N(P({runId:E(),kind:cS,status:hS,label:E(),startedAt:E().nullable(),createdAt:E()}))}),P({kinds:F([cS,N(cS).min(1)]).transform(e=>[...new Set(Array.isArray(e)?e:[e])]).default([`subagent`,`workflow`])}),P({runId:O(),status:mS,startedAt:E().nullable(),progress:_l().nullable().meta({type:`object`}),result:_l().nullable().meta({type:`object`}),error:_l().nullable().meta({type:`object`})});const xS=R([`chatgpt`]),SS=R([`active`,`expired`,`needs_reauth`,`quota_exhausted`,`error`]),CS=df,wS=P({observedAt:B(),windows:L(E(),CS),resetCreditsAvailable:A().int().nonnegative().optional()}),TS=P({id:O(),provider:xS,label:E(),accountId:E(),status:SS,quotaResetAt:B().nullable(),quota:wS.nullable(),lastCheckedAt:B().nullable(),createdAt:B()});P({accounts:N(TS)}),P({outcome:R([`reset`,`nothing_to_reset`,`no_credit`,`already_redeemed`]),windowsReset:A().int().nonnegative(),account:TS}),P({accountIds:N(O()).min(1)}),P({provider:xS,label:E().trim().min(1).max(100).optional()}),P({provider:xS}),P({status:R([`pending`,`connected`,`error`]),account:TS.nullable(),lastError:E().nullable()}),P({errorMessage:E().min(1).max(1e3),url:k().max(2e3).optional(),userAgent:E().max(500),workspaceId:O().optional(),sentryEventId:E().max(64).optional(),description:E().max(5e3).nullable()}),P({requestId:A().int()});const ES=[`pending`,`running`,`completed`,`failed`,`cancelled`],DS=[`input`,`output`],OS=R(ES),kS=R(DS),AS=P({taskAssetId:O(),role:kS}),jS=P({id:O(),position:A().int().positive().nullable(),title:E(),status:OS,startedAt:Cl().nullable(),finishedAt:Cl().nullable(),assets:N(AS)}),MS=P({id:O(),taskRunId:O(),revision:A().int().nonnegative(),items:N(jS)}),NS=jS.extend({startedAt:B().nullable(),finishedAt:B().nullable()});MS.extend({items:N(NS)}),P({workspaceId:O()}),P({workspaceId:O(),teamId:O()}),P({workspaceId:O(),teamId:O(),userId:O()});const PS=[Kp.OWNER,Kp.MANAGER,Kp.MEMBER],FS=[qp.VISIBLE,qp.HIDDEN],IS=[Kp.OWNER,Kp.MANAGER,Kp.MEMBER],LS=P({email:rc(),role:R(IS)});P({name:E().trim().min(1).max(100),description:E().trim().max(500).nullable().default(null),visibility:R(FS).optional(),requireReview:j().optional(),acceptExternalSubmissions:j().optional(),members:N(LS).min(1).max(50).optional()}),P({name:E().trim().min(1).max(100).optional(),description:E().trim().max(500).nullable().optional(),visibility:R(FS).optional(),requireReview:j().optional(),acceptExternalSubmissions:j().optional()}).refine(e=>e.name!==void 0||e.description!==void 0||e.visibility!==void 0||e.requireReview!==void 0||e.acceptExternalSubmissions!==void 0,{message:`At least one field must be provided`}),P({members:N(LS).min(1).max(50)}),P({role:R(IS)});const RS=P({id:O(),name:E()});P({teams:N(P({id:O(),name:E(),description:E().nullable(),visibility:R(FS),requireReview:j(),acceptExternalSubmissions:j(),memberCount:A().int(),currentUserRole:R(PS).nullable(),createdBy:RS,createdAt:B(),updatedAt:B()}).extend({publishPendingCount:A().int(),published:j().optional()})),nextKey:E().optional()}),Ad.extend({search:E().trim().max(200).optional(),resourceType:$m.optional(),resourceId:O().optional()}),P({members:N(P({userId:O(),name:E(),email:E(),role:R(PS),createdAt:B()})),total:A().int().nonnegative()}),jd.extend({search:E().trim().max(200).optional()}),P({platform:R([`posthog`,`sentry`,`zendesk`])}),P({id:O()});const zS=1e3,BS=R([`personal`,`team`,`workspace`]),VS=R([`manual`,`auto_learned`]),HS=P({id:O(),workspaceId:O(),scope:BS,userId:O().nullable(),teamId:O().nullable(),term:E(),usageContext:E().nullable(),source:VS,createdBy:O().nullable(),createdAt:B(),updatedAt:B()}),US=P({workspaceId:O()}),WS=US.extend({teamId:O()});US.extend({entryId:O()}),WS.extend({entryId:O()}),P({limit:V().int().min(1).max(100).default(100),nextKey:E().optional()}),P({entries:N(HS),nextKey:E().optional()});const GS=E().trim().min(1).max(200);P({term:GS,usageContext:E().trim().max(zS).nullable().optional()}),P({term:GS.optional(),usageContext:E().trim().max(zS).nullable().optional()}).refine(e=>Object.keys(e).length>0,{message:`At least one field is required`});const KS=L(E(),M()),qS=E().min(1).max(64).regex(/^[a-z][a-z0-9_]*$/,`node id must be lower_snake_case`),JS=R(Jd),YS=F([z(`auto`),JS]),XS=R([`routine`,`reasoning`,`judgment`]),ZS=R([`implicit_auto`,`fanout_max_excluded`,`only_enabled_tier`,`single_eligible_tier`,`tier_unavailable`]),QS=P({requestedTier:YS,classifiedDemand:XS.optional(),selectedTier:JS,source:R([`pinned`,`classified`,`fallback`,`policy`,`chat-router`]),constraints:N(ZS),policyVersion:R([`chat-router-v1`,`workflow-v1`])});P({id:qS,label:E().min(1).max(120)}).extend({kind:z(`agent`),promptTemplate:E().min(1),agentId:O().optional(),toolAllowlist:N(E()).optional(),outputSchema:KS.optional(),modelSelection:YS.optional(),maxSteps:A().int().min(1).max(50).optional()}),P({status:R([`queued`,`running`,`done`,`failed`]),output:M().optional(),error:E().optional(),durationMs:A().int().optional(),tokens:A().int().optional(),usage:P({inputTokens:A().int(),outputTokens:A().int(),totalTokens:A().int(),reasoningTokens:A().int(),cachedInputTokens:A().int(),cachedCreationTokens:A().int(),model:E().optional()}).optional(),fanOut:P({total:A().int(),done:A().int(),failed:A().int(),running:A().int()}).optional(),label:E().optional(),kind:R([`agent`,`fan_out`]).optional(),seq:A().int().optional(),prompt:E().optional(),invocation:P({schema:M().optional(),toolAllowlist:N(E()).optional(),agentId:E().optional(),maxSteps:A().int().optional(),model:YS.optional()}).optional(),modelAllocation:QS.optional(),stepCount:A().int().optional(),toolCalls:N(P({name:E(),summary:E()})).optional(),phaseId:E().optional(),phaseSeq:A().int().optional()}),P({workflows:N(P({id:O(),name:E(),description:E().nullable(),scriptSource:E(),isActive:j(),createdAt:B(),updatedAt:B(),myRole:Qp})),nextKey:E().optional()});const $S=R([`queued`,`running`,`completed`,`failed`,`cancelled`]),eC=P({id:O(),status:$S,startedAt:B().nullable(),completedAt:B().nullable(),error:M().nullable(),createdAt:B()});P({runs:N(eC),nextKey:E().optional()}),eC.extend({workflowId:O(),context:_l().meta({type:`object`}),scriptSnapshot:E(),args:M().nullable()}),P({error:E(),code:E().optional(),errorId:E().max(128).optional()});const tC=E().regex(/^(?:rs1:[0-9a-f-]{36}:\d+:\d+:[0-9a-f]{64}|rsl1:[0-9a-f-]{36}:[0-9a-f-]{36}:\d+)$/);P({recordingId:O(),transcriptRevision:A().int().nonnegative(),segmentIndex:A().int().nonnegative(),mediaFingerprint:E().regex(/^[0-9a-f]{64}$/)}),P({recordingId:O(),chunkId:O(),segmentIndex:A().int().nonnegative()});const nC=P({start:A().nonnegative(),end:A().nonnegative(),text:E(),speaker:E().nullable(),speakerName:E().nullable()});P({sourceId:tC,recordingId:O(),meetingId:O(),title:E(),transcriptRevision:A().int().nonnegative(),segment:nC,context:N(nC),audioUrl:E().nullable(),audioOffsetSec:A().nonnegative().optional(),playbackPending:j().optional(),isHistorical:j()});const rC=[`apiUrl`,`hubUrl`];function iC(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 aC(e){let t=$.getEffectiveProfileName(e);return $.getProfileConfigFile(t)}function X(e){let t=aC(e);try{if(!n.existsSync(t))return{};let e=n.readFileSync(t,`utf-8`);return JSON.parse(e)}catch{return{}}}function oC(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 sC={getApiUrl(e){return X(e).apiUrl??null},setApiUrl(e,t){let n=X(t);n.apiUrl=e,oC(n,t)},clearApiUrl(e){let t=X(e);delete t.apiUrl,oC(t,e)},getHubUrl(e){return X(e).hubUrl??null},setHubUrl(e,t){let n=X(t);n.hubUrl=e,oC(n,t)},getAll(e){return X(e)},setAll(e,t){oC(e,t)},set(e,t,n){let r=X(n);r[e]=t,oC(r,n)},get(e,t){return X(t)[e]},unset(e,t){let n=X(t);delete n[e],oC(n,t)},getDefaultModel(e){return X(e).model?.default??null},setDefaultModel(e,t){let n=X(t);n.model={...n.model,default:e},oC(n,t)},getDefaultConnectorIds(e){return X(e).connectors?.defaults??null},setDefaultConnectorIds(e,t){let n=X(t);n.connectors={...n.connectors,defaults:e},oC(n,t)},getLocalTools(e){return X(e).localTools??null},setLocalTools(e,t){let n=X(t);n.localTools={...n.localTools,...e},oC(n,t)},getToolApprovalMode(e){let t=kf.safeParse(X(e).toolApprovalMode);return t.success?t.data:null},setToolApprovalMode(e,t){let n=X(t);n.toolApprovalMode=e,oC(n,t)},clearToolApprovalMode(e){let t=X(e);delete t.toolApprovalMode,oC(t,e)}};function cC(){return i.join(Qw(),`hub-discovery.json`)}function lC(e){return typeof e==`object`&&!!e&&`checkedAt`in e&&typeof e.checkedAt==`number`&&`apiUrl`in e&&typeof e.apiUrl==`string`}function uC(){try{let e=JSON.parse(n.readFileSync(cC(),`utf-8`));return typeof e==`object`&&e?e:{}}catch{return{}}}const dC={get(e){let t=new Map(Object.entries(uC())).get(e);return lC(t)?t:null},set(e,t){try{oT(cC(),{...uC(),[e]:t})}catch{}}};function fC(){let e=process.env.X_WEB_PROXY_ID;return e?{"x-web-proxy-id":e}:{}}const pC=new Map,mC=new Map;function hC(e,t){pC.set(e,t)}function gC(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?pC.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 _C(e){let{hostname:t}=new URL(e),n=mC.get(t);n||(n=new te({connect:{lookup:gC(t)}}),mC.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 vC(e){return e.replace(/\/+$/u,``)}function yC(e){return Ey.some(({apiHost:t})=>`https://${t}`===e)}function bC(e){return Oy(e)}async function xC(e){let t=await p(e,{all:!0});return t.length>0&&hC(e,t),t}async function SC(e,t){return Ty(e,t,xC)}async function CC(e,t){return URL.canParse(e)&&URL.canParse(t)&&new URL(t).origin===t&&await SC(new URL(e),new URL(t))===null}async function wC(e,t){let n=ky.safeParse(t);if(!n.success)throw Error(`malformed response`);let r=new URL(n.data.api.baseUrl),i=await SC(new URL(e),r);if(i)throw Error(i);return r.origin}async function TC(e){if(!URL.canParse(e)||!wy(new URL(e)))throw Error(`hubUrl is not https`);try{return await a.get(`${e}/.well-known/entrydesk/client`,{headers:bC(e)?fC():{},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 EC(e){return wC(e,await TC(e))}const DC=`https://api.entrydesk.com`,OC=`https://app.entrydesk.com`,kC=new Map,AC=new Map,jC=`ENTRYDESK_MCP_TIMEOUT`,MC=`ENTRYDESK_MCP_MAX_TIMEOUT`;function NC(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 PC(e){return process.env.ENTRYDESK_API_URL||sC.getApiUrl(e)||null}function FC(e){return process.env.ENTRYDESK_HUB_URL||sC.getHubUrl(e)||null}async function IC(e){let t=dC.get(e),n=t&&await CC(e,t.apiUrl)?t:null;if(n&&Date.now()-n.checkedAt<3e5)return n.apiUrl;try{let t=await EC(e);return dC.set(e,{apiUrl:t,checkedAt:Date.now()}),t}catch(t){let r=n?.apiUrl??bC(e);if(!r)throw new Gw(`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 dC.set(e,{apiUrl:r,checkedAt:Date.now()}),r}}async function LC(e){try{let t=await IC(e);return AC.set(e,t),t}finally{kC.delete(e)}}async function RC(e){let t=PC(e);if(t)return t;let n=FC(e);if(!n)return DC;let r=vC(n),i=kC.get(r)??LC(r);return kC.set(r,i),i}function zC(e,t){return e===PC(t)||e===`https://api.entrydesk.com`||yC(e)}function BC(e,t){return zC(e,t)?fC():{}}function VC(e,t){return zC(e,t)?void 0:_C(e)}function HC(e){let t=PC(e);if(t)return t;let n=FC(e);if(!n)return DC;let r=vC(n);return AC.get(r)??`resolved from ${r} on first request`}function UC(e){return FC(e)||`https://app.entrydesk.com`}function WC(){return{loginTimeout:3e5,ignoreSslErrors:process.env.ENTRYDESK_IGNORE_SSL_ERRORS===`true`||!1}}function GC(){let e=NC(jC,3e5);return{httpPort:3100,requestTimeout:e,requestMaxTotalTimeout:Math.max(NC(MC,18e5),e)}}function KC(e,t){return`${vC(UC(t))}${e}`}function qC(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 JC(e){return Te(e)?{code:typeof e.code==`string`?e.code:void 0,error:typeof e.error==`string`?e.error:``,issues:qC(e.errors)}:{error:``,issues:[]}}const YC=/^[a-z0-9_.-]{1,64}$/iu;function XC(e){let t=JC(e).code;return t&&YC.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 ZC=`EntryDesk CLI`,QC={keychain:!1,permissions:!1,corruptFile:!1,windowsFile:!1};function $C(e,t){QC[e]||(QC[e]=!0,console.error(t))}function ew(){return process.env.ENTRYDESK_DEBUG?.toLowerCase()===`true`}function tw(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 nw(e){return Te(e)?typeof e.getPassword==`function`&&typeof e.setPassword==`function`&&typeof e.deletePassword==`function`:!1}function rw(e){return $.getProfileCredentialsFile(e)}var iw=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 tw(t)?t:null}catch{return null}}ensureSecureFilePermissions(e){if(process.platform!==`win32`){try{n.chmodSync(e,384)}catch{$C(`permissions`,`Warning: Failed to set secure permissions on credentials file.`);return}try{(n.statSync(e).mode&511)!=384&&$C(`permissions`,`Warning: Credentials file permissions are too permissive.`)}catch{$C(`permissions`,`Warning: Failed to verify credentials file permissions.`)}}}async getCredentials(e){let t=rw(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 $C(`corruptFile`,"Warning: Credentials file is unreadable. Run `entrydesk login` again."),null}catch{return null}}async setCredentials(e,t){$.ensureProfileDir(e);let r=rw(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=rw(e);try{n.existsSync(t)&&n.unlinkSync(t)}catch{}}},aw=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=nw(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(ZC,t,n);let r=await e.getPassword(ZC,t),i=await e.deletePassword(ZC,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(ZC,this.getAccount(e));if(!n)return null;let r=this.tryParseKeychainPayload(n);return r||$C(`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(ZC,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(ZC,this.getAccount(e))}tryParseKeychainPayload(e){try{let t=JSON.parse(e);return tw(t)?t:null}catch{return null}}};const Q=new class{keychainStorage=null;fileStorage=new iw;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 aw,t=await e.isAvailable();this.keychainAvailable=t,this.keychainStorage=t?e:null}catch{this.keychainAvailable=!1,this.keychainStorage=null}!this.keychainAvailable&&!this.shouldForceFileStorage()&&(ew()&&$C(`keychain`,`Keychain unavailable. Falling back to file-based credentials.`),process.platform===`win32`&&$C(`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()||$C(`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)}},ow={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 sw(e){return e instanceof AbortSignal?{signal:e}:e}function cw(e){try{let t=JSON.parse(e);return Te(t)&&typeof t.code==`string`?t.code:void 0}catch{return}}function lw(e){return{...e,title:Z(e.title),...e.project&&{project:{...e.project,name:Z(e.project.name)}}}}function uw(e){return{...e,tasks:e.tasks.map(lw)}}function dw(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 fw=class extends Error{constructor(){super(`The task stream could not continue from where it was cut.`),this.name=`TaskStreamOffsetUnavailableError`}},pw=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=cw(t)}};function mw(e){let t=new FormData;return t.append(`file`,new Blob([e.buffer],{type:e.mimeType}),e.filename),t}var hw=class e{explicitBaseUrl;profileName;currentClient;runtimeConfigCache;constructor(e,t){this.explicitBaseUrl=e,this.profileName=t,WC().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 RC(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:BC(e,this.profileName),fetch:VC(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:mw(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={depth:i.depth};return i.offset!==void 0&&(o.offset=i.offset),i.revision!==void 0&&(o.revision=i.revision),a.get(`v1/workspaces/${t}/projects/${n}/context/${r.sourceType}/${encodeURIComponent(r.sourceId)}`,{headers:{Authorization:`Bearer ${e}`},searchParams:o}).json()}async assignTaskProject(e,t,n,r){return(await this.http()).put(`v1/workspaces/${t}/tasks/${n}/project`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async grantTaskShareMember(e,t,n,r,i={}){let{data:a}=await(await this.http()).put(`v1/workspaces/${t}/tasks/${n}/shares/members/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i}).json();return{...a,name:Z(a.name),email:Z(a.email)}}async revokeTaskShareMember(e,t,n,r,i={}){await(await this.http()).delete(`v1/workspaces/${t}/tasks/${n}/shares/members/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i})}async grantTaskShareTeam(e,t,n,r,i={}){let{data:a}=await(await this.http()).put(`v1/workspaces/${t}/tasks/${n}/shares/teams/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i}).json();return{...a,name:Z(a.name)}}async revokeTaskShareTeam(e,t,n,r,i={}){await(await this.http()).delete(`v1/workspaces/${t}/tasks/${n}/shares/teams/${r}`,{headers:{Authorization:`Bearer ${e}`},json:i})}async upsertTaskShare(e,t,n,r){return(await this.http()).post(`v1/workspaces/${t}/tasks/${n}/shares`,{headers:{Authorization:`Bearer ${e}`},json:r}).json()}async uploadProjectFile(e,t,n,r,i){let a=await this.http(),o=mw(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=mw(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(uw)}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),dw(await i.get(`v1/workspaces/${t}/tasks/search`,{headers:{Authorization:`Bearer ${e}`},searchParams:a}).json())}async getMessages(e,t,n,r=50){return await(await this.http()).get(`v1/workspaces/${t}/tasks/${n}/messages`,{headers:{Authorization:`Bearer ${e}`},searchParams:{limit:r}}).json()}async getAgent(e,t,n){return await(await this.http()).get(`v1/workspaces/${t}/agents/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json()}async 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}=sw(i),c=await this.http();try{let i=await c.post(`v1/workspaces/${t}/tasks`,{headers:{Authorization:`Bearer ${e}`},json:n,timeout:6e4,throwHttpErrors:!1,...a?{signal:a}:{}});if(!i.ok)throw new pw(i.status,await i.text());let s=bv(await i.json());return s&&r?.(s),!s||`noop`in s?new Response(`data: [DONE]
72
-
73
- `,{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 pw(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 fw;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(![202,404,409].includes(r.status))throw new pw(r.status,await r.text())}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(sS.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=fS.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 pS.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 pw(a.status,await a.text());return a.text()}async stopBackgroundRun(e,t,n,r,i){let a=await this.http(),o=_S(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){let r=await this.http(),i={};return n&&(i.Authorization=`Bearer ${n}`),await r.get(`v1/shares/${e}/messages`,{headers:i,searchParams:{limit:t}}).json()}async getTask(e,t,n){return(await this.http()).get(`v1/workspaces/${t}/tasks/${n}`,{headers:{Authorization:`Bearer ${e}`}}).json().then(lw)}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=mw(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 ow.getAll(t);return n?{client:new e(void 0,t),accessToken:n.accessToken,workspaceId:n.workspaceId??null}:null}};function gw(){return process.env.ENTRYDESK_SANDBOX===`true`}function _w(){if(!gw())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 vw(){return!!process.env.ENTRYDESK_TOKEN?.trim()}function yw(){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 bw=`sandbox environment (ENTRYDESK_SANDBOX)`;function xw(){let e=_w();if(e)return{authSource:`sandbox-env`,label:bw,workspaceId:e.workspaceId};let t=yw();return t?{authSource:`pat-env`,label:`personal access token (ENTRYDESK_TOKEN)`,workspaceId:t.workspaceId}:null}const Sw=`entrydesk-cli`;function Cw(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 ww(e,t,n){try{return await e.post(`v1/oauth/device/code`,{json:{client_id:Sw,scope:t}}).json()}catch(r){if(!(r instanceof o))throw r;let{code:i,error:a}=JC(r.data);if(i===`invalid_scope`){let{rejected:r,remaining:i}=Cw(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:Sw,scope:i.join(` `)}}).json()}throw Error(a?`Failed to request device code: ${a}`:`Failed to request device code`,{cause:r})}}const Tw=new Set([`localhost`,`0.0.0.0`,`::`,`::1`]);function Ew(e){let t=e.replace(/^\[|\]$/gu,``).replace(/\.$/u,``).toLowerCase(),n=t.replace(/^::ffff:/u,``);return Tw.has(t)||/^127(?:\.\d{1,3}){3}$/u.test(n)||t.startsWith(`::ffff:7f`)}const Dw=/^[A-Za-z0-9\-._~/]*$/u,Ow=/^[A-Za-z0-9-]{1,64}$/u;function kw(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!==``&&!Ew(t.hostname)&&Dw.test(t.pathname)&&(r=new URL(t.pathname,t.origin))}catch{}return r??=new URL(`/oauth/device`,t),Ow.test(n)&&r.searchParams.set(`user_code`,n),r.toString()}function Aw(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 jw(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:Sw}}).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}=JC(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 Mw(e){let t=await RC(),n=UC(),r=WC(),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:BC(t),fetch:VC(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 ww(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=kw(i.verification_uri,n,o);e?.onDeviceCodeReceived?.(o,s),e?.onBrowserOpening?.();try{await Aw(s)}catch(e){process.env.DEBUG&&console.error(`[DEBUG] Failed to open browser:`,e)}e?.onWaitingForAuthorization?.();let l=await jw(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 Nw(e){if(e instanceof o){let t=e.response.status;return t===400||t===401}return!1}var Pw=class extends Error{code;constructor(e,t){super(t),this.name=`AuthError`,this.code=e}};function Fw(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 Iw(e,t=300){let n=Fw(e)?.exp;return typeof n==`number`&&n-Math.floor(Date.now()/1e3)<=t}async function Lw(e){let t=e.accessToken;if(!Iw(t))return t;if(!e.refreshToken)throw await ow.clear(),new Pw(`session-expired`,"Session expired. Run `entrydesk login` again.");let n=e.refreshToken,r=new hw(await RC());try{let t=await r.refreshOAuthToken({refreshToken:n,clientId:Sw}),i=await ow.getAll();return i?.accessToken&&i.refreshToken&&i.refreshToken!==n?i.accessToken:(await ow.saveAll({...i??e,accessToken:t.access_token,refreshToken:t.refresh_token??i?.refreshToken??n}),t.access_token)}catch(e){if(!Nw(e))throw new Pw(`refresh-failed`,`Could not refresh your session — the auth server is unreachable. Try again in a moment.`);let t=await ow.getAll();if(t?.accessToken&&t.refreshToken&&t.refreshToken!==n)return t.accessToken;throw await ow.clear(),new Pw(`session-expired`,"Session expired. Run `entrydesk login` again.")}}async function Rw(){let e=_w();if(e)return e.accessToken;let t=await ow.getAll();if(!t?.accessToken)throw new Pw(`not-logged-in`,"Not logged in. Run `entrydesk login` first.");return Lw(t)}async function zw(){let e=_w();if(e)return{accessToken:e.accessToken,workspaceId:e.workspaceId};let t=yw();if(t)return t;let n=await ow.getAll();if(!n?.accessToken)throw new Pw(`not-logged-in`,"Not logged in. Run `entrydesk login` first.");if(!n.workspaceId)throw new Pw(`no-workspace`,"No workspace selected. Run `entrydesk workspaces` first.");return{accessToken:await Lw(n),workspaceId:n.workspaceId}}async function Bw(){let e=_w()??yw();if(e)return e;let t=await ow.getAll();if(!t?.accessToken)throw new Pw(`not-logged-in`,"Not logged in. Run `entrydesk login` first.");let n=await Lw(t),r=await ow.getAll();return{accessToken:n,workspaceId:(r?.accessToken===n?r:t).workspaceId}}function Vw(e){let t=``;try{t=` by ${HC()}`}catch{}let n=XC(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>`.':gw()?`Requests are authenticated via ${bw} — ask the sandbox owner to issue fresh credentials.`:vw()?"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 Hw(e){let t=Math.round(e/1e3);return t%60==0&&t>=60?`${t/60}m`:`${t}s`}function Uw(e){return e instanceof Error&&e.name===`SdkError`&&`code`in e&&e.code===`REQUEST_TIMEOUT`}function Ww(){let{requestTimeout:e,requestMaxTotalTimeout:t}=GC();return`The request timed out after ${Hw(e)} without a response or progress update (absolute cap ${Hw(t)}). Raise the limit with ${jC}=<milliseconds>, and ${MC}=<milliseconds> for the absolute cap.`}var Gw=class extends Error{exitCode;cause;constructor(e,t=1,n){super(e),this.exitCode=t,this.cause=n,this.name=`CLIError`}};function Kw(e){if(e instanceof Gw)return{message:`Error: ${e.message}`,exitCode:e.exitCode,cause:e.cause,stack:e.cause?.stack};if(e instanceof Pw)return{message:e.message,exitCode:1,stack:e.stack};if(Uw(e))return{message:Ww(),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=XC(e.data);if(t===401)return{message:Vw(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=JC(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 qw(e){let{code:t=`request_failed`,message:n}=Kw(e);return{code:t,message:n}}function Jw(e){let t=Kw(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 Yw=`default`,Xw=/^[A-Za-z0-9_-]+$/;let Zw=null;function Qw(){return i.join(r.homedir(),`.entrydesk`)}function $w(){return i.join(Qw(),`profiles`)}function eT(){return i.join(Qw(),`profiles.json`)}function tT(e){return i.join($w(),e)}function nT(e){if(n.existsSync(e))try{n.chmodSync(e,448)}catch{}else n.mkdirSync(e,{mode:448,recursive:!0})}function rT(){nT(Qw())}function iT(){nT($w())}function aT(){let e=eT();try{if(!n.existsSync(e))return null;let t=n.readFileSync(e,`utf-8`);return JSON.parse(t)}catch{return null}}function oT(e,t){rT();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 sT(e){oT(eT(),e)}function cT(e){let t=e.profiles?.length?[...new Set(e.profiles)]:[],n=e.currentProfile&&t.includes(e.currentProfile)?e.currentProfile:t[0]||Yw;return t.length===0&&t.push(Yw),t.includes(n)||t.unshift(n),{currentProfile:n,profiles:t}}function lT(e){iT(),nT(tT(e))}function uT(){let e=aT();if(!e){let e={currentProfile:Yw,profiles:[Yw]};return sT(e),iT(),lT(Yw),e}let t=cT(e);return(t.currentProfile!==e.currentProfile||t.profiles.length!==e.profiles.length)&&sT(t),iT(),t}function dT(e){if(!e)throw new Gw(`Profile name is required.`);if(!Xw.test(e))throw new Gw(`Invalid profile name. Use letters, numbers, dash, or underscore.`)}function fT(e,t){if(!e.profiles.includes(t))throw new Gw(`Profile not found: ${t}`)}function pT(e,t){if(e.profiles.includes(t))throw new Gw(`Profile already exists: ${t}`)}const $={DEFAULT_PROFILE:Yw,setOverrideProfile(e){Zw=e},getOverrideProfile(){return Zw},getProfileDir(e){return tT(e)},getProfileConfigFile(e){return i.join($.getProfileDir(e),`config.json`)},getProfileCredentialsFile(e){return i.join($.getProfileDir(e),`credentials.json`)},getProfileNames(){return[...uT().profiles]},getProfileCount(){return $.getProfileNames().length},getCurrentProfileName(){return uT().currentProfile},getEffectiveProfileName(e){let t=uT(),n=e||Zw||t.currentProfile;return dT(n),fT(t,n),n},ensureProfileExists(e){let t=uT();dT(e),fT(t,e)},createProfile(e){dT(e);let t=uT();pT(t,e),sT({currentProfile:t.currentProfile,profiles:[...t.profiles,e]}),lT(e)},deleteProfile(e){dT(e);let t=uT();fT(t,e);let r=t.profiles.filter(t=>t!==e),i=r.at(0);if(i===void 0)throw new Gw(`Cannot delete the last profile.`);let a=t.currentProfile;a===e&&(a=r.includes(Yw)?Yw:i),sT({currentProfile:a,profiles:r});try{n.rmSync($.getProfileDir(e),{recursive:!0,force:!0})}catch{}return{currentProfile:a}},renameProfile(e,t){dT(e),dT(t);let r=uT();fT(r,e),pT(r,t);let i=tT(e),a=tT(t),o=n.existsSync(i);if(o)try{n.renameSync(i,a)}catch(e){throw new Gw(`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{sT(l)}catch(e){if(o)try{n.renameSync(a,i)}catch(e){throw new Gw(`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{lT(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){dT(e);let t=uT();fT(t,e),sT({currentProfile:e,profiles:t.profiles}),lT(e)},ensureProfileDir:lT};export{$v as $,Lp as $t,OC as A,Hm as At,iC as B,dm as Bt,hw as C,vu as Cn,Fh as Ct,XC as D,Eh as Dt,ow as E,de as En,Th as Et,GC as F,Tm as Ft,iS as G,Jp as Gt,yS as H,em as Ht,RC as I,Xm as It,Gb as J,Gp as Jt,Cx as K,Yp as Kt,BC as L,gm as Lt,HC as M,Pm as Mt,KC as N,Um as Nt,Z as O,vh as Ot,UC as P,Zm as Pt,Xy as Q,Rp as Qt,rC as R,pm as Rt,vw as S,hu as Sn,jh as St,fw as T,Te as Tn,_h as Tt,oS as U,tm as Ut,bS as V,lm as Vt,pS as W,Wp as Wt,yb as X,Y as Xt,bb as Y,zp as Yt,$y as Z,Pp as Zt,Mw as _,wu as _n,O_ as _t,Kw as a,Ff as an,Wv as at,_w as b,bu as bn,fg as bt,Uw as c,qf as cn,Pv as ct,Rw as d,kf as dn,hv as dt,Tp as en,Vv as et,Bw as f,Nd as fn,ov as ft,Sw as g,xu as gn,D_ as gt,Lw as h,cu as hn,N_ as ht,Ww as i,If as in,Gv as it,VC as j,Jm as jt,DC as k,qm as kt,Pw as l,Hf as ln,Mv as lt,Iw as m,mu as mn,P_ as mt,Qw as n,Nf as nn,Xv as nt,qw as o,Af as on,Zv as ot,zw as p,Lu as pn,mv as pt,Kb as q,Xp as qt,Gw as r,Of as rn,Yv as rt,Jw as s,Gf as sn,Nv as st,$ as t,Df as tn,qv as tt,Fw as u,Pf as un,fv as ut,bw as v,yu as vn,a_ as vt,pw as w,Fl as wn,gh as wt,yw as x,Su as xn,Qh as xt,xw as y,_u as yn,pg as yt,sC as z,am as zt};