@standards/schema 1.0.0-alpha.385 → 1.0.0-alpha.386
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{all-DIAipZSx.d.mts → all-4D2kFfWM.d.mts} +60 -60
- package/dist/{all-Czr26_QP.d.ts → all-DmTOfJJI.d.ts} +60 -60
- package/dist/api/index.d.mts +18 -18
- package/dist/api/index.d.ts +18 -18
- package/dist/api/index.js +1 -1
- package/dist/{attribute-validators-CQEf6iqM.js → attribute-validators-CUqsP1j_.js} +2 -2
- package/dist/config-eqfYa9Bh.js +2 -0
- package/dist/{index-DFQSFYiY.d.mts → index-BmQgUhtq.d.mts} +11 -11
- package/dist/{index-DKjcsjFG.d.ts → index-DjWbCMUZ.d.ts} +11 -11
- package/dist/index.d.mts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/object-5-wnsH0o.js +4 -0
- package/dist/phone-DHXyNkVY.js +2 -0
- package/dist/record-operation-BcbgQ-0b.js +2 -0
- package/dist/rolldown-runtime-DETHMehu.js +2 -0
- package/dist/text-DVrTGjjX.js +2 -0
- package/dist/validation/all.d.mts +1 -1
- package/dist/validation/all.d.ts +1 -1
- package/dist/validation/all.js +1 -1
- package/dist/validation/complex/currency.js +1 -1
- package/dist/validation/complex/location.js +1 -1
- package/dist/validation/complex/phone.js +1 -1
- package/dist/validation/complex/relation.js +1 -1
- package/dist/validation/complex/richtext.js +1 -1
- package/dist/validation/complex/select.js +1 -1
- package/dist/validation/complex/user.js +1 -1
- package/dist/validation/computed/formula.js +1 -1
- package/dist/validation/computed/rollup.js +1 -1
- package/dist/validation/config/index.js +1 -1
- package/dist/validation/object/index.js +1 -1
- package/dist/validation/primitives/checkbox.js +1 -1
- package/dist/validation/primitives/date.js +1 -1
- package/dist/validation/primitives/number.js +1 -1
- package/dist/validation/primitives/text.js +1 -1
- package/dist/view-config.schema-DwZVS0Gn.js +2 -0
- package/dist/zod-locale.js +1 -1
- package/dist/zod-locale.mjs +1 -1
- package/package.json +2 -2
- package/dist/config-DUQAd-Ur.js +0 -2
- package/dist/object-Kx-ADbIo.js +0 -4
- package/dist/phone-DrHyIujN.js +0 -2
- package/dist/record-operation-Bbn-LZhq.js +0 -2
- package/dist/text-2DB_Jc_x.js +0 -2
- package/dist/view-config.schema-BOuNAZ5T.js +0 -2
package/dist/api/index.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
-
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../record-aggregates-Cj3p3_ce.js"),t=require("../exceptions.js"),n=require("../record-operation-Bbn-LZhq.js"),r=require("../zod-locale.js"),i=require("../attribute-validators-CQEf6iqM.js");let a=require("zod");a=r.__toESM(a);let o=require("@standards/constants");function type(){return{}}function operationGroup(e){return e.name.slice(0,e.name.indexOf(`.`))}function operation(e){let t=e.status??(e.method===`POST`?201:200);return Object.freeze({...e,status:t})}function encodePathSegment(e){if(e===``||e===`.`||e===`..`)throw new t.ValidationError(`Invalid path segment "${e}" in a request path`,[]);return encodeURIComponent(e)}const s=/:([A-Za-z_][A-Za-z0-9_]*)/g;function pathParamNames(e){return Array.from(e.matchAll(s),e=>e[1])}function buildOperationPath(e,n){return e.path.replace(s,(e,r)=>{let i=n[r];if(i==null)throw new t.ValidationError(`Missing path parameter "${r}"`,[{path:[r],message:`Path parameter is required`}]);return encodePathSegment(String(i))})}function pick(e,t){let n=Object.entries(e).filter(([e])=>t(e));return n.length===0?void 0:Object.fromEntries(n)}function headerKeys(e){return new Map(Object.entries(e.headers??{}))}function splitOperationInput(e,t){let n=new Set(pathParamNames(e.path)),r=headerKeys(e),i=new Set(e.method===`GET`?Object.keys(t):e.query??[]),a=buildOperationPath(e,t),elsewhere=e=>n.has(e)||r.has(e),o=pick(t,e=>!elsewhere(e)&&i.has(e)),s=e.body===void 0?pick(t,e=>!(elsewhere(e)||i.has(e))):t[e.body],c=[...r].flatMap(([e,n])=>{let r=t[e];return r==null?[]:[[n,String(r)]]}),l=c.length===0?void 0:Object.fromEntries(c);return{path:a,...o?{query:o}:{},...s===void 0?{}:{body:s},...l?{headers:l}:{}}}var OperationInputRefusal=class extends t.ValidationError{constructor(e){super(`Validation failed`,e),this.name=`OperationInputRefusal`}};function refuseRepeated(e,t){if(e.length>0)throw new OperationInputRefusal(e.map(e=>({path:[e],message:t})))}function headerInput(e,t){let n=[...headerKeys(e)].flatMap(([e,n])=>{let r=t?.[n],i=Array.isArray(r)?r[0]:r;return typeof i==`string`?[[e,i]]:[]});return Object.fromEntries(n)}function assembleOperationInput(e,t){let n=e.body,r=n===void 0&&i.isPlainRecord(t.body)?t.body:{};refuseRepeated(pathParamNames(e.path).filter(e=>e in t.query||e in r),`Path parameter repeated in the request`);let a=headerInput(e,t.headers),o=new Set(e.query??[]),s=e.method===`GET`?t.query:pick(t.query,e=>o.has(e))??{};if(refuseRepeated(Object.keys(a).filter(n=>n in s||e.method!==`GET`&&n in r||n in t.params),`Header repeated in the request`),e.method===`GET`)return{...s,...a,...t.params};refuseRepeated(Object.keys(s).filter(e=>e in r),`Query parameter repeated in the request`);let c=n===void 0?{}:{[n]:t.body};return{...r,...s,...a,...c,...t.params}}const c=a.object({name:a.string().min(1),roleId:a.string().optional(),expiresAt:a.string().optional(),userProfileId:a.string().optional(),personal:a.literal(!0).optional(),permissions:a.array(a.unknown()).max(0).optional()}).strict(),l=a.object({id:a.string()}),ee={create:operation({name:`apiKeys.create`,method:`POST`,path:`/api-keys`,input:c,output:type(),permission:[`api-keys`,`create`]}),list:operation({name:`apiKeys.list`,method:`GET`,path:`/api-keys`,input:a.object({}),output:type(),permission:[`api-keys`,`read`]}),get:operation({name:`apiKeys.get`,method:`GET`,path:`/api-keys/:id`,input:l,output:type(),permission:[`api-keys`,`read`]}),detach:operation({name:`apiKeys.detach`,method:`POST`,path:`/api-keys/:id/detach`,input:l,output:type(),permission:[`api-keys`,`create`]}),revoke:operation({name:`apiKeys.revoke`,method:`DELETE`,path:`/api-keys/:id`,input:l,output:type(),permission:[`api-keys`,`delete`]})},te=a.number().int().nonnegative(),u=a.object({search:a.string().optional(),since:a.string().optional(),before:a.string().optional(),addresses:a.array(a.string()).optional(),excludeConnectionIds:a.array(a.string()).optional(),order:a.enum([`asc`,`desc`]).optional(),limit:te.optional(),offset:te.optional()}),ne=u.default({}),re=a.object({emailAttributeIds:a.array(a.string()).optional(),query:u.optional()}),ie=re.default({}),ae=a.object({connectionId:a.string(),title:a.string().min(1),startsAt:a.string(),endsAt:a.string(),isAllDay:a.boolean().optional(),attendees:a.array(a.string()).optional(),description:a.string().optional(),location:a.string().optional(),notifyAttendees:a.boolean().optional(),requestConference:a.boolean().optional()}),oe=a.object({startsAt:a.string(),endsAt:a.string(),notifyAttendees:a.boolean()}),se=a.object({attendees:a.array(a.string()).optional(),description:a.string().nullable().optional(),location:a.string().nullable().optional(),notifyAttendees:a.boolean()}),ce=a.object({notifyAttendees:a.boolean().optional()}),le=a.object({override:a.enum(n.RECORDING_OVERRIDES).nullable().optional()}),d=a.object({meetingId:a.string()}),ue={search:operation({name:`meetings.search`,method:`POST`,path:`/meetings/search`,input:ne,output:type()}),create:operation({name:`meetings.create`,method:`POST`,path:`/meetings`,input:ae,output:type()}),reschedule:operation({name:`meetings.reschedule`,method:`PATCH`,path:`/meetings/:meetingId/slot`,input:d.extend(oe.shape),output:type()}),updateDetails:operation({name:`meetings.updateDetails`,method:`PATCH`,path:`/meetings/:meetingId/details`,input:d.extend(se.shape),output:type()}),delete:operation({name:`meetings.delete`,method:`DELETE`,path:`/meetings/:meetingId`,input:d.extend(ce.shape),output:type(),status:204}),get:operation({name:`meetings.get`,method:`GET`,path:`/meetings/:meetingId`,input:d,output:type()}),transcript:operation({name:`meetings.transcript`,method:`GET`,path:`/meetings/:meetingId/transcript`,input:d,output:type()}),setRecording:operation({name:`meetings.setRecording`,method:`PUT`,path:`/meetings/:meetingId/recording`,input:d.extend(le.shape),output:type()}),forRecord:operation({name:`meetings.forRecord`,method:`POST`,path:`/meetings/records/:recordId`,input:a.object({recordId:a.string()}).extend(re.shape),output:type()})},de={list:operation({name:`quotas.list`,method:`GET`,path:`/quotas`,input:a.object({}),output:type(),permission:[`billing`,`read`]})};function unchecked(){return a.custom()}const fe=/^\d{4}-\d{2}-\d{2}$/u,pe=a.object({from:a.string().regex(fe,`from must be a YYYY-MM-DD date`),to:a.string().regex(fe,`to must be a YYYY-MM-DD date`),scope:a.enum([`me`,`workspace`]).default(`me`)}),me=a.object({type:unchecked(),input:unchecked()}),he={wallet:operation({name:`ai.wallet`,method:`GET`,path:`/ai/wallet`,input:a.object({}),output:type(),permission:[`agents`,`read`]}),usage:operation({name:`ai.usage`,method:`GET`,path:`/ai/usage`,input:pe,output:type()}),generate:operation({name:`ai.generate`,method:`POST`,path:`/ai/generate`,input:me,output:type()})},ge={list:operation({name:`models.list`,method:`GET`,path:`/agent/models`,input:a.object({}),output:type()}),images:operation({name:`models.images`,method:`GET`,path:`/agent/image-models`,input:a.object({}),output:type()}),health:operation({name:`models.health`,method:`GET`,path:`/agent/health`,input:a.object({}),output:type()})},_e={get:operation({name:`agentMemory.get`,method:`GET`,path:`/agents/definitions/:id/memory`,input:a.object({id:a.string()}),output:type(),permission:[`agents`,`read`]})},ve={list:operation({name:`schemaGroups.list`,method:`GET`,path:`/schema/groups`,input:a.object({}),output:type(),permission:[`architect`,`read`]})},ye=`revision must be a positive safe integer`,be=a.coerce.number({error:ye}).refine(e=>Number.isSafeInteger(e)&&e>=1,ye),xe={revision:operation({name:`artifacts.revision`,method:`GET`,path:`/artifacts/:artifactId/revisions/:revision`,input:a.object({artifactId:a.string(),revision:be}),output:type(),permission:[`documents`,`read`]})},Se=a.object({key:a.string().min(1),value:a.string().min(1),isSensitive:unchecked().optional()}),Ce={list:operation({name:`envVars.list`,method:`GET`,path:`/env-vars`,input:a.object({}),output:type(),permission:[`env-vars`,`read`]}),upsert:operation({name:`envVars.upsert`,method:`POST`,path:`/env-vars`,input:Se,output:type(),permission:[`env-vars`,`create`]}),delete:operation({name:`envVars.delete`,method:`DELETE`,path:`/env-vars/:id`,input:a.object({id:a.string()}),output:type(),permission:[`env-vars`,`delete`],status:204})},we={list:operation({name:`privateEnvVars.list`,method:`GET`,path:`/env-vars/private`,input:a.object({}),output:type()}),upsert:operation({name:`privateEnvVars.upsert`,method:`POST`,path:`/env-vars/private`,input:Se,output:type(),permission:[`private-secrets`,`create`],status:200}),delete:operation({name:`privateEnvVars.delete`,method:`DELETE`,path:`/env-vars/private/:id`,input:a.object({id:a.string()}),output:type(),status:204})};function classValidatorLength(e){let t=e.match(/(?!️|︎)[\s\S](?:️|︎)/g)??[],n=e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)??[];return e.length-t.length-n.length}const Te=a.string().regex(n.MEMORY_SPEND_LIMIT_PATTERN,`must be a USD amount such as "1.00"`).nullish(),Ee=a.object({meetingRecordingPolicy:a.enum(n.RECORDING_POLICIES).nullish(),meetingBotDisplayName:a.string().trim().refine(e=>{let t=classValidatorLength(e);return t>=1&&t<=80},`must be between 1 and 80 characters`).nullish(),memoryPersonMonthlyLimitUsd:Te,memoryTenantMonthlyLimitUsd:Te}),De={get:operation({name:`tenantSettings.get`,method:`GET`,path:`/tenant/settings`,input:a.object({}),output:type(),permission:[`settings`,`read`]}),update:operation({name:`tenantSettings.update`,method:`PATCH`,path:`/tenant/settings`,input:Ee,output:type(),permission:[`settings`,`update`]}),uploadMeetingBotImage:operation({name:`tenantSettings.uploadMeetingBotImage`,method:`PUT`,path:`/tenant/settings/meeting-bot-image`,input:a.object({}),output:type(),permission:[`settings`,`update`],upload:{field:`file`,maxCount:1,maxBytes:n.MEETING_BOT_IMAGE.maxBytes}}),removeMeetingBotImage:operation({name:`tenantSettings.removeMeetingBotImage`,method:`DELETE`,path:`/tenant/settings/meeting-bot-image`,input:a.object({}),output:type(),permission:[`settings`,`update`]})},Oe=a.object({email:a.email(),roleId:a.string().min(1)}).strict(),f=a.object({id:a.string()}),ke=a.object({proof:a.string().min(1)}).strict(),Ae={create:operation({name:`tenantInvitations.create`,method:`POST`,path:`/tenant-invitations`,input:Oe,output:type(),permission:[`people`,`create`]}),list:operation({name:`tenantInvitations.list`,method:`GET`,path:`/tenant-invitations`,input:a.object({}),output:type(),permission:[`people`,`read`]}),resend:operation({name:`tenantInvitations.resend`,method:`POST`,path:`/tenant-invitations/:id/resend`,input:f,output:type(),permission:[`people`,`update`]}),revoke:operation({name:`tenantInvitations.revoke`,method:`POST`,path:`/tenant-invitations/:id/revoke`,input:f,output:type(),permission:[`people`,`delete`]}),accept:operation({name:`tenantInvitations.accept`,method:`POST`,path:`/tenant-invitations/:id/accept`,input:f.extend(ke.shape).strict(),output:type()})},je=/^[A-Za-z0-9_-]+$/;function isNotificationCursor(e){if(!je.test(e))return!1;try{let t=JSON.parse(Buffer.from(e,`base64url`).toString(`utf8`));return typeof t.createdAt==`string`&&typeof t.id==`string`}catch{return!1}}const Me=a.object({state:a.enum(e.NOTIFICATION_INBOX_STATES).optional(),kind:a.enum(e.NOTIFICATION_KINDS).optional(),minPriority:a.enum(e.NOTIFICATION_PRIORITIES).optional(),since:a.iso.datetime({offset:!0}).optional(),limit:a.coerce.number().int().positive().transform(e=>Math.min(e,100)).optional(),cursor:a.string().min(1).refine(isNotificationCursor,`Invalid notification cursor`).optional()}),Ne=a.object({recipientId:a.guid()}),Pe={list:operation({name:`notifications.list`,method:`GET`,path:`/notifications`,input:Me,output:type()}),counts:operation({name:`notifications.counts`,method:`GET`,path:`/notifications/counts`,input:a.object({}),output:type()}),channels:operation({name:`notifications.channels`,method:`GET`,path:`/notifications/channels`,input:a.object({}),output:type()}),archiveAll:operation({name:`notifications.archiveAll`,method:`POST`,path:`/notifications/archive-all`,input:a.object({}),output:type(),status:200}),markRead:operation({name:`notifications.markRead`,method:`POST`,path:`/notifications/:recipientId/read`,input:Ne,output:type(),status:200}),archive:operation({name:`notifications.archive`,method:`POST`,path:`/notifications/:recipientId/archive`,input:Ne,output:type(),status:200})},Fe={assign:operation({name:`bundles.assign`,method:`POST`,path:`/bundles/assign`,input:a.object({bundleId:a.string()}),output:type(),permission:[`settings`,`manage`]}),uninstall:operation({name:`bundles.uninstall`,method:`DELETE`,path:`/bundles/:bundleId`,input:a.object({bundleId:a.string()}),output:type(),permission:[`settings`,`manage`]}),listAssigned:operation({name:`bundles.listAssigned`,method:`GET`,path:`/bundles/assigned`,input:a.object({}),output:type(),permission:[`settings`,`manage`]}),listUpdatable:operation({name:`bundles.listUpdatable`,method:`GET`,path:`/bundles/updatable`,input:a.object({}),output:type(),permission:[`settings`,`manage`]}),update:operation({name:`bundles.update`,method:`POST`,path:`/bundles/update`,input:a.object({}),output:type(),permission:[`settings`,`manage`]})};function parseFiniteInteger(e){if(e===void 0||e===``)return;let t=Number(e);return Number.isFinite(t)?Math.trunc(t):void 0}function parsePositiveInteger(e){let t=parseFiniteInteger(e);return t!==void 0&&t>0?t:void 0}function parseNonNegativeInteger(e){let t=parseFiniteInteger(e);return t===void 0?void 0:Math.max(0,t)}function parseBoundedPositiveInteger(e,t){return Math.min(parsePositiveInteger(e)??t.defaultValue,t.max)}function parseBoundedNonNegativeInteger(e,t){return Math.min(parseNonNegativeInteger(e)??t.defaultValue,t.max)}const Ie=new Set(n.AUDIT_ACTIONS),Le=new Set(n.AUDIT_RESOURCE_TYPES),Re=a.union([a.string(),a.number()]).optional();function commaList(e,t){let n=e.split(`,`).map(e=>e.trim());return{members:n,unknown:n.find(e=>!t.has(e))}}const ze=a.object({limit:Re,offset:Re,action:a.string().optional(),resourceType:a.string().optional(),objectName:a.string().optional(),actorId:a.string().optional(),from:a.string().optional(),to:a.string().optional()}).transform((e,t)=>{let n={limit:parseBoundedPositiveInteger(e.limit,{defaultValue:50,max:200}),offset:parseNonNegativeInteger(e.offset)??0};function refuse(e,n){return t.addIssue({code:`custom`,path:[e],message:n}),a.NEVER}if(e.action){let{members:t,unknown:r}=commaList(e.action,Ie);if(r!==void 0)return refuse(`action`,`Unknown audit action: "${r}"`);n.action=t.length===1?t[0]:t}if(e.resourceType){let{members:t,unknown:r}=commaList(e.resourceType,Le);if(r!==void 0)return refuse(`resourceType`,`Unknown audit resource type: "${r}"`);n.resourceType=t.length===1?t[0]:t}if(e.objectName&&(n.objectName=e.objectName),e.actorId&&(n.actorId=e.actorId),e.from){let t=new Date(e.from);if(Number.isNaN(t.getTime()))return refuse(`from`,`Invalid 'from' date: "${e.from}"`);n.from=t}if(e.to){let t=new Date(e.to);if(Number.isNaN(t.getTime()))return refuse(`to`,`Invalid 'to' date: "${e.to}"`);n.to=t}return n}),Be=a.object({limit:a.coerce.number().int().min(1).default(50).transform(e=>Math.min(e,200)),offset:a.coerce.number().int().min(0).default(0)}),Ve={list:operation({name:`audit.list`,method:`GET`,path:`/audit`,input:ze,output:type(),permission:[`audit`,`read`]}),recordHistory:operation({name:`audit.recordHistory`,method:`GET`,path:`/audit/records/:recordId`,input:a.object({recordId:a.string()}).extend(Be.shape),output:type()})},He=a.object({q:a.string().optional(),countries:a.string().optional(),language:a.string().optional(),limit:a.union([a.string(),a.number()]).optional(),granularity:a.string().optional()}).transform(e=>({query:e.q??``,countries:e.countries?.split(`,`).filter(Boolean),language:e.language,limit:parsePositiveInteger(e.limit),granularity:e.granularity})),Ue={autocomplete:operation({name:`geocoding.autocomplete`,method:`GET`,path:`/geocoding/autocomplete`,input:He,output:type()})},p=a.guid({error:`must be a UUID`}),We=a.union([a.string(),a.number()]).optional(),Ge=a.object({type:unchecked().optional(),status:unchecked().optional(),limit:We,offset:We}).transform(({type:e,status:t,limit:n,offset:r})=>({type:e,status:t,limit:parseBoundedPositiveInteger(n,{defaultValue:100,max:200}),offset:parseNonNegativeInteger(r)??0})),Ke={list:operation({name:`actors.list`,method:`GET`,path:`/actors`,input:Ge,output:type(),permission:[`people`,`read`]}),me:operation({name:`actors.me`,method:`GET`,path:`/actors/me`,input:a.object({}),output:type(),actor:`required`}),resolve:operation({name:`actors.resolve`,method:`GET`,path:`/actors/resolve`,input:a.object({ids:a.string().optional()}).transform(({ids:e})=>({ids:e?e.split(`,`).filter(Boolean):[]})),output:type()}),get:operation({name:`actors.get`,method:`GET`,path:`/actors/:id`,input:a.object({id:p}),output:type()})},qe=a.string().max(320,{message:`must be a valid email address`,abort:!0}).regex(/^[^\s@]+@[^\s@]+\.[^\s@]+$/u,`must be a valid email address`),Je=[`http`,`https`,`ftp`],Ye=/^\[([^\]]+)\](?::([0-9]+))?$/,Xe=`(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])`,m=`(${Xe}[.]){3}${Xe}`,Ze=RegExp(`^${m}$`),h=`(?:[0-9a-fA-F]{1,4})`,Qe=[`(?:${h}:){7}(?:${h}|:)`,`(?:${h}:){6}(?:${m}|:${h}|:)`,`(?:${h}:){5}(?::${m}|(:${h}){1,2}|:)`,`(?:${h}:){4}(?:(:${h}){0,1}:${m}|(:${h}){1,3}|:)`,`(?:${h}:){3}(?:(:${h}){0,2}:${m}|(:${h}){1,4}|:)`,`(?:${h}:){2}(?:(:${h}){0,3}:${m}|(:${h}){1,5}|:)`,`(?:${h}:){1}(?:(:${h}){0,4}:${m}|(:${h}){1,6}|:)`,`(?::((?::${h}){0,5}:${m}|(?::${h}){1,7}|:))`],$e=RegExp(`^(${Qe.join(`|`)})(%[0-9a-zA-Z.]{1,})?$`);function isIpAddress(e){return Ze.test(e)||$e.test(e)}function isFullyQualifiedDomain(e){let t=e.split(`.`),n=t[t.length-1]??``;return t.length<2||!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(n)||/\s/.test(n)||/^\d+$/.test(n)?!1:t.every(e=>e.length<=63&&/^[a-z_\u00A1-\uFFFF0-9-]+$/i.test(e)&&!/[\uFF01-\uFF5E]/.test(e)&&!/^-|-$/.test(e)&&!/_/.test(e))}function stripProtocol(e){let t=e.match(/^([a-z][a-z0-9+\-.]*):/i);if(!t)return{rest:e,explicit:!1};let n=t[1]??``,r=e.substring(t[0].length),consume=()=>Je.includes(n.toLowerCase())?{rest:r,explicit:!0}:null;if(r.slice(0,2)===`//`)return consume();let i=r.indexOf(`/`),a=i===-1?r:r.substring(0,i),o=a.indexOf(`@`);if(o!==-1){let t=a.substring(0,o);return/^[a-zA-Z0-9\-_.%:]*$/.test(t)&&!/%[0-9a-fA-F]{2}/.test(t)?{rest:e,explicit:!1}:consume()}return/^[0-9]/.test(r)?{rest:e,explicit:!1}:consume()}function isClassValidatorUrl(e){if(typeof e!=`string`||!e||/[\s<>]/.test(e)||e.indexOf(`mailto:`)===0||e.length>2084)return!1;let t=stripProtocol((e.split(`#`)[0]??``).split(`?`)[0]??``);if(!t)return!1;let n=t.rest;if(n.slice(0,2)===`//`){if(!t.explicit)return!1;n=n.slice(2)}if(n===``)return!1;let r=(n.split(`/`)[0]??``).split(`@`);if(r.length>1){let e=r.shift()??``;if(e===``||e.indexOf(`:`)>=0&&e.split(`:`).length>2)return!1;let[t,n]=e.split(`:`);if(t===``&&n===``)return!1}let i=r.join(`@`),a,o=null,s=null,c=i.match(Ye);if(c)a=``,o=c[1]??``,s=c[2]??null;else{let e=i.split(`:`);a=e.shift()??``,e.length&&(s=e.join(`:`))}if(s!==null&&s.length>0){let e=Number.parseInt(s,10);if(!/^[0-9]+$/.test(s)||e<=0||e>65535)return!1}return isIpAddress(a)||isFullyQualifiedDomain(a)||o!==null&&$e.test(o)}const et=a.string().refine(isClassValidatorUrl,{message:`must be a URL address`});function oneOf(e){return a.custom(t=>e.some(e=>e===t),{message:`must be one of: ${e.join(`, `)}`})}const tt=a.object({authId:unchecked(),email:qe,firstName:unchecked().optional(),lastName:unchecked().optional(),avatarUrl:et.nullish(),status:unchecked().optional()});function toProfileCreate(e){return{authId:e.authId,email:e.email,firstName:e.firstName,lastName:e.lastName,avatarUrl:e.avatarUrl??void 0,status:e.status??`active`}}const nt=a.looseObject({preferredName:a.string().nullish(),firstName:a.string().nullish(),lastName:a.string().nullish(),avatarUrl:et.nullish(),status:oneOf(n.USER_STATUSES).nullish()}),rt=a.object({redirectTo:a.string().nullish().transform(e=>e??`/`).refine(e=>e.startsWith(`/`)&&!e.startsWith(`//`)&&!e.includes(`://`),`redirectTo must be a relative path (e.g. /dashboard). Absolute URLs are not allowed.`).transform(e=>e.replace(/\.\./g,``).replace(/\/+/g,`/`))}),it=a.object({status:oneOf(n.USER_STATUSES).optional()}),at=a.object({limit:a.union([a.string(),a.number()]).optional(),offset:a.union([a.string(),a.number()]).optional()}).transform(({limit:e,offset:t})=>({limit:parsePositiveInteger(e),offset:parseNonNegativeInteger(t)})),g=a.object({id:a.string()}),ot=a.object({parameter:a.string().max(256).optional(),value:a.unknown()}),st={list:operation({name:`users.list`,method:`GET`,path:`/users`,input:at,output:type(),permission:[`people`,`read`]}),members:operation({name:`users.members`,method:`GET`,path:`/users/members`,input:a.object({}),output:type(),permission:[`people`,`read`]}),me:operation({name:`users.me`,method:`GET`,path:`/users/me`,input:a.object({}),output:type(),actor:`required`}),updateMe:operation({name:`users.updateMe`,method:`PUT`,path:`/users/me`,input:nt,output:type(),actor:`required`}),myPreferences:operation({name:`users.myPreferences`,method:`GET`,path:`/users/me/preferences`,input:a.object({}),output:type(),actor:`required`}),setMyPreference:operation({name:`users.setMyPreference`,method:`PUT`,path:`/users/me/preferences/:key`,input:ot.extend({key:a.string()}),output:type(),actor:`required`}),uploadMyAvatar:operation({name:`users.uploadMyAvatar`,method:`PUT`,path:`/users/me/avatar`,input:a.object({}),output:type(),actor:`required`,upload:{field:`file`,maxCount:1}}),deleteMyAvatar:operation({name:`users.deleteMyAvatar`,method:`DELETE`,path:`/users/me/avatar`,input:a.object({}),output:type(),actor:`required`}),get:operation({name:`users.get`,method:`GET`,path:`/users/:id`,input:g,output:type(),permission:[`people`,`read`]}),create:operation({name:`users.create`,method:`POST`,path:`/users`,input:tt.transform(toProfileCreate),output:type(),permission:[`people`,`create`]}),update:operation({name:`users.update`,method:`PUT`,path:`/users/:id`,input:nt.extend(g.shape),output:type(),permission:[`people`,`update`]}),delete:operation({name:`users.delete`,method:`DELETE`,path:`/users/:id`,input:g,output:type(),permission:[`people`,`delete`],status:204}),changeStatus:operation({name:`users.changeStatus`,method:`PUT`,path:`/users/:id/status`,input:it.extend(g.shape),output:type(),permission:[`people`,`update`]}),resetAccess:operation({name:`users.resetAccess`,method:`POST`,path:`/users/:id/reset-access`,input:rt.extend(g.shape),output:type(),permission:[`people`,`update`],status:204})},ct=a.object({label:a.string().trim().min(1).max(255),description:a.string().optional(),name:a.string().min(2).max(63).optional(),from:a.guid().optional()}).strict(),lt=a.object({label:ct.shape.label.optional(),description:a.string().optional()}).strict(),ut=a.object({permissions:unchecked().optional()}),dt=a.object({roleIds:a.array(a.guid()).min(1).max(50)}).strict(),_=a.object({id:a.string()}),ft=a.object({actorId:a.string()}),pt={listRoles:operation({name:`permissions.listRoles`,method:`GET`,path:`/permissions/roles`,input:a.object({}),output:type(),permission:[`people`,`read`]}),createRole:operation({name:`permissions.createRole`,method:`POST`,path:`/permissions/roles`,input:ct,output:type(),permission:[`people`,`create`]}),updateRole:operation({name:`permissions.updateRole`,method:`PUT`,path:`/permissions/roles/:id`,input:lt.extend(_.shape),output:type(),permission:[`people`,`update`]}),deleteRole:operation({name:`permissions.deleteRole`,method:`DELETE`,path:`/permissions/roles/:id`,input:_,output:type(),permission:[`people`,`delete`],status:204}),rolePermissions:operation({name:`permissions.rolePermissions`,method:`GET`,path:`/permissions/roles/:id/permissions`,input:_,output:type(),permission:[`people`,`read`]}),setRolePermissions:operation({name:`permissions.setRolePermissions`,method:`PUT`,path:`/permissions/roles/:id/permissions`,input:ut.extend(_.shape),output:type(),permission:[`people`,`update`],status:204}),setActorRoles:operation({name:`permissions.setActorRoles`,method:`PUT`,path:`/permissions/actors/:actorId/roles`,input:dt.extend(ft.shape),output:type(),permission:[`people`,`update`]}),actorEffective:operation({name:`permissions.actorEffective`,method:`GET`,path:`/permissions/actors/:actorId/effective`,input:ft,output:type(),permission:[`people`,`read`]}),me:operation({name:`permissions.me`,method:`GET`,path:`/permissions/me`,input:a.object({}),output:type()}),myObject:operation({name:`permissions.myObject`,method:`GET`,path:`/permissions/me/object/:objectName`,input:a.object({objectName:a.string()}),output:type()}),mySystem:operation({name:`permissions.mySystem`,method:`GET`,path:`/permissions/me/system/:resource`,input:a.object({resource:unchecked()}),output:type()})},mt=a.object({role:a.enum(n.ACCESS_ROLES,{error:`role must be one of: ${n.ACCESS_ROLES.join(`, `)}`})}),v=a.object({id:p}),ht=v.extend({actorId:p}),gt={list:operation({name:`agentAccess.list`,method:`GET`,path:`/agents/definitions/:id/access`,input:v,output:type(),permission:[`agents`,`read`]}),grant:operation({name:`agentAccess.grant`,method:`PUT`,path:`/agents/definitions/:id/access/:actorId`,input:ht.extend(mt.shape),output:type(),permission:[`agents`,`update`]}),revoke:operation({name:`agentAccess.revoke`,method:`DELETE`,path:`/agents/definitions/:id/access/:actorId`,input:ht,output:type(),permission:[`agents`,`read`]}),clear:operation({name:`agentAccess.clear`,method:`DELETE`,path:`/agents/definitions/:id/access`,input:v,output:type(),permission:[`agents`,`update`]})},_t=a.object({role:a.enum(n.RECORD_ACCESS_ROLES,{error:`role must be one of: ${n.RECORD_ACCESS_ROLES.join(`, `)}`})}),y=a.object({id:p}),vt=y.extend({actorId:p}),yt={list:operation({name:`pageAccess.list`,method:`GET`,path:`/pages/:id/access`,input:y,output:type(),permission:[`pages`,`read`]}),grant:operation({name:`pageAccess.grant`,method:`PUT`,path:`/pages/:id/access/:actorId`,input:vt.extend(_t.shape),output:type(),permission:[`pages`,`update`]}),revoke:operation({name:`pageAccess.revoke`,method:`DELETE`,path:`/pages/:id/access/:actorId`,input:vt,output:type(),permission:[`pages`,`read`]}),clear:operation({name:`pageAccess.clear`,method:`DELETE`,path:`/pages/:id/access`,input:y,output:type(),permission:[`pages`,`update`]})},bt=a.string().trim().min(1).max(100),xt=a.enum([`private`,`workspace`]),St=a.strictObject({name:bt,visibility:xt.optional(),confirmShared:a.boolean().optional()}),Ct=a.strictObject({name:bt.optional(),visibility:xt.optional(),confirmShared:a.boolean().optional()}),wt=a.strictObject({takeOver:a.boolean().optional()}),b=a.strictObject({id:p}),Tt={list:operation({name:`browserProfiles.list`,method:`GET`,path:`/browser-profiles`,input:a.object({}),output:type()}),create:operation({name:`browserProfiles.create`,method:`POST`,path:`/browser-profiles`,input:St,output:type(),permission:[`browser-profiles`,`create`]}),update:operation({name:`browserProfiles.update`,method:`PATCH`,path:`/browser-profiles/:id`,input:b.extend(Ct.shape),output:type()}),delete:operation({name:`browserProfiles.delete`,method:`DELETE`,path:`/browser-profiles/:id`,input:b,output:type(),status:204}),prepare:operation({name:`browserProfiles.prepare`,method:`POST`,path:`/browser-profiles/:id/prepare`,input:b.extend(wt.shape),output:type(),status:200}),finishPreparation:operation({name:`browserProfiles.finishPreparation`,method:`POST`,path:`/browser-profiles/:id/prepare/finish`,input:b,output:type(),status:204}),ensurePersonal:operation({name:`browserProfiles.ensurePersonal`,method:`POST`,path:`/browser-profiles/personal`,input:a.object({}),output:type(),status:200}),reset:operation({name:`browserProfiles.reset`,method:`POST`,path:`/browser-profiles/:id/reset`,input:b,output:type(),status:204})},Et={live:operation({name:`cloudBrowsers.live`,method:`GET`,path:`/cloud-browsers/:sessionId/live`,input:a.strictObject({sessionId:p}),output:type()})},Dt=a.string().trim().min(1).max(100),Ot=a.array(a.strictObject({fullName:a.string().regex(/^[A-Za-z0-9][A-Za-z0-9-]*\/[A-Za-z0-9_][A-Za-z0-9_.-]*$/),ref:a.string().regex(/^[A-Za-z0-9_][A-Za-z0-9_./-]*$/).optional()})),kt=a.enum([`private`,`workspace`]),x=a.enum(n.ENVIRONMENT_HARNESSES.map(e=>e.id)),At=a.strictObject({name:Dt,harness:x.nullable(),repositories:Ot.optional(),visibility:kt.optional(),confirmSharedMachine:a.boolean().optional()}),jt=a.strictObject({name:Dt.optional(),visibility:kt.optional(),setupScript:a.string().max(n.SETUP_SCRIPT_MAX_CHARS).optional(),repositories:Ot.optional(),confirmSharedMachine:a.boolean().optional()}),Mt=a.strictObject({include:a.literal(`usedBy`).optional()}),Nt=a.strictObject({definitionId:a.string().uuid().optional()}),S=a.strictObject({id:p}),Pt={list:operation({name:`environments.list`,method:`GET`,path:`/environments`,input:Mt,output:type()}),harnessModels:operation({name:`environments.harnessModels`,method:`GET`,path:`/environments/harnesses/:harness/models`,input:Nt.extend({harness:a.string()}),output:type()}),get:operation({name:`environments.get`,method:`GET`,path:`/environments/:id`,input:S,output:type()}),create:operation({name:`environments.create`,method:`POST`,path:`/environments`,input:At,output:type(),permission:[`environments`,`create`]}),update:operation({name:`environments.update`,method:`PATCH`,path:`/environments/:id`,input:S.extend(jt.shape),output:type()}),build:operation({name:`environments.build`,method:`POST`,path:`/environments/:id/build`,input:S,output:type(),status:202}),terminal:operation({name:`environments.terminal`,method:`POST`,path:`/environments/:id/terminal`,input:S,output:type(),status:200}),save:operation({name:`environments.save`,method:`POST`,path:`/environments/:id/save`,input:S,output:type(),status:200}),discard:operation({name:`environments.discard`,method:`POST`,path:`/environments/:id/discard`,input:S,output:type(),status:200}),archive:operation({name:`environments.archive`,method:`DELETE`,path:`/environments/:id`,input:S,output:type(),status:204})};function required(e){return a.string({error:`${e} is required`}).refine(e=>e.trim()!==``,{error:`${e} is required`})}const Ft=a.enum(i.RESOURCE_VISIBILITIES).default(`workspace`),It=a.string({error:`catalogEntryId must be a non-empty string when provided`}).refine(e=>e.trim()!==``,{error:`catalogEntryId must be a non-empty string when provided`}).nullish().transform(e=>e??null),Lt=a.enum(n.McpOAuthCompletionMode,{error:`completionMode must be desktop when provided`}).optional(),Rt=a.string({error:`returnUrl must be a non-empty string when provided`}).min(1,{error:`returnUrl must be a non-empty string when provided`}).optional();function oneCompletion(e){return!(e.completionMode&&e.returnUrl)}const zt={error:`completionMode and returnUrl cannot be combined`},Bt=a.discriminatedUnion(`type`,[a.object({type:a.literal(`none`)}),a.object({type:a.literal(`header`),headerName:required(`auth.headerName`),secret:required(`auth.secret`)})],{error:e=>{let t=e.input?.type;return t===`oauth`?`Use POST /mcp-servers/oauth/attempts to authorize an OAuth connection.`:e.input===void 0?`auth is required`:`unknown auth type: ${String(t)}`}}),Vt={slug:required(`slug`),name:required(`name`),url:required(`url`),visibility:Ft,catalogEntryId:It},Ht=a.object({...Vt,auth:Bt}),Ut=a.object({...Vt,completionMode:Lt,returnUrl:Rt}).refine(oneCompletion,zt),Wt=a.object({scope:required(`scope`).optional(),completionMode:Lt,returnUrl:Rt}).refine(oneCompletion,zt),C=a.object({id:a.string()}),Gt={startOAuth:operation({name:`mcpServers.startOAuth`,method:`POST`,path:`/mcp-servers/oauth/attempts`,input:Ut,output:type(),permission:[`connectors`,`create`]}),oauthAttempt:operation({name:`mcpServers.oauthAttempt`,method:`GET`,path:`/mcp-servers/oauth/attempts/:id`,input:a.object({id:a.string()}),output:type()}),catalog:operation({name:`mcpServers.catalog`,method:`GET`,path:`/mcp-servers/catalog`,input:a.object({}),output:type(),permission:[`connectors`,`read`]}),list:operation({name:`mcpServers.list`,method:`GET`,path:`/mcp-servers`,input:a.object({}),output:type(),permission:[`connectors`,`read`]}),connect:operation({name:`mcpServers.connect`,method:`POST`,path:`/mcp-servers`,input:Ht,output:type(),permission:[`connectors`,`create`]}),reconnectOAuth:operation({name:`mcpServers.reconnectOAuth`,method:`POST`,path:`/mcp-servers/:id/oauth/attempts`,input:Wt.safeExtend(C.shape),output:type(),permission:[`connectors`,`update`]}),refresh:operation({name:`mcpServers.refresh`,method:`POST`,path:`/mcp-servers/:id/refresh`,input:C,output:type(),permission:[`connectors`,`update`]}),rename:operation({name:`mcpServers.rename`,method:`PATCH`,path:`/mcp-servers/:id`,input:C.extend({name:a.string({error:`name must be a string`})}),output:type(),permission:[`connectors`,`update`]}),setTrusted:operation({name:`mcpServers.setTrusted`,method:`POST`,path:`/mcp-servers/:id/trust`,input:C.extend({trusted:a.boolean({error:`trusted must be a boolean`})}),output:type(),permission:[`connectors`,`update`],status:204}),delete:operation({name:`mcpServers.delete`,method:`DELETE`,path:`/mcp-servers/:id`,input:C,output:type(),permission:[`connectors`,`delete`],status:204})},Kt=[`gmail`,`outlook`,`google-calendar`,`outlook-calendar`,`github`,`slack`],qt=[`actor`,`tenant`],Jt=a.unknown().transform(e=>typeof e==`string`?e:void 0),Yt=a.enum(qt,{error:e=>`unknown scope: ${String(e.input)}`}),Xt=a.object({provider:a.enum(Kt,{error:e=>`unknown provider: ${String(e.input)}`}),scope:Yt,returnUrl:Jt.optional(),capabilities:a.array(a.enum([`modify`,`send`],{error:`unknown capability`}),{error:`unknown capability`}).optional()}),w=a.object({returnUrl:a.string().optional()}),Zt=a.object({address:a.string({error:`address is required`}).refine(e=>e.trim()!==``,{error:`address is required`}),scope:Yt}),T=a.object({id:a.string()}),Qt={list:operation({name:`connectors.list`,method:`GET`,path:`/connectors/connections`,input:a.object({scope:a.string().optional()}),output:type(),permission:[`connectors`,`read`]}),providers:operation({name:`connectors.providers`,method:`GET`,path:`/connectors/providers`,input:a.object({}),output:type(),permission:[`connectors`,`read`]}),startAuth:operation({name:`connectors.startAuth`,method:`POST`,path:`/connectors/auth/start`,input:Xt,output:type(),permission:[`connectors`,`create`]}),startGitHubInstallation:operation({name:`connectors.startGitHubInstallation`,method:`POST`,path:`/connectors/github/install`,input:w,output:type(),permission:[`connectors`,`create`]}),githubRepositories:operation({name:`connectors.githubRepositories`,method:`GET`,path:`/connectors/connections/:id/github/repositories`,input:T,output:type(),permission:[`connectors`,`read`]}),slackMembers:operation({name:`connectors.slackMembers`,method:`GET`,path:`/connectors/connections/:id/slack/members`,input:T,output:type(),permission:[`connectors`,`read`]}),slackChannels:operation({name:`connectors.slackChannels`,method:`GET`,path:`/connectors/connections/:id/slack/channels`,input:T,output:type(),permission:[`connectors`,`read`]}),startGitHubAccount:operation({name:`connectors.startGitHubAccount`,method:`POST`,path:`/connectors/connections/:id/github-account`,input:T.extend(w.shape),output:type(),permission:[`connectors`,`create`]}),disconnect:operation({name:`connectors.disconnect`,method:`POST`,path:`/connectors/connections/:id/disconnect`,input:T,output:type(),permission:[`connectors`,`update`]}),delete:operation({name:`connectors.delete`,method:`DELETE`,path:`/connectors/connections/:id`,input:T.extend({removeImported:unchecked().optional()}),query:[`removeImported`],output:type(),permission:[`connectors`,`delete`]}),addSharedMailbox:operation({name:`connectors.addSharedMailbox`,method:`POST`,path:`/connectors/connections/:id/shared-mailboxes`,input:T.extend(Zt.shape),output:type(),permission:[`connectors`,`create`]})},E=a.object({id:a.string()}),$t=a.object({ruleId:a.string()}),en=a.object({emailId:a.string()}),tn={list:operation({name:`emailCategories.list`,method:`GET`,path:`/email-categories`,input:n.emailCategoryScopeQuerySchema,output:type()}),create:operation({name:`emailCategories.create`,method:`POST`,path:`/email-categories`,input:n.emailCategoryCreateSchema,output:type()}),rules:operation({name:`emailCategories.rules`,method:`GET`,path:`/email-categories/rules`,input:n.emailCategoryScopeQuerySchema,output:type()}),widenRule:operation({name:`emailCategories.widenRule`,method:`PATCH`,path:`/email-categories/rules/:ruleId`,input:$t.extend(n.emailRuleScopeSchema.shape),output:type()}),removeRule:operation({name:`emailCategories.removeRule`,method:`DELETE`,path:`/email-categories/rules/:ruleId`,input:$t,output:type(),status:204}),usage:operation({name:`emailCategories.usage`,method:`GET`,path:`/email-categories/:id/usage`,input:E,output:type()}),update:operation({name:`emailCategories.update`,method:`PATCH`,path:`/email-categories/:id`,input:E.and(n.emailCategoryUpdateSchema),output:type()}),delete:operation({name:`emailCategories.delete`,method:`DELETE`,path:`/email-categories/:id`,input:E.extend(n.emailCategoryDeleteSchema.shape),output:type(),status:204})},nn={classify:operation({name:`emailClassification.classify`,method:`PATCH`,path:`/emails/:emailId/classification`,input:n.classifyEmailSchema.safeExtend(en.shape),output:type()}),restore:operation({name:`emailClassification.restore`,method:`POST`,path:`/emails/:emailId/classification/restore`,input:n.classificationRestoreSchema.safeExtend(en.shape),output:type()})},rn=a.object({mode:unchecked().optional(),accountId:unchecked().optional(),search:unchecked().optional(),readState:unchecked().optional(),category:unchecked().optional(),important:unchecked().optional(),limit:unchecked().optional(),cursor:unchecked().optional(),countMode:unchecked().optional()}),an=a.object({emailAttributeIds:unchecked().optional(),query:unchecked().optional()}),on=a.object({q:a.string().max(320).default(``)}),sn=a.object({isRead:a.boolean()}),cn=a.object({id:a.string()}),ln={mailbox:operation({name:`emails.mailbox`,method:`POST`,path:`/emails/mailbox`,input:rn,output:type()}),thread:operation({name:`emails.thread`,method:`GET`,path:`/emails/threads/:id`,input:cn,output:type()}),markThreadRead:operation({name:`emails.markThreadRead`,method:`POST`,path:`/emails/threads/:id/read`,input:cn.extend(sn.shape),output:type()}),markMessageRead:operation({name:`emails.markMessageRead`,method:`POST`,path:`/emails/messages/:id/read`,input:cn.extend(sn.shape),output:type()}),recordMailbox:operation({name:`emails.recordMailbox`,method:`POST`,path:`/emails/records/:recordId/mailbox`,input:a.object({recordId:a.string()}).extend(an.shape),output:type()}),attachment:operation({name:`emails.attachment`,method:`GET`,path:`/emails/:emailId/attachments/:idx`,input:a.object({emailId:a.string(),idx:a.union([a.string(),a.number()]).transform(Number)}),output:type(),response:`bytes`}),accounts:operation({name:`emails.accounts`,method:`GET`,path:`/emails/accounts`,input:a.object({}),output:type()}),recipients:operation({name:`emails.recipients`,method:`GET`,path:`/emails/recipients`,input:on,output:type()})},un=[`reply`,`reply_all`,`forward`,`new`],dn=a.array(a.string()),fn=a.object({accountId:a.string().min(1),mode:a.enum(un),parentEmailId:a.string().min(1).optional()}),pn=a.object({mode:a.enum(n.REPLY_MODES).optional(),parentEmailId:a.string().min(1).optional(),to:dn.optional(),cc:dn.optional(),bcc:dn.optional(),subject:a.string().max(998).optional(),bodyHtml:a.string().max(n.MAIL_DRAFT_BODY_MAX_CHARS).optional()}),D=a.object({id:a.string()}),mn={list:operation({name:`mailDrafts.list`,method:`GET`,path:`/emails/drafts`,input:a.object({threadId:a.string().optional()}),output:type()}),create:operation({name:`mailDrafts.create`,method:`POST`,path:`/emails/drafts`,input:fn,output:type()}),get:operation({name:`mailDrafts.get`,method:`GET`,path:`/emails/drafts/:id`,input:D,output:type()}),patch:operation({name:`mailDrafts.patch`,method:`PATCH`,path:`/emails/drafts/:id`,input:D.extend(pn.shape),output:type()}),delete:operation({name:`mailDrafts.delete`,method:`DELETE`,path:`/emails/drafts/:id`,input:D,output:type(),status:204}),attach:operation({name:`mailDrafts.attach`,method:`POST`,path:`/emails/drafts/:id/attachments`,input:D,output:type(),upload:{field:`files`,maxCount:10,maxBytes:o.FILE_SIZE.MB_25}}),detach:operation({name:`mailDrafts.detach`,method:`DELETE`,path:`/emails/drafts/:id/attachments/:fileId`,input:D.extend({fileId:a.string()}),output:type(),status:204}),send:operation({name:`mailDrafts.send`,method:`POST`,path:`/emails/drafts/:id/send`,input:D,output:type()})},hn=a.object({pageId:a.guid().nullable()});function isIanaTimezone(e){try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}),!0}catch{return!1}}const gn=a.object({hostRecordId:a.guid().optional(),timezone:a.string().refine(isIanaTimezone,{message:`Expected an IANA timezone`})}).strict(),_n=a.object({id:p}),vn={list:operation({name:`pages.list`,method:`GET`,path:`/pages`,input:a.object({}),output:type(),permission:[`pages`,`read`]}),get:operation({name:`pages.get`,method:`GET`,path:`/pages/:id`,input:_n,output:type(),permission:[`pages`,`read`]}),data:operation({name:`pages.data`,method:`POST`,path:`/pages/:id/data`,input:gn.safeExtend(_n.shape),output:type(),permission:[`pages`,`read`],status:200}),home:operation({name:`pages.home`,method:`GET`,path:`/me/home`,input:a.object({}),output:type()}),setHome:operation({name:`pages.setHome`,method:`PUT`,path:`/me/home`,input:hn,output:type(),status:204})},O=a.enum([`record`,`collection`],{error:`Invalid view context`}),k=a.object({objectName:a.string()}),yn={list:operation({name:`views.list`,method:`GET`,path:`/views`,input:a.object({objectName:a.string().min(1,{error:`Invalid objectName`}).optional(),context:O.optional()}).strict(),output:type(),permission:[`architect`,`read`]}),preferenceMigration:operation({name:`views.preferenceMigration`,method:`GET`,path:`/views/preference-migration`,input:a.object({}).strict(),output:type(),permission:[`architect`,`read`]}),forObject:operation({name:`views.forObject`,method:`GET`,path:`/views/objects/:objectName`,input:k.extend({context:O.optional()}).strict(),output:type(),permission:[`architect`,`read`]}),defaultForObject:operation({name:`views.defaultForObject`,method:`GET`,path:`/views/objects/:objectName/default`,input:k.extend({context:O.optional()}).strict(),output:type(),permission:[`architect`,`read`]}),byName:operation({name:`views.byName`,method:`GET`,path:`/views/objects/:objectName/:viewName`,input:k.extend({viewName:a.string()}).strict(),output:type(),permission:[`architect`,`read`]}),get:operation({name:`views.get`,method:`GET`,path:`/views/:viewId`,input:a.object({viewId:a.string()}).strict(),output:type(),permission:[`architect`,`read`]})};function isPlainObject(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const bn=a.custom(e=>isPlainObject(e)&&typeof e.type==`string`&&(e.type!==`fields`||Array.isArray(e.fields)&&e.fields.every(isPlainObject)),`Each row must be an object with a type, and a fields row a list of field objects`),xn=a.object({id:a.string().min(1),objectName:a.string().min(1),label:a.string(),mode:a.enum([`create`,`select`,`optional`,`create_if_not_empty`]),color:i.colorIdSchema.optional(),icon:i.iconNameSchema.optional(),objectLabel:a.string().optional()}),Sn=a.object({id:a.string().min(1),label:a.string(),description:a.string().optional(),rows:a.array(bn)}),Cn=a.record(a.string(),a.unknown()),wn=a.object({name:a.string().min(1).max(63),label:a.string().min(1).max(255),description:a.string().optional(),icon:i.iconNameSchema.optional(),slots:a.array(xn),steps:a.array(Sn),metadata:Cn.optional()}),Tn=a.object({label:a.string().min(1).max(255).optional(),description:a.string().optional(),icon:i.iconNameSchema.optional(),slots:a.array(xn).optional(),steps:a.array(Sn).optional(),status:a.enum([`draft`,`published`,`archived`]).optional(),metadata:Cn.optional()}),En=unchecked().optional().transform(e=>e===!0||e===`true`),Dn=a.object({values:unchecked()}),A=a.object({formId:a.string()}),j=A.extend({submissionId:a.string()}),On={list:operation({name:`forms.list`,method:`GET`,path:`/forms`,input:a.object({status:unchecked().optional(),publishedOnly:En}),output:type(),permission:[`forms`,`read`]}),submissionsByRecord:operation({name:`forms.submissionsByRecord`,method:`GET`,path:`/forms/submissions/by-record`,input:a.object({recordId:unchecked().optional(),includeArchived:En}),output:type(),permission:[`forms`,`read`]}),byName:operation({name:`forms.byName`,method:`GET`,path:`/forms/name/:name`,input:a.object({name:a.string()}),output:type(),permission:[`forms`,`read`]}),get:operation({name:`forms.get`,method:`GET`,path:`/forms/:formId`,input:A,output:type(),permission:[`forms`,`read`]}),create:operation({name:`forms.create`,method:`POST`,path:`/forms`,input:wn,output:type(),permission:[`forms`,`create`]}),update:operation({name:`forms.update`,method:`PATCH`,path:`/forms/:formId`,input:Tn.extend(A.shape),output:type(),permission:[`forms`,`update`]}),delete:operation({name:`forms.delete`,method:`DELETE`,path:`/forms/:formId`,input:A,output:type(),permission:[`forms`,`delete`],status:204}),publish:operation({name:`forms.publish`,method:`POST`,path:`/forms/:formId/publish`,input:A,output:type(),permission:[`forms`,`manage`]}),archive:operation({name:`forms.archive`,method:`POST`,path:`/forms/:formId/archive`,input:A,output:type(),permission:[`forms`,`manage`]}),duplicate:operation({name:`forms.duplicate`,method:`POST`,path:`/forms/:formId/duplicate`,input:A.extend({name:unchecked().optional(),label:unchecked().optional()}),output:type(),permission:[`forms`,`manage`]}),createSubmission:operation({name:`forms.createSubmission`,method:`POST`,path:`/forms/:formId/submissions`,input:A.extend({slotValues:unchecked().optional()}),output:type(),permission:[`forms`,`read`]}),submission:operation({name:`forms.submission`,method:`GET`,path:`/forms/:formId/submissions/:submissionId`,input:j,output:type(),permission:[`forms`,`read`]}),saveStep:operation({name:`forms.saveStep`,method:`PATCH`,path:`/forms/:formId/submissions/:submissionId/steps/:stepIndex`,input:j.extend(Dn.shape).extend({stepIndex:a.coerce.string().regex(/^-?\d+$/,`Validation failed (numeric string is expected)`).transform(Number).refine(e=>Number.isSafeInteger(e)&&e>=0,`Step index must be a non-negative integer`)}),output:type(),permission:[`forms`,`read`]}),advance:operation({name:`forms.advance`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/advance`,input:j.extend(Dn.shape),output:type(),permission:[`forms`,`read`]}),back:operation({name:`forms.back`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/back`,input:j,output:type(),permission:[`forms`,`read`]}),submit:operation({name:`forms.submit`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/submit`,input:j,output:type(),permission:[`forms`,`read`]}),archiveSubmission:operation({name:`forms.archiveSubmission`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/archive`,input:j,output:type(),permission:[`forms`,`read`]}),unarchiveSubmission:operation({name:`forms.unarchiveSubmission`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/unarchive`,input:j,output:type(),permission:[`forms`,`read`]})},kn=a.object({attributeId:a.string().uuid(`attributeId must be a valid UUID`),ids:a.array(a.string().uuid(`Each id must be a valid UUID`)).default([])}),An=a.object({requests:a.array(a.object({attributeId:a.string().uuid(`attributeId must be a valid UUID`),ids:a.array(a.string().uuid(`Each id must be a valid UUID`))}))}),jn={options:operation({name:`relations.options`,method:`GET`,path:`/relations/:attributeId/options`,input:a.object({attributeId:a.string(),q:unchecked().optional(),page:unchecked().optional(),pageSize:unchecked().optional(),offset:unchecked().optional(),targetObject:unchecked().optional(),deleted:unchecked().optional()}),output:type()}),resolve:operation({name:`relations.resolve`,method:`POST`,path:`/relations/resolve`,input:kn,output:type()}),resolveBatch:operation({name:`relations.resolveBatch`,method:`POST`,path:`/relations/resolve-batch`,input:An,output:type()}),graph:operation({name:`relations.graph`,method:`POST`,path:`/relations/graph`,input:n.recordGraphRequestSchema,output:type(),status:200,throttle:{limit:60,ttlMs:6e4}})},Mn={global:operation({name:`search.global`,method:`GET`,path:`/search`,input:a.object({q:unchecked(),limit:unchecked().optional(),offset:unchecked().optional(),objects:unchecked().optional(),grouped:unchecked().optional(),deleted:unchecked().optional(),countMode:unchecked().optional()}),output:type(),throttle:{limit:30,ttlMs:6e4}})},Nn=a.union([a.object({kind:a.literal(`record`),objectName:a.string().min(1),recordId:a.string().min(1),interactedAt:a.iso.datetime()}),a.object({kind:a.literal(`conversation`),sessionId:a.string().min(1),interactedAt:a.iso.datetime()})]),Pn=a.object({entries:a.array(Nn).max(50)}),Fn={resolve:operation({name:`recentActivity.resolve`,method:`POST`,path:`/recent-activity/resolve`,input:Pn,output:type(),throttle:{limit:30,ttlMs:6e4},actor:`required`})},In={execute:operation({name:`recordOperations.execute`,method:`POST`,path:`/operations`,input:n.recordOperationSchema,output:type(),actor:`required`})},Ln={index:operation({name:`news.index`,method:`GET`,path:`/news`,input:a.object({}),output:type(),actor:`required`}),body:operation({name:`news.body`,method:`GET`,path:`/news/:slug`,input:a.object({slug:a.string()}),output:type(),actor:`required`})},M=a.object({tenantId:a.string().min(1)}),Rn={recomputeGrants:operation({name:`meetingsAdmin.recomputeGrants`,method:`POST`,path:`/admin/meetings/grants-recompute`,input:M,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`})},zn={drain:operation({name:`embeddingsAdmin.drain`,method:`POST`,path:`/admin/embeddings/drain`,input:M,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`})},Bn=M.strict(),Vn={backfill:operation({name:`memoryAdmin.backfill`,method:`POST`,path:`/admin/memory/backfill`,input:Bn,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`}),activity:operation({name:`memoryAdmin.activity`,method:`POST`,path:`/admin/memory/activity`,input:Bn,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`})},Hn=M.extend({afterId:unchecked().optional(),rebuild:unchecked().optional()}),Un={reapplySettings:operation({name:`searchAdmin.reapplySettings`,method:`POST`,path:`/admin/search/reapply-settings`,input:M,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`}),fullReindex:operation({name:`searchAdmin.fullReindex`,method:`POST`,path:`/admin/search/full-reindex`,input:M,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`}),emailReindex:operation({name:`searchAdmin.emailReindex`,method:`POST`,path:`/admin/search/email-reindex`,input:Hn,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`})},Wn={get:operation({name:`schemaState.get`,method:`GET`,path:`/schema/state`,input:a.object({}),output:type(),permission:[`architect`,`read`],throttle:`skip`})},Gn=a.object({sourceId:a.string()}),Kn={list:operation({name:`schemaSources.list`,method:`GET`,path:`/schema/sources`,input:a.object({}),output:type(),permission:[`architect`,`read`],throttle:`skip`}),get:operation({name:`schemaSources.get`,method:`GET`,path:`/schema/sources/:sourceId`,input:Gn,output:type(),permission:[`architect`,`read`],throttle:`skip`}),push:operation({name:`schemaSources.push`,method:`PUT`,path:`/schema/sources/:sourceId`,input:Gn.and(unchecked()),output:type(),permission:[`architect`,`update`],throttle:`skip`}),remove:operation({name:`schemaSources.remove`,method:`DELETE`,path:`/schema/sources/:sourceId`,input:Gn,output:type(),permission:[`architect`,`delete`],status:204,throttle:`skip`})},qn={systemOnly:unchecked().optional(),customOnly:unchecked().optional()},N=a.object({objectId:a.string()}),Jn=N.extend({id:a.string()}),Yn={list:operation({name:`schemaObjects.list`,method:`GET`,path:`/schema/objects`,input:a.object(qn),output:type(),permission:[`architect`,`read`],throttle:`skip`}),get:operation({name:`schemaObjects.get`,method:`GET`,path:`/schema/objects/:objectIdOrName`,input:a.object({objectIdOrName:a.string()}),output:type(),permission:[`architect`,`read`],throttle:`skip`}),create:operation({name:`schemaObjects.create`,method:`POST`,path:`/schema/objects`,input:unchecked(),output:type(),permission:[`architect`,`create`],throttle:`skip`}),update:operation({name:`schemaObjects.update`,method:`PUT`,path:`/schema/objects/:objectId`,input:N.and(unchecked()),output:type(),permission:[`architect`,`update`],throttle:`skip`}),delete:operation({name:`schemaObjects.delete`,method:`DELETE`,path:`/schema/objects/:objectId`,input:N,output:type(),permission:[`architect`,`delete`],status:204,throttle:`skip`}),attributes:operation({name:`schemaObjects.attributes`,method:`GET`,path:`/schema/objects/:objectId/attributes`,input:N.extend(qn),output:type(),permission:[`architect`,`read`],throttle:`skip`}),addAttribute:operation({name:`schemaObjects.addAttribute`,method:`POST`,path:`/schema/objects/:objectId/attributes`,input:N.and(unchecked()),output:type(),permission:[`architect`,`create`],throttle:`skip`}),updateAttribute:operation({name:`schemaObjects.updateAttribute`,method:`PUT`,path:`/schema/objects/:objectId/attributes/:id`,input:Jn.and(unchecked()),output:type(),permission:[`architect`,`update`],throttle:`skip`}),deleteAttribute:operation({name:`schemaObjects.deleteAttribute`,method:`DELETE`,path:`/schema/objects/:objectId/attributes/:id`,input:Jn,output:type(),permission:[`architect`,`delete`],status:204,throttle:`skip`})},P={session:unchecked().optional()},Xn={get:operation({name:`schemaDraft.get`,method:`GET`,path:`/schema/draft`,input:a.object(P),output:type(),permission:[`architect`,`read`],throttle:`skip`}),projection:operation({name:`schemaDraft.projection`,method:`GET`,path:`/schema/draft/projection`,input:a.object({...P,objectName:unchecked().optional(),viewName:unchecked().optional()}),output:type(),permission:[`architect`,`read`],throttle:`skip`}),commandGuard:operation({name:`schemaDraft.commandGuard`,method:`POST`,path:`/schema/draft/command-guard`,input:a.object(P).and(unchecked()),query:[`session`],output:type(),permission:[`architect`,`read`],status:200,throttle:`skip`}),append:operation({name:`schemaDraft.append`,method:`POST`,path:`/schema/draft/operations`,input:a.object(P).and(unchecked()),query:[`session`],output:type(),throttle:`skip`}),removeOperation:operation({name:`schemaDraft.removeOperation`,method:`DELETE`,path:`/schema/draft/operations/:operationId`,input:a.object({operationId:a.string(),...P}).and(unchecked()),query:[`session`],output:type(),throttle:`skip`}),publish:operation({name:`schemaDraft.publish`,method:`POST`,path:`/schema/draft/publish`,input:a.object(P).and(unchecked()),query:[`session`],output:type(),throttle:`skip`}),discard:operation({name:`schemaDraft.discard`,method:`DELETE`,path:`/schema/draft`,input:a.object(P).and(unchecked()),query:[`session`],output:type(),status:204,throttle:`skip`})},Zn=a.object({folderPath:a.string().optional(),public:a.enum([`true`,`false`]).optional()}),Qn=a.object({limit:a.coerce.number().int().min(1).optional(),offset:a.coerce.number().int().min(0).optional(),folderPath:a.string().optional(),mimeType:a.string().optional()}),$n=a.strictObject({name:a.string().optional(),folderPath:a.string().optional()}),er=a.object({ids:a.array(a.string()).min(1).max(200),variant:a.enum([`original`,`thumbnail`]).optional()}),tr=a.object({id:a.string()}),nr={upload:operation({name:`files.upload`,method:`POST`,path:`/files/upload`,input:Zn,output:type(),permission:[`files`,`create`],actor:`required`,throttle:{limit:20,ttlMs:6e4},upload:{field:`files`,maxCount:10,maxBytes:52428800}}),list:operation({name:`files.list`,method:`GET`,path:`/files`,input:Qn,output:type(),permission:[`files`,`read`]}),publicFilesUrl:operation({name:`files.publicFilesUrl`,method:`GET`,path:`/files/public-files-url`,input:a.object({}),output:type()}),signedUrls:operation({name:`files.signedUrls`,method:`POST`,path:`/files/urls`,input:er,output:type(),permission:[`files`,`read`]}),get:operation({name:`files.get`,method:`GET`,path:`/files/:id`,input:tr,output:type(),permission:[`files`,`read`]}),update:operation({name:`files.update`,method:`PUT`,path:`/files/:id`,input:$n.extend(tr.shape),output:type(),permission:[`files`,`update`]}),signedUrl:operation({name:`files.signedUrl`,method:`GET`,path:`/files/:id/url`,input:tr,output:type(),permission:[`files`,`read`],actor:`required`})};function queryInteger(e){return a.preprocess(t=>e(typeof t==`string`||typeof t==`number`?t:void 0),a.number().int().optional()).optional()}const rr=a.object({limit:queryInteger(parsePositiveInteger),offset:queryInteger(parseNonNegativeInteger)}),ir=a.object({title:a.string(),parentId:a.string().nullish(),kind:a.enum([`file`,`folder`]).optional(),description:a.string().optional(),position:a.number().optional(),objectName:a.string().min(1),sourceRecordId:a.string().min(1),attributeName:a.string().min(1)}),ar=a.object({limit:queryInteger(parsePositiveInteger),offset:queryInteger(parseNonNegativeInteger),q:a.string().optional(),includeDrives:a.string().optional(),ids:a.string().optional()}),or=a.object({name:a.string()}),F=a.object({id:a.string()}),sr=F.extend({fileId:a.string()}),cr={list:operation({name:`documents.list`,method:`GET`,path:`/documents`,input:rr,output:type(),permission:[`documents`,`read`]}),recordOwners:operation({name:`documents.recordOwners`,method:`GET`,path:`/documents/record-owners`,input:ar,output:type(),permission:[`documents`,`read`]}),get:operation({name:`documents.get`,method:`GET`,path:`/documents/:id`,input:F,output:type(),permission:[`documents`,`read`]}),create:operation({name:`documents.create`,method:`POST`,path:`/documents`,input:ir,output:type(),permission:[`documents`,`create`]}),delete:operation({name:`documents.delete`,method:`DELETE`,path:`/documents/:id`,input:F,output:type(),permission:[`documents`,`delete`],status:204}),restore:operation({name:`documents.restore`,method:`POST`,path:`/documents/:id/restore`,input:F,output:type(),permission:[`documents`,`delete`],status:200}),files:operation({name:`documents.files`,method:`GET`,path:`/documents/:id/files`,input:F,output:type(),permission:[`documents`,`read`]}),addFile:operation({name:`documents.addFile`,method:`POST`,path:`/documents/:id/files`,input:F.extend({fileId:a.string().min(1)}),output:type(),permission:[`documents`,`update`]}),removeFile:operation({name:`documents.removeFile`,method:`DELETE`,path:`/documents/:id/files/:fileId`,input:sr,output:type(),permission:[`documents`,`update`],status:204}),fileContent:operation({name:`documents.fileContent`,method:`GET`,path:`/documents/:id/files/:fileId/content`,input:sr,output:type(),permission:[`documents`,`read`],response:`bytes`}),preview:operation({name:`documents.preview`,method:`GET`,path:`/documents/:id/preview`,input:F,output:type(),permission:[`documents`,`read`],jsonNull:!0}),rename:operation({name:`documents.rename`,method:`POST`,path:`/documents/:id/rename`,input:F.extend(or.shape),output:type(),permission:[`documents`,`update`]}),content:operation({name:`documents.content`,method:`GET`,path:`/documents/:id/content`,input:F,output:type(),permission:[`documents`,`read`],response:`bytes`})},lr=a.object({title:a.string(),parentId:a.string().nullish(),description:a.string().optional(),recordId:a.string().optional(),position:a.number().optional()}),ur=a.object({title:a.string()}),dr=a.object({parentId:a.string().min(1).optional(),sort:a.enum(n.DOCUMENT_SORT_MODES).default(`manual`),cursor:a.string().min(1).max(n.RECORD_DRIVE_CURSOR_MAX_LENGTH).optional(),limit:a.preprocess(e=>parseBoundedPositiveInteger(typeof e==`string`||typeof e==`number`?e:void 0,{defaultValue:100,max:500}),a.number().int())}),fr=a.object({toParentId:unchecked().optional(),position:unchecked().optional(),toRecordId:unchecked().optional()}),pr=`toRecordId is required to copy a document.`,mr=a.object({toRecordId:a.string({error:pr}).min(1,pr),toParentId:unchecked().optional()}),hr=a.object({presetId:unchecked().optional(),objectName:unchecked().optional(),parentFolderId:unchecked().optional()}),gr=a.object({objectName:unchecked().optional(),paths:unchecked(),mode:unchecked().optional()}),I=a.object({id:a.string()}),L=a.object({recordId:a.string()}),_r={children:operation({name:`folders.children`,method:`GET`,path:`/folders/record-drive/:recordId/children`,input:L.extend({parentId:a.string().optional()}),output:type()}),childrenPage:operation({name:`folders.childrenPage`,method:`GET`,path:`/folders/record-drive/:recordId/children/page`,input:L.extend(dr.shape),output:type()}),search:operation({name:`folders.search`,method:`GET`,path:`/folders/record-drive/:recordId/search`,input:L.extend({q:a.string().optional()}),output:type(),permission:[`documents`,`read`]}),archived:operation({name:`folders.archived`,method:`GET`,path:`/folders/record-drive/:recordId/archived`,input:L.extend({scopeParentId:a.string().optional()}),output:type(),permission:[`documents`,`read`]}),recordFolders:operation({name:`folders.recordFolders`,method:`GET`,path:`/folders/record-drive/:recordId`,input:L,output:type()}),instantiatePreset:operation({name:`folders.instantiatePreset`,method:`POST`,path:`/folders/record-drive/:recordId/instantiate-preset`,input:L.extend(hr.shape),output:type()}),reconcilePaths:operation({name:`folders.reconcilePaths`,method:`POST`,path:`/folders/record-drive/:recordId/reconcile-paths`,input:L.extend(gr.shape),output:type()}),ancestors:operation({name:`folders.ancestors`,method:`GET`,path:`/folders/:id/ancestors`,input:I,output:type()}),create:operation({name:`folders.create`,method:`POST`,path:`/folders`,input:lr,output:type(),permission:[`documents`,`create`]}),rename:operation({name:`folders.rename`,method:`PATCH`,path:`/folders/:id`,input:I.extend(ur.shape),output:type(),permission:[`documents`,`update`]}),move:operation({name:`folders.move`,method:`POST`,path:`/folders/:id/move`,input:I.extend(fr.shape),output:type(),permission:[`documents`,`update`]}),copy:operation({name:`folders.copy`,method:`POST`,path:`/folders/:id/copy`,input:I.extend(mr.shape),output:type(),permission:[`documents`,`create`]}),delete:operation({name:`folders.delete`,method:`DELETE`,path:`/folders/:id`,input:I,output:type(),permission:[`documents`,`delete`]}),restore:operation({name:`folders.restore`,method:`POST`,path:`/folders/:id/restore`,input:I,output:type(),permission:[`documents`,`delete`]})},R=a.object({provider:a.enum(n.PROVIDER_NAMES),model:a.string().min(1),maxTokens:a.number().int().positive().optional()}),vr=a.object({maxRetries:a.number().int().min(0).max(10),backoffMs:a.number().int().min(100),backoffMultiplier:a.number().min(1).max(10)}),yr=a.object({inference:n.agentInferencePreferencesSchema.optional(),maxConcurrentRuns:a.number().int().min(1).max(100),retryPolicy:vr,costLimitUsd:a.number().finite().nonnegative().optional()}),z=a.object({enabled:a.boolean(),model:R.optional(),systemPrompt:a.string().optional(),maxRetries:a.number().int().min(0).optional()}),B={tools:a.never().optional(),mcpServers:a.never().optional(),canDelegate:a.never().optional()},V=a.string(),br=a.object({days:a.coerce.number().int().min(1).max(366).default(182)}),H=a.enum([`agent`,`routine`]),xr=a.array(a.string().min(1).max(200)).max(100),Sr=a.object({kind:H.default(`agent`),name:a.string().min(1).max(100),avatar:n.agentAvatarSchema.optional(),starters:n.agentStartersSchema.optional(),description:a.string().max(500).optional(),systemPrompt:a.string().max(2e4).default(``),model:R,toolGroups:xr.optional(),config:yr.optional().default(n.DEFAULT_AGENT_EXECUTION_CONFIG),schedule:n.agentScheduleSchema.optional(),maxDepth:a.number().int().min(0).optional(),maxTreeCostUsd:a.number().positive().optional(),critic:z.optional(),autoDecide:a.boolean().optional(),visibility:a.enum([`workspace`,`private`]).default(`workspace`),harness:x.optional(),environmentId:a.guid().optional(),...B}).refine(e=>e.kind===`routine`||e.systemPrompt.length>=10,{message:`systemPrompt must be at least 10 characters`,path:[`systemPrompt`]}),U=a.object({kind:H.optional(),name:a.string().min(1).max(100).optional(),avatar:n.agentAvatarSchema.nullable().optional(),starters:n.agentStartersSchema.nullable().optional(),description:a.string().max(500).nullable().optional(),systemPrompt:a.string().max(2e4).optional(),model:R.optional(),toolGroups:xr.optional(),config:yr.optional(),schedule:n.agentScheduleSchema.nullable().optional(),maxDepth:a.number().int().min(0).nullable().optional(),maxTreeCostUsd:a.number().positive().nullable().optional(),critic:z.nullable().optional(),autoDecide:a.boolean().nullable().optional(),visibility:a.enum([`workspace`,`private`]).optional(),harness:x.nullable().optional(),environmentId:a.guid().nullable().optional(),...B}),Cr=a.object({id:a.guid().optional(),revision:a.string().optional(),definition:U.omit({schedule:!0}).extend({kind:H.optional()}),schedule:n.agentScheduleSchema.omit({enabled:!0}).strict().nullable().optional(),triggers:a.array(n.refineTrigger(n.agentTriggerBaseSchema.omit({enabled:!0}).extend({id:a.guid().optional()}))).max(20).optional(),removeTriggerIds:a.array(a.guid()).max(20).optional()}).refine(e=>!e.id||!!e.revision,{message:`revision is required with id`,path:[`revision`]}).superRefine((e,t)=>{if(!e.id)for(let n of[`kind`,`name`,`model`])e.definition[n]===void 0&&t.addIssue({code:`custom`,message:`${n} is required to create a definition`,path:[`definition`,n]})}),wr=a.object({kind:H.optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional(),includeDeleted:a.string().transform(e=>e===`true`).optional()}),Tr=a.object({active:a.boolean()}),Er=a.object({roleIds:a.array(a.guid()).min(0).max(50)}),Dr=a.object({key:unchecked(),value:unchecked(),isSensitive:unchecked().optional()}),W=a.object({id:V}),Or={list:operation({name:`agentDefinitions.list`,method:`GET`,path:`/agents/definitions`,input:wr,output:type(),permission:[`agents`,`read`]}),activity:operation({name:`agentDefinitions.activity`,method:`GET`,path:`/agents/definitions/activity`,input:a.object({}),output:type(),permission:[`agents`,`read`]}),dailyActivity:operation({name:`agentDefinitions.dailyActivity`,method:`GET`,path:`/agents/definitions/activity/daily`,input:br,output:type(),permission:[`agents`,`read`]}),setup:operation({name:`agentDefinitions.setup`,method:`POST`,path:`/agents/definitions/setup`,input:Cr,output:type(),permission:[`agents`,`create`]}),toolCatalog:operation({name:`agentDefinitions.toolCatalog`,method:`GET`,path:`/agents/definitions/:id/tool-catalog`,input:W,output:type(),permission:[`agents`,`read`]}),get:operation({name:`agentDefinitions.get`,method:`GET`,path:`/agents/definitions/:id`,input:W,output:type(),permission:[`agents`,`read`]}),create:operation({name:`agentDefinitions.create`,method:`POST`,path:`/agents/definitions`,input:Sr,output:type(),permission:[`agents`,`create`]}),update:operation({name:`agentDefinitions.update`,method:`PATCH`,path:`/agents/definitions/:id`,input:U.extend(W.shape),output:type(),permission:[`agents`,`update`]}),setActive:operation({name:`agentDefinitions.setActive`,method:`POST`,path:`/agents/definitions/:id/activation`,input:Tr.extend(W.shape),output:type(),permission:[`agents`,`manage`]}),archive:operation({name:`agentDefinitions.archive`,method:`DELETE`,path:`/agents/definitions/:id`,input:W,output:type(),permission:[`agents`,`delete`],status:204}),restore:operation({name:`agentDefinitions.restore`,method:`PATCH`,path:`/agents/definitions/:id/restore`,input:W,output:type(),permission:[`agents`,`update`]})},kr={list:operation({name:`agentRoles.list`,method:`GET`,path:`/agents/definitions/:id/roles`,input:W,output:type(),permission:[`people`,`read`]}),set:operation({name:`agentRoles.set`,method:`PUT`,path:`/agents/definitions/:id/roles`,input:Er.extend(W.shape),output:type(),permission:[`people`,`update`]})},Ar={list:operation({name:`agentEnvVars.list`,method:`GET`,path:`/agents/definitions/:id/env-vars`,input:W,output:type(),permission:[`env-vars`,`read`]}),upsert:operation({name:`agentEnvVars.upsert`,method:`POST`,path:`/agents/definitions/:id/env-vars`,input:Dr.extend(W.shape),output:type(),permission:[`env-vars`,`create`]}),delete:operation({name:`agentEnvVars.delete`,method:`DELETE`,path:`/agents/definitions/:id/env-vars/:envVarId`,input:W.extend({envVarId:V}),output:type(),permission:[`env-vars`,`delete`],status:204})},jr=a.object({input:a.record(a.string(),a.unknown())}),Mr=a.object({definitionId:a.string().optional(),definitionKind:a.enum([`agent`,`routine`]).optional(),status:a.enum([`pending`,`running`,`completed`,`failed`,`cancelled`,`paused`]).optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional()}).refine(e=>e.definitionId!==void 0||e.definitionKind!==void 0,{message:`definitionId or definitionKind is required`,path:[`definitionId`]}),Nr={launch:operation({name:`agentRuns.launch`,method:`POST`,path:`/agents/:definitionId/run`,input:jr.extend({definitionId:V}),output:type(),permission:[`agents`,`manage`]}),list:operation({name:`agentRuns.list`,method:`GET`,path:`/agents/runs`,input:Mr,output:type(),permission:[`agents`,`read`]}),cancel:operation({name:`agentRuns.cancel`,method:`PATCH`,path:`/agents/runs/:id/cancel`,input:a.object({id:V}),output:type(),permission:[`agents`,`manage`]})},Pr=n.agentTriggerBaseSchema.extend({definitionId:a.guid()}),Fr=n.refineTrigger(Pr),Ir=n.agentTriggerPatchSchema,Lr=a.object({definitionId:a.guid().optional(),eventType:a.string().optional(),enabled:a.string().transform(e=>e===`true`).optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional()}),G=a.object({id:V}),Rr={create:operation({name:`agentTriggers.create`,method:`POST`,path:`/agents/triggers`,input:Fr,output:type(),permission:[`agents`,`manage`]}),list:operation({name:`agentTriggers.list`,method:`GET`,path:`/agents/triggers`,input:Lr,output:type(),permission:[`agents`,`read`]}),get:operation({name:`agentTriggers.get`,method:`GET`,path:`/agents/triggers/:id`,input:G,output:type(),permission:[`agents`,`read`]}),update:operation({name:`agentTriggers.update`,method:`PATCH`,path:`/agents/triggers/:id`,input:Ir.extend(G.shape),output:type(),permission:[`agents`,`manage`]}),rotateWebhook:operation({name:`agentTriggers.rotateWebhook`,method:`POST`,path:`/agents/triggers/:id/rotate-webhook`,input:G,output:type(),permission:[`agents`,`manage`]}),delete:operation({name:`agentTriggers.delete`,method:`DELETE`,path:`/agents/triggers/:id`,input:G,output:type(),permission:[`agents`,`manage`],status:204})},zr=a.object({systemPrompt:a.string().min(1),model:R,inference:n.agentInferencePreferencesSchema.optional(),costLimitUsd:a.number().finite().nonnegative().nullable().optional(),maxDepth:a.number().int().min(0),maxTreeCostUsd:a.number().positive().optional(),critic:z.optional(),toolGroups:a.array(a.string().min(1).max(200)).max(20),...B}),Br=a.object({mode:a.enum([`interactive`,`autonomous`]),definitionId:a.string().optional(),inlineConfig:zr.optional(),missionPrompt:a.string().optional(),name:a.string().max(120).optional(),metadata:a.record(a.string(),a.unknown()).optional(),inferenceOverrides:n.agentSessionInferenceOverridesInputSchema.optional(),harness:x.optional(),environmentId:a.guid().optional(),id:a.string().uuid().optional()}),Vr=a.object({q:a.string().max(200).optional(),definitionId:a.string().optional(),mode:a.enum([`interactive`,`autonomous`]).optional(),parentSessionId:a.string().optional(),rootSessionId:a.string().optional(),phase:a.enum([`idle`,`running`,`parked`]).optional(),outcome:a.enum(n.TURN_OUTCOMES).optional(),orderBy:a.enum(n.AGENT_SESSION_LIST_ORDERS).optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional(),includeArchived:a.string().transform(e=>e===`true`).optional()}).strict(),Hr=a.object({question:a.string().max(n.AGENT_ASIDE_QUESTION_MAX_LENGTH),answer:a.string().max(n.AGENT_ASIDE_ANSWER_MAX_LENGTH)}).strict(),Ur=a.object({question:a.string().trim().min(1).max(n.AGENT_ASIDE_QUESTION_MAX_LENGTH),exchanges:a.array(Hr).max(20).optional()}).strict(),Wr=a.strictObject({id:a.string().uuid().optional(),aside:Hr.extend({question:a.string().trim().min(1).max(n.AGENT_ASIDE_QUESTION_MAX_LENGTH)}).optional()}),Gr=a.strictObject({turnId:a.string().uuid().optional(),clientMessageId:a.string().uuid().optional()}),Kr=a.strictObject({posture:a.enum([`architect`,`manual`,`auto`])}),qr=[`harnessState`,`harness`,`environmentId`];function dropServerManagedSessionFields(e){if(typeof e!=`object`||!e||Array.isArray(e))return e;let t={...e};for(let e of qr)delete t[e];return t}const K={id:V},q=a.object(K),Jr=a.preprocess(dropServerManagedSessionFields,a.strictObject({...K,name:a.string().trim().min(1).max(120)})),Yr=a.strictObject({...K,...n.sessionInferencePatchSchema.shape}).refine(({id:e,...t})=>n.isSessionInferencePatch(t),{message:`At least one inference override is required`}),Xr={create:operation({name:`agentSessions.create`,method:`POST`,path:`/agents/sessions`,input:Br,output:type(),permission:[`agents`,`read`],actor:`required`}),list:operation({name:`agentSessions.list`,method:`GET`,path:`/agents/sessions`,input:Vr,output:type(),actor:`required`}),get:operation({name:`agentSessions.get`,method:`GET`,path:`/agents/sessions/:id`,input:q,output:type(),actor:`required`}),imageUsage:operation({name:`agentSessions.imageUsage`,method:`GET`,path:`/agents/sessions/:id/image-usage`,input:q,output:type(),actor:`required`}),conversationOverview:operation({name:`agentSessions.conversationOverview`,method:`GET`,path:`/agents/sessions/:id/conversation-overview`,input:q,output:type(),actor:`required`}),link:operation({name:`agentSessions.link`,method:`GET`,path:`/agents/sessions/:id/link`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`}),todoPlan:operation({name:`agentSessions.todoPlan`,method:`GET`,path:`/agents/sessions/:id/todo-plan`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`,jsonNull:!0}),rename:operation({name:`agentSessions.rename`,method:`PATCH`,path:`/agents/sessions/:id`,input:Jr,output:type(),permission:[`agents`,`read`],actor:`required`}),archive:operation({name:`agentSessions.archive`,method:`PATCH`,path:`/agents/sessions/:id/archive`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`}),restore:operation({name:`agentSessions.restore`,method:`PATCH`,path:`/agents/sessions/:id/restore`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`}),markRead:operation({name:`agentSessions.markRead`,method:`PATCH`,path:`/agents/sessions/:id/read`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`}),cancel:operation({name:`agentSessions.cancel`,method:`DELETE`,path:`/agents/sessions/:id`,input:Gr.extend(K),output:type(),permission:[`agents`,`read`],actor:`required`}),setInferenceOverrides:operation({name:`agentSessions.setInferenceOverrides`,method:`PATCH`,path:`/agents/sessions/:id/inference-overrides`,input:Yr,output:type(),permission:[`agents`,`read`],actor:`required`}),setWorkPosture:operation({name:`agentSessions.setWorkPosture`,method:`POST`,path:`/agents/sessions/:id/work-posture`,input:Kr.extend(K),output:type(),permission:[`agents`,`read`],actor:`required`,status:200}),compact:operation({name:`agentSessions.compact`,method:`POST`,path:`/agents/sessions/:id/compact`,input:q,output:type(),actor:`required`,status:200}),fork:operation({name:`agentSessions.fork`,method:`POST`,path:`/agents/sessions/:sessionId/fork`,input:Wr.extend({sessionId:V}),output:type(),permission:[`agents`,`read`],actor:`required`}),stream:operation({name:`agentSessions.stream`,method:`GET`,path:`/agents/sessions/:id/stream`,input:a.object({id:V,after:a.number().int().nonnegative()}),output:type(),response:`events`,actor:`required`}),aside:operation({name:`agentSessions.aside`,method:`POST`,path:`/agents/sessions/:id/aside`,input:Ur.extend({id:V}),output:type(),status:200,response:`events`,permission:[`agents`,`read`],actor:`required`})},Zr=a.object({id:a.string().min(1),type:a.string().min(1),entityId:a.string().min(1),label:a.string().min(1),objectName:a.string().min(1).optional(),startIndex:a.number().int().min(0),endIndex:a.number().int().min(0)}),Qr=a.object({id:a.string().min(1),name:a.string().min(1),mimeType:a.string().min(1),size:a.number().int().min(0)}),$r=a.object({content:a.string(),clientMessageId:a.string().uuid().optional(),model:a.object({provider:a.string(),model:a.string(),maxTokens:a.number().optional()}).optional(),attachments:a.array(Qr).max(o.AI_CHAT_MAX_FILES).optional(),mentions:a.array(Zr).optional(),quotes:a.array(n.artifactQuoteSchema).optional(),timezone:a.string().max(64).optional()}).refine(e=>e.content.trim().length>0||(e.attachments?.length??0)>0,{message:`Message must have content or at least one attachment`,path:[`content`]}),ei=a.strictObject({content:a.string()}),ti=a.object({history:a.literal(`1`).optional(),before:a.string().min(1).max(512).optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional()}).superRefine((e,t)=>{e.history===`1`&&e.limit!==void 0&&e.limit>100&&t.addIssue({code:`custom`,path:[`limit`],message:`History limit must be at most 100`}),e.before!==void 0&&e.history!==`1`&&t.addIssue({code:`custom`,path:[`before`],message:`Cursor requires history mode`}),e.history===`1`&&e.offset!==void 0&&t.addIssue({code:`custom`,path:[`offset`],message:`Offset is unavailable in history mode`})}),J={id:V},ni={...J,messageId:V},ri={send:operation({name:`agentMessages.send`,method:`POST`,path:`/agents/sessions/:id/messages`,input:$r.safeExtend(J),output:type(),permission:[`agents`,`read`],actor:`required`}),list:operation({name:`agentMessages.list`,method:`GET`,path:`/agents/sessions/:id/messages`,input:ti.safeExtend(J),output:type(),actor:`required`}),edit:operation({name:`agentMessages.edit`,method:`PATCH`,path:`/agents/sessions/:id/messages/:messageId`,input:ei.extend(ni),output:type(),permission:[`agents`,`read`],actor:`required`}),withdraw:operation({name:`agentMessages.withdraw`,method:`DELETE`,path:`/agents/sessions/:id/messages/:messageId`,input:a.object(ni),output:type(),permission:[`agents`,`read`],actor:`required`}),readNow:operation({name:`agentMessages.readNow`,method:`PATCH`,path:`/agents/sessions/:id/agent-read`,input:a.object(J),output:type(),permission:[`agents`,`read`],actor:`required`})},ii=a.strictObject({approved:a.boolean(),reason:a.string().max(2e3).optional()}),ai=a.string().max(n.ASK_QUESTIONS_ANSWER_MAX_LENGTH),oi=a.strictObject({skipped:a.boolean(),answers:a.record(a.string().max(n.ASK_QUESTIONS_ANSWER_MAX_LENGTH),a.union([ai,a.array(ai).max(50)])).refine(e=>Object.keys(e).length<=4,{message:`At most 4 answers`})}),si=a.strictObject({mode:a.enum([`manual`,`auto`])}),ci={resolve:operation({name:`agentApprovals.resolve`,method:`POST`,path:`/agents/sessions/:sessionId/approvals/:approvalId`,input:ii.extend({sessionId:V,approvalId:V}),output:type(),permission:[`agents`,`read`],actor:`required`,status:200}),answer:operation({name:`agentApprovals.answer`,method:`POST`,path:`/agents/sessions/:sessionId/requests/:requestId/answer`,input:oi.extend({sessionId:V,requestId:V}),output:type(),permission:[`agents`,`read`],actor:`required`,status:200}),setMode:operation({name:`agentApprovals.setMode`,method:`PATCH`,path:`/agents/sessions/:id/approval-mode`,input:si.extend({id:V}),output:type(),permission:[`agents`,`read`],actor:`required`})},li=2e4,ui=1e3,di=209715200,Y=a.object({objectName:a.string()}),X=Y.extend({id:a.string()}),Z={headerTimezone:unchecked().optional()},Q={relationScope:unchecked().optional(),group:unchecked().optional(),sorts:unchecked().optional(),filters:unchecked().optional(),userFilters:unchecked().optional(),timezone:unchecked().optional(),fields:unchecked().optional(),visibility:a.unknown().optional()},fi=a.object({limit:a.number().min(0).refine(Number.isInteger,{message:`must be an integer`}).optional(),offset:unchecked().optional(),countMode:unchecked().optional()}),pi=fi.extend(Q),mi=fi.extend({...Q,q:a.string()}),hi=a.object({query:a.custom(e=>typeof e==`object`&&!!e),measure:a.enum(e.AGGREGATE_MEASURES),attribute:a.string().min(1).optional(),groupBy:unchecked().optional(),groupBy2:unchecked().optional(),compare:unchecked().optional(),userFilters:Q.userFilters,timezone:Q.timezone,hostRecordId:a.string().min(1).optional()}).strict(),gi=a.looseObject({data:a.record(a.string(),a.unknown()),options:unchecked().optional()}),_i=a.looseObject({records:a.array(unchecked()).max(100),options:unchecked().optional()}),vi=a.object({updates:a.array(unchecked()).max(100)}),yi=a.object({ids:a.array(unchecked()).max(100)}),bi=a.object({icon:i.iconNameSchema}).strict(),xi=a.object({visibility:a.unknown().optional()}),Si=Y.extend({deleted:unchecked().optional(),limit:unchecked().optional(),offset:unchecked().optional(),countMode:unchecked().optional()}),Ci=a.object({objectName:a.string(),id:a.string(),ifMatch:unchecked().optional(),values:a.record(a.string(),a.unknown())}),wi=X.extend({title:unchecked().optional(),attributeName:unchecked().optional(),documentId:unchecked().optional(),properties:unchecked().optional(),parentId:unchecked().optional(),position:unchecked().optional()}),Ti=a.object({...Q,q:a.string().optional(),columns:a.array(a.string()).min(1).max(ui),ids:a.array(a.string()).max(li).optional(),filename:a.string().max(120).optional(),locale:a.string().optional()}),Ei={listGet:operation({name:`records.listGet`,method:`GET`,path:`/records/:objectName`,input:Si,output:type(),objectPermission:{param:`objectName`,action:`read`}}),list:operation({name:`records.list`,method:`POST`,path:`/records/:objectName/list`,input:Y.extend({...pi.shape,...Z}),output:type(),status:200,headers:{headerTimezone:`x-timezone`},objectPermission:{param:`objectName`,action:`read`}}),aggregate:operation({name:`records.aggregate`,method:`POST`,path:`/records/:objectName/aggregate`,input:hi.extend({objectName:a.string(),...Z}).strict(),output:type(),status:200,headers:{headerTimezone:`x-timezone`},objectPermission:{param:`objectName`,action:`read`}}),search:operation({name:`records.search`,method:`POST`,path:`/records/:objectName/search`,input:Y.extend({...mi.shape,...Z}),output:type(),status:200,headers:{headerTimezone:`x-timezone`},objectPermission:{param:`objectName`,action:`read`}}),bulkDelete:operation({name:`records.bulkDelete`,method:`POST`,path:`/records/:objectName/bulk-delete`,input:Y.extend(yi.shape),output:type(),status:200,objectPermission:{param:`objectName`,action:`delete`}}),bulkCreate:operation({name:`records.bulkCreate`,method:`POST`,path:`/records/:objectName/bulk-create`,input:_i.extend({objectName:a.string()}),output:type(),objectPermission:{param:`objectName`,action:`create`}}),bulkUpdate:operation({name:`records.bulkUpdate`,method:`POST`,path:`/records/:objectName/bulk-update`,input:Y.extend(vi.shape),output:type(),status:200,objectPermission:{param:`objectName`,action:`update`}}),setVisibility:operation({name:`records.setVisibility`,method:`PATCH`,path:`/records/:objectName/:recordId/visibility`,input:Y.extend({recordId:a.string(),...xi.shape}),output:type(),objectPermission:{param:`objectName`,action:`update`}}),setIcon:operation({name:`records.setIcon`,method:`PUT`,path:`/records/:objectName/:recordId/appearance`,input:bi.extend({objectName:a.string(),recordId:a.string()}).strict(),output:type(),objectPermission:{param:`objectName`,action:`update`}}),setImage:operation({name:`records.setImage`,method:`PUT`,path:`/records/:objectName/:recordId/image`,input:Y.extend({recordId:a.string()}),output:type(),upload:{field:`file`,maxCount:1,maxBytes:n.RECORD_IMAGE_MAX_BYTES},objectPermission:{param:`objectName`,action:`update`}}),clearAppearance:operation({name:`records.clearAppearance`,method:`DELETE`,path:`/records/:objectName/:recordId/appearance`,input:Y.extend({recordId:a.string()}),output:type(),objectPermission:{param:`objectName`,action:`update`}}),get:operation({name:`records.get`,method:`GET`,path:`/records/:objectName/:id`,input:X.extend({includeDeleted:unchecked().optional()}),output:type(),objectPermission:{param:`objectName`,action:`read`}}),restore:operation({name:`records.restore`,method:`POST`,path:`/records/:objectName/:id/restore`,input:X,output:type(),status:200,objectPermission:{param:`objectName`,action:`delete`}}),purge:operation({name:`records.purge`,method:`POST`,path:`/records/:objectName/:id/purge`,input:X,output:type(),status:200,objectPermission:{param:`objectName`,action:`manage`}}),create:operation({name:`records.create`,method:`POST`,path:`/records/:objectName`,input:gi.extend({objectName:a.string()}),output:type(),objectPermission:{param:`objectName`,action:`create`}}),update:operation({name:`records.update`,method:`PUT`,path:`/records/:objectName/:id`,input:Ci,output:type(),headers:{ifMatch:`if-match`},body:`values`,objectPermission:{param:`objectName`,action:`update`}}),delete:operation({name:`records.delete`,method:`DELETE`,path:`/records/:objectName/:id`,input:X,output:type(),status:204,objectPermission:{param:`objectName`,action:`delete`}}),attachDocument:operation({name:`records.attachDocument`,method:`POST`,path:`/records/:objectName/:id/documents/attach`,input:wi,output:type(),upload:{field:`files`,maxCount:1,maxBytes:di},objectPermission:{param:`objectName`,action:`update`}}),documents:operation({name:`records.documents`,method:`GET`,path:`/records/:objectName/:id/documents`,input:X,output:type(),objectPermission:{param:`objectName`,action:`read`}}),export:operation({name:`records.export`,method:`POST`,path:`/records/:objectName/export`,input:Y.extend(Ti.shape),output:type(),status:200,response:`bytes`,objectPermission:{param:`objectName`,action:`read`}})},Di=a.object({role:a.enum(n.RECORD_ACCESS_ROLES,{error:`role must be one of: ${n.RECORD_ACCESS_ROLES.join(`, `)}`})}),Oi=a.object({objectName:a.string(),recordId:p}),ki=Oi.extend({actorId:p}),Ai={list:operation({name:`recordAccess.list`,method:`GET`,path:`/records/:objectName/:recordId/access`,input:Oi,output:type(),objectPermission:{param:`objectName`,action:`read`}}),grant:operation({name:`recordAccess.grant`,method:`PUT`,path:`/records/:objectName/:recordId/access/:actorId`,input:ki.extend(Di.shape),output:type(),objectPermission:{param:`objectName`,action:`update`}}),revoke:operation({name:`recordAccess.revoke`,method:`DELETE`,path:`/records/:objectName/:recordId/access/:actorId`,input:ki,output:type(),objectPermission:{param:`objectName`,action:`update`}}),clear:operation({name:`recordAccess.clear`,method:`DELETE`,path:`/records/:objectName/:recordId/access`,input:Oi,output:type(),objectPermission:{param:`objectName`,action:`update`}})},ji=a.uuid(),$=a.string().trim().min(1).max(100),Mi=a.strictObject({name:a.string().trim().min(1).max(255),version:a.string().trim().min(1).max(50)}),Ni=a.union([a.strictObject({installationId:ji,name:$,platform:a.enum([`darwin`,`linux`]),arch:a.string().trim().min(1).max(50),hostname:a.string().trim().min(1).max(255)}),a.strictObject({installationId:ji,name:$,browser:Mi})]),Pi={name:$.optional(),agentExecutionAuthorized:a.boolean().optional()};function namesAField(e){return e.name!==void 0||e.agentExecutionAuthorized!==void 0}const Fi={message:`At least one device field is required`},Ii=a.strictObject(Pi).refine(namesAField,Fi),Li=a.strictObject({installationId:ji,name:$,browser:Mi}),Ri=a.object({id:p}),zi={list:operation({name:`devices.list`,method:`GET`,path:`/devices`,input:a.object({}),output:type()}),pair:operation({name:`devices.pair`,method:`POST`,path:`/devices/pair`,input:Ni,output:type()}),update:operation({name:`devices.update`,method:`PATCH`,path:`/devices/:id`,input:a.strictObject({id:p,...Pi}).refine(namesAField,Fi),output:type()}),revoke:operation({name:`devices.revoke`,method:`DELETE`,path:`/devices/:id`,input:Ri,output:type()}),control:operation({name:`devices.control`,method:`GET`,path:`/devices/:id/control`,input:Ri,output:type()}),releaseControl:operation({name:`devices.releaseControl`,method:`DELETE`,path:`/devices/:id/control`,input:Ri,output:type(),status:204})},Bi={capabilities:operation({name:`dictation.capabilities`,method:`GET`,path:`/ai/dictation`,input:a.object({}),output:type()}),createSession:operation({name:`dictation.createSession`,method:`POST`,path:`/ai/dictation/sessions`,input:a.object({}),output:type()}),usage:operation({name:`dictation.usage`,method:`GET`,path:`/ai/dictation/usage`,input:a.object({}),output:type()})};exports.AggregateRecordsDto=hi,exports.BULK_MAX_ITEMS=100,exports.BulkCreateRecordsDto=_i,exports.BulkDeleteRecordsDto=yi,exports.BulkUpdateRecordsDto=vi,exports.CreateRecordDto=gi,exports.DICTATION_STREAM_PATH=`/ai/dictation/stream`,exports.EXPORT_MAX_COLUMNS=ui,exports.EXPORT_MAX_IDS=li,exports.ListQueryDto=pi,exports.OperationInputRefusal=OperationInputRefusal,exports.RECORD_ATTACH_MAX_BYTES=di,exports.RecordPaginationDto=fi,exports.RecordQueryFields=Q,exports.SearchQueryDto=mi,exports.SetRecordIconDto=bi,exports.SetRecordVisibilityDto=xi,exports.acceptTenantInvitationBody=ke,exports.actorListQuery=Ge,exports.actorsOperations=Ke,exports.addSharedMailboxBody=Zt,exports.adminTenantBody=M,exports.agentAccessOperations=gt,exports.agentApprovalsOperations=ci,exports.agentDefinitionsOperations=Or,exports.agentEnvVarsOperations=Ar,exports.agentMemoryOperations=_e,exports.agentMessagesOperations=ri,exports.agentRolesOperations=kr,exports.agentRunsOperations=Nr,exports.agentSessionsOperations=Xr,exports.agentTriggersOperations=Rr,exports.aiGenerateBody=me,exports.aiOperations=he,exports.answerAgentRequestBody=oi,exports.apiKeysOperations=ee,exports.applySetupBody=Cr,exports.artifactsOperations=xe,exports.asideBody=Ur,exports.asideExchangeSchema=Hr,exports.assembleOperationInput=assembleOperationInput,exports.auditListQuery=ze,exports.auditOperations=Ve,exports.browserProfilesOperations=Tt,exports.buildOperationPath=buildOperationPath,exports.bundlesOperations=Fe,exports.cancelSessionBody=Gr,exports.changeStatusBody=it,exports.cloudBrowsersOperations=Et,exports.connectMcpServerBody=Ht,exports.connectorsOperations=Qt,exports.copyDocumentBody=mr,exports.createApiKeyBody=c,exports.createBrowserProfileBody=St,exports.createDefinitionBody=Sr,exports.createDocumentBody=ir,exports.createEnvironmentBody=At,exports.createFolderBody=lr,exports.createFormBody=wn,exports.createMailDraftBody=fn,exports.createRoleBody=ct,exports.createSessionBody=Br,exports.createTenantInvitationBody=Oe,exports.createTriggerBody=Fr,exports.createUserProfileBody=tt,exports.dailyActivityQuery=br,exports.definitionActivationBody=Tr,exports.devicesOperations=zi,exports.dictationOperations=Bi,exports.documentOwnersQuery=ar,exports.documentsOperations=cr,exports.editMessageBody=ei,exports.emailCategoriesOperations=tn,exports.emailClassificationOperations=nn,exports.emailsOperations=ln,exports.embeddingsAdminOperations=zn,exports.encodePathSegment=encodePathSegment,exports.envVarsOperations=Ce,exports.environmentHarnessSchema=x,exports.environmentsOperations=Pt,exports.exportRecordsBody=Ti,exports.fileUrlsBody=er,exports.filesOperations=nr,exports.foldersOperations=_r,exports.forkSessionBody=Wr,exports.formsOperations=On,exports.geocodingAutocompleteQuery=He,exports.geocodingOperations=Ue,exports.grantAgentAccessBody=mt,exports.grantPageAccessBody=_t,exports.grantRecordAccessBody=Di,exports.harnessModelsQuery=Nt,exports.instantiatePresetBody=hr,exports.listDefinitionsQuery=wr,exports.listDocumentsQuery=rr,exports.listEnvironmentsQuery=Mt,exports.listFilesQuery=Qn,exports.listRunsQuery=Mr,exports.listSessionMessagesQuery=ti,exports.listSessionsQuery=Vr,exports.listTriggersQuery=Lr,exports.mailDraftsOperations=mn,exports.mailboxQueryBody=rn,exports.markReadBody=sn,exports.mcpServersOperations=Gt,exports.meetingsAdminOperations=Rn,exports.meetingsOperations=ue,exports.meetingsQuery=ne,exports.meetingsQueryFields=u,exports.memoryAdminOperations=Vn,exports.modelsOperations=ge,exports.moveDocumentBody=fr,exports.newsOperations=Ln,exports.notificationListQuery=Me,exports.notificationsOperations=Pe,exports.operation=operation,exports.operationGroup=operationGroup,exports.pageAccessOperations=yt,exports.pageDataBody=gn,exports.pagesOperations=vn,exports.pairDeviceBody=Ni,exports.parseBoundedNonNegativeInteger=parseBoundedNonNegativeInteger,exports.parseBoundedPositiveInteger=parseBoundedPositiveInteger,exports.parseNonNegativeInteger=parseNonNegativeInteger,exports.parsePositiveInteger=parsePositiveInteger,exports.patchMailDraftBody=pn,exports.pathParamNames=pathParamNames,exports.permissionsOperations=pt,exports.prepareBrowserProfileBody=wt,exports.privateEnvVarsOperations=we,exports.quotasOperations=de,exports.recentActivityOperations=Fn,exports.recipientSuggestionsQuery=on,exports.reconcilePathsBody=gr,exports.reconnectMcpOAuthBody=Wt,exports.recordAccessOperations=Ai,exports.recordDriveChildrenPageQuery=dr,exports.recordHistoryQuery=Be,exports.recordMailboxBody=an,exports.recordMeetingsBody=ie,exports.recordOperationsOperations=In,exports.recordsOperations=Ei,exports.registerDeviceBody=Li,exports.relationsOperations=jn,exports.renameDocumentBody=or,exports.renameFolderBody=ur,exports.renameSessionInput=Jr,exports.resetAccessBody=rt,exports.resolveApprovalBody=ii,exports.resolveRecentActivityBody=Pn,exports.resolveRelationsBatchBody=An,exports.resolveRelationsBody=kn,exports.runAgentBody=jr,exports.schemaDraftOperations=Xn,exports.schemaGroupsOperations=ve,exports.schemaObjectsOperations=Yn,exports.schemaSourcesOperations=Kn,exports.schemaStateOperations=Wn,exports.searchAdminOperations=Un,exports.searchOperations=Mn,exports.sendMessageBody=$r,exports.sessionInferenceOverridesInput=Yr,exports.setActorRolesBody=dt,exports.setAgentRolesBody=Er,exports.setApprovalModeBody=si,exports.setHomeBody=hn,exports.setMyPreferenceBody=ot,exports.setRolePermissionsBody=ut,exports.setSessionWorkPostureBody=Kr,exports.splitOperationInput=splitOperationInput,exports.startConnectorAuthBody=Xt,exports.startGitHubAuthBody=w,exports.startMcpOAuthBody=Ut,exports.tenantInvitationsOperations=Ae,exports.tenantSettingsOperations=De,exports.type=type,exports.unchecked=unchecked,exports.updateBrowserProfileBody=Ct,exports.updateDefinitionBody=U,exports.updateDeviceBody=Ii,exports.updateEnvironmentBody=jt,exports.updateFileBody=$n,exports.updateFormBody=Tn,exports.updateRoleBody=lt,exports.updateTenantSettingsBody=Ee,exports.updateTriggerBody=Ir,exports.updateUserProfileBody=nt,exports.uploadFileFields=Zn,exports.upsertAgentEnvVarBody=Dr,exports.upsertEnvVarBody=Se,exports.usageQuery=pe,exports.usersOperations=st,exports.uuidParam=p,exports.viewsOperations=yn;
|
|
2
|
+
Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../rolldown-runtime-DETHMehu.js"),t=require("../record-aggregates-Cj3p3_ce.js"),n=require("../exceptions.js"),r=require("../record-operation-BcbgQ-0b.js");require("../zod-locale.js");const i=require("../attribute-validators-CUqsP1j_.js");let a=require("zod");a=e.__toESM(a);let o=require("@standards/constants");function type(){return{}}function operationGroup(e){return e.name.slice(0,e.name.indexOf(`.`))}function operation(e){let t=e.status??(e.method===`POST`?201:200);return Object.freeze({...e,status:t})}function encodePathSegment(e){if(e===``||e===`.`||e===`..`)throw new n.ValidationError(`Invalid path segment "${e}" in a request path`,[]);return encodeURIComponent(e)}const s=/:([A-Za-z_][A-Za-z0-9_]*)/g;function pathParamNames(e){return Array.from(e.matchAll(s),e=>e[1])}function buildOperationPath(e,t){return e.path.replace(s,(e,r)=>{let i=t[r];if(i==null)throw new n.ValidationError(`Missing path parameter "${r}"`,[{path:[r],message:`Path parameter is required`}]);return encodePathSegment(String(i))})}function pick(e,t){let n=Object.entries(e).filter(([e])=>t(e));return n.length===0?void 0:Object.fromEntries(n)}function headerKeys(e){return new Map(Object.entries(e.headers??{}))}function splitOperationInput(e,t){let n=new Set(pathParamNames(e.path)),r=headerKeys(e),i=new Set(e.method===`GET`?Object.keys(t):e.query??[]),a=buildOperationPath(e,t),elsewhere=e=>n.has(e)||r.has(e),o=pick(t,e=>!elsewhere(e)&&i.has(e)),s=e.body===void 0?pick(t,e=>!(elsewhere(e)||i.has(e))):t[e.body],c=[...r].flatMap(([e,n])=>{let r=t[e];return r==null?[]:[[n,String(r)]]}),l=c.length===0?void 0:Object.fromEntries(c);return{path:a,...o?{query:o}:{},...s===void 0?{}:{body:s},...l?{headers:l}:{}}}var OperationInputRefusal=class extends n.ValidationError{constructor(e){super(`Validation failed`,e),this.name=`OperationInputRefusal`}};function refuseRepeated(e,t){if(e.length>0)throw new OperationInputRefusal(e.map(e=>({path:[e],message:t})))}function headerInput(e,t){let n=[...headerKeys(e)].flatMap(([e,n])=>{let r=t?.[n],i=Array.isArray(r)?r[0]:r;return typeof i==`string`?[[e,i]]:[]});return Object.fromEntries(n)}function assembleOperationInput(e,t){let n=e.body,r=n===void 0&&i.isPlainRecord(t.body)?t.body:{};refuseRepeated(pathParamNames(e.path).filter(e=>e in t.query||e in r),`Path parameter repeated in the request`);let a=headerInput(e,t.headers),o=new Set(e.query??[]),s=e.method===`GET`?t.query:pick(t.query,e=>o.has(e))??{};if(refuseRepeated(Object.keys(a).filter(n=>n in s||e.method!==`GET`&&n in r||n in t.params),`Header repeated in the request`),e.method===`GET`)return{...s,...a,...t.params};refuseRepeated(Object.keys(s).filter(e=>e in r),`Query parameter repeated in the request`);let c=n===void 0?{}:{[n]:t.body};return{...r,...s,...a,...c,...t.params}}const c=a.object({name:a.string().min(1),roleId:a.string().optional(),expiresAt:a.string().optional(),userProfileId:a.string().optional(),personal:a.literal(!0).optional(),permissions:a.array(a.unknown()).max(0).optional()}).strict(),l=a.object({id:a.string()}),ee={create:operation({name:`apiKeys.create`,method:`POST`,path:`/api-keys`,input:c,output:type(),permission:[`api-keys`,`create`]}),list:operation({name:`apiKeys.list`,method:`GET`,path:`/api-keys`,input:a.object({}),output:type(),permission:[`api-keys`,`read`]}),get:operation({name:`apiKeys.get`,method:`GET`,path:`/api-keys/:id`,input:l,output:type(),permission:[`api-keys`,`read`]}),detach:operation({name:`apiKeys.detach`,method:`POST`,path:`/api-keys/:id/detach`,input:l,output:type(),permission:[`api-keys`,`create`]}),revoke:operation({name:`apiKeys.revoke`,method:`DELETE`,path:`/api-keys/:id`,input:l,output:type(),permission:[`api-keys`,`delete`]})},te=a.number().int().nonnegative(),u=a.object({search:a.string().optional(),since:a.string().optional(),before:a.string().optional(),addresses:a.array(a.string()).optional(),excludeConnectionIds:a.array(a.string()).optional(),order:a.enum([`asc`,`desc`]).optional(),limit:te.optional(),offset:te.optional()}),ne=u.default({}),re=a.object({emailAttributeIds:a.array(a.string()).optional(),query:u.optional()}),ie=re.default({}),ae=a.object({connectionId:a.string(),title:a.string().min(1),startsAt:a.string(),endsAt:a.string(),isAllDay:a.boolean().optional(),attendees:a.array(a.string()).optional(),description:a.string().optional(),location:a.string().optional(),notifyAttendees:a.boolean().optional(),requestConference:a.boolean().optional()}),oe=a.object({startsAt:a.string(),endsAt:a.string(),notifyAttendees:a.boolean()}),se=a.object({attendees:a.array(a.string()).optional(),description:a.string().nullable().optional(),location:a.string().nullable().optional(),notifyAttendees:a.boolean()}),ce=a.object({notifyAttendees:a.boolean().optional()}),le=a.object({override:a.enum(r.RECORDING_OVERRIDES).nullable().optional()}),d=a.object({meetingId:a.string()}),ue={search:operation({name:`meetings.search`,method:`POST`,path:`/meetings/search`,input:ne,output:type()}),create:operation({name:`meetings.create`,method:`POST`,path:`/meetings`,input:ae,output:type()}),reschedule:operation({name:`meetings.reschedule`,method:`PATCH`,path:`/meetings/:meetingId/slot`,input:d.extend(oe.shape),output:type()}),updateDetails:operation({name:`meetings.updateDetails`,method:`PATCH`,path:`/meetings/:meetingId/details`,input:d.extend(se.shape),output:type()}),delete:operation({name:`meetings.delete`,method:`DELETE`,path:`/meetings/:meetingId`,input:d.extend(ce.shape),output:type(),status:204}),get:operation({name:`meetings.get`,method:`GET`,path:`/meetings/:meetingId`,input:d,output:type()}),transcript:operation({name:`meetings.transcript`,method:`GET`,path:`/meetings/:meetingId/transcript`,input:d,output:type()}),setRecording:operation({name:`meetings.setRecording`,method:`PUT`,path:`/meetings/:meetingId/recording`,input:d.extend(le.shape),output:type()}),forRecord:operation({name:`meetings.forRecord`,method:`POST`,path:`/meetings/records/:recordId`,input:a.object({recordId:a.string()}).extend(re.shape),output:type()})},de={list:operation({name:`quotas.list`,method:`GET`,path:`/quotas`,input:a.object({}),output:type(),permission:[`billing`,`read`]})};function unchecked(){return a.custom()}const fe=/^\d{4}-\d{2}-\d{2}$/u,pe=a.object({from:a.string().regex(fe,`from must be a YYYY-MM-DD date`),to:a.string().regex(fe,`to must be a YYYY-MM-DD date`),scope:a.enum([`me`,`workspace`]).default(`me`)}),me=a.object({type:unchecked(),input:unchecked()}),he={wallet:operation({name:`ai.wallet`,method:`GET`,path:`/ai/wallet`,input:a.object({}),output:type(),permission:[`agents`,`read`]}),usage:operation({name:`ai.usage`,method:`GET`,path:`/ai/usage`,input:pe,output:type()}),generate:operation({name:`ai.generate`,method:`POST`,path:`/ai/generate`,input:me,output:type()})},ge={list:operation({name:`models.list`,method:`GET`,path:`/agent/models`,input:a.object({}),output:type()}),images:operation({name:`models.images`,method:`GET`,path:`/agent/image-models`,input:a.object({}),output:type()}),health:operation({name:`models.health`,method:`GET`,path:`/agent/health`,input:a.object({}),output:type()})},_e={get:operation({name:`agentMemory.get`,method:`GET`,path:`/agents/definitions/:id/memory`,input:a.object({id:a.string()}),output:type(),permission:[`agents`,`read`]})},ve={list:operation({name:`schemaGroups.list`,method:`GET`,path:`/schema/groups`,input:a.object({}),output:type(),permission:[`architect`,`read`]})},ye=`revision must be a positive safe integer`,be=a.coerce.number({error:ye}).refine(e=>Number.isSafeInteger(e)&&e>=1,ye),xe={revision:operation({name:`artifacts.revision`,method:`GET`,path:`/artifacts/:artifactId/revisions/:revision`,input:a.object({artifactId:a.string(),revision:be}),output:type(),permission:[`documents`,`read`]})},Se=a.object({key:a.string().min(1),value:a.string().min(1),isSensitive:unchecked().optional()}),Ce={list:operation({name:`envVars.list`,method:`GET`,path:`/env-vars`,input:a.object({}),output:type(),permission:[`env-vars`,`read`]}),upsert:operation({name:`envVars.upsert`,method:`POST`,path:`/env-vars`,input:Se,output:type(),permission:[`env-vars`,`create`]}),delete:operation({name:`envVars.delete`,method:`DELETE`,path:`/env-vars/:id`,input:a.object({id:a.string()}),output:type(),permission:[`env-vars`,`delete`],status:204})},we={list:operation({name:`privateEnvVars.list`,method:`GET`,path:`/env-vars/private`,input:a.object({}),output:type()}),upsert:operation({name:`privateEnvVars.upsert`,method:`POST`,path:`/env-vars/private`,input:Se,output:type(),permission:[`private-secrets`,`create`],status:200}),delete:operation({name:`privateEnvVars.delete`,method:`DELETE`,path:`/env-vars/private/:id`,input:a.object({id:a.string()}),output:type(),status:204})};function classValidatorLength(e){let t=e.match(/(?!️|︎)[\s\S](?:️|︎)/g)??[],n=e.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g)??[];return e.length-t.length-n.length}const Te=a.string().regex(r.MEMORY_SPEND_LIMIT_PATTERN,`must be a USD amount such as "1.00"`).nullish(),Ee=a.object({meetingRecordingPolicy:a.enum(r.RECORDING_POLICIES).nullish(),meetingBotDisplayName:a.string().trim().refine(e=>{let t=classValidatorLength(e);return t>=1&&t<=80},`must be between 1 and 80 characters`).nullish(),memoryPersonMonthlyLimitUsd:Te,memoryTenantMonthlyLimitUsd:Te}),De={get:operation({name:`tenantSettings.get`,method:`GET`,path:`/tenant/settings`,input:a.object({}),output:type(),permission:[`settings`,`read`]}),update:operation({name:`tenantSettings.update`,method:`PATCH`,path:`/tenant/settings`,input:Ee,output:type(),permission:[`settings`,`update`]}),uploadMeetingBotImage:operation({name:`tenantSettings.uploadMeetingBotImage`,method:`PUT`,path:`/tenant/settings/meeting-bot-image`,input:a.object({}),output:type(),permission:[`settings`,`update`],upload:{field:`file`,maxCount:1,maxBytes:r.MEETING_BOT_IMAGE.maxBytes}}),removeMeetingBotImage:operation({name:`tenantSettings.removeMeetingBotImage`,method:`DELETE`,path:`/tenant/settings/meeting-bot-image`,input:a.object({}),output:type(),permission:[`settings`,`update`]})},Oe=a.object({email:a.email(),roleId:a.string().min(1)}).strict(),f=a.object({id:a.string()}),ke=a.object({proof:a.string().min(1)}).strict(),Ae={create:operation({name:`tenantInvitations.create`,method:`POST`,path:`/tenant-invitations`,input:Oe,output:type(),permission:[`people`,`create`]}),list:operation({name:`tenantInvitations.list`,method:`GET`,path:`/tenant-invitations`,input:a.object({}),output:type(),permission:[`people`,`read`]}),resend:operation({name:`tenantInvitations.resend`,method:`POST`,path:`/tenant-invitations/:id/resend`,input:f,output:type(),permission:[`people`,`update`]}),revoke:operation({name:`tenantInvitations.revoke`,method:`POST`,path:`/tenant-invitations/:id/revoke`,input:f,output:type(),permission:[`people`,`delete`]}),accept:operation({name:`tenantInvitations.accept`,method:`POST`,path:`/tenant-invitations/:id/accept`,input:f.extend(ke.shape).strict(),output:type()})},je=/^[A-Za-z0-9_-]+$/;function isNotificationCursor(e){if(!je.test(e))return!1;try{let t=JSON.parse(Buffer.from(e,`base64url`).toString(`utf8`));return typeof t.createdAt==`string`&&typeof t.id==`string`}catch{return!1}}const Me=a.object({state:a.enum(t.NOTIFICATION_INBOX_STATES).optional(),kind:a.enum(t.NOTIFICATION_KINDS).optional(),minPriority:a.enum(t.NOTIFICATION_PRIORITIES).optional(),since:a.iso.datetime({offset:!0}).optional(),limit:a.coerce.number().int().positive().transform(e=>Math.min(e,100)).optional(),cursor:a.string().min(1).refine(isNotificationCursor,`Invalid notification cursor`).optional()}),Ne=a.object({recipientId:a.guid()}),Pe={list:operation({name:`notifications.list`,method:`GET`,path:`/notifications`,input:Me,output:type()}),counts:operation({name:`notifications.counts`,method:`GET`,path:`/notifications/counts`,input:a.object({}),output:type()}),channels:operation({name:`notifications.channels`,method:`GET`,path:`/notifications/channels`,input:a.object({}),output:type()}),archiveAll:operation({name:`notifications.archiveAll`,method:`POST`,path:`/notifications/archive-all`,input:a.object({}),output:type(),status:200}),markRead:operation({name:`notifications.markRead`,method:`POST`,path:`/notifications/:recipientId/read`,input:Ne,output:type(),status:200}),archive:operation({name:`notifications.archive`,method:`POST`,path:`/notifications/:recipientId/archive`,input:Ne,output:type(),status:200})},Fe={assign:operation({name:`bundles.assign`,method:`POST`,path:`/bundles/assign`,input:a.object({bundleId:a.string()}),output:type(),permission:[`settings`,`manage`]}),uninstall:operation({name:`bundles.uninstall`,method:`DELETE`,path:`/bundles/:bundleId`,input:a.object({bundleId:a.string()}),output:type(),permission:[`settings`,`manage`]}),listAssigned:operation({name:`bundles.listAssigned`,method:`GET`,path:`/bundles/assigned`,input:a.object({}),output:type(),permission:[`settings`,`manage`]}),listUpdatable:operation({name:`bundles.listUpdatable`,method:`GET`,path:`/bundles/updatable`,input:a.object({}),output:type(),permission:[`settings`,`manage`]}),update:operation({name:`bundles.update`,method:`POST`,path:`/bundles/update`,input:a.object({}),output:type(),permission:[`settings`,`manage`]})};function parseFiniteInteger(e){if(e===void 0||e===``)return;let t=Number(e);return Number.isFinite(t)?Math.trunc(t):void 0}function parsePositiveInteger(e){let t=parseFiniteInteger(e);return t!==void 0&&t>0?t:void 0}function parseNonNegativeInteger(e){let t=parseFiniteInteger(e);return t===void 0?void 0:Math.max(0,t)}function parseBoundedPositiveInteger(e,t){return Math.min(parsePositiveInteger(e)??t.defaultValue,t.max)}function parseBoundedNonNegativeInteger(e,t){return Math.min(parseNonNegativeInteger(e)??t.defaultValue,t.max)}const Ie=new Set(r.AUDIT_ACTIONS),Le=new Set(r.AUDIT_RESOURCE_TYPES),Re=a.union([a.string(),a.number()]).optional();function commaList(e,t){let n=e.split(`,`).map(e=>e.trim());return{members:n,unknown:n.find(e=>!t.has(e))}}const ze=a.object({limit:Re,offset:Re,action:a.string().optional(),resourceType:a.string().optional(),objectName:a.string().optional(),actorId:a.string().optional(),from:a.string().optional(),to:a.string().optional()}).transform((e,t)=>{let n={limit:parseBoundedPositiveInteger(e.limit,{defaultValue:50,max:200}),offset:parseNonNegativeInteger(e.offset)??0};function refuse(e,n){return t.addIssue({code:`custom`,path:[e],message:n}),a.NEVER}if(e.action){let{members:t,unknown:r}=commaList(e.action,Ie);if(r!==void 0)return refuse(`action`,`Unknown audit action: "${r}"`);n.action=t.length===1?t[0]:t}if(e.resourceType){let{members:t,unknown:r}=commaList(e.resourceType,Le);if(r!==void 0)return refuse(`resourceType`,`Unknown audit resource type: "${r}"`);n.resourceType=t.length===1?t[0]:t}if(e.objectName&&(n.objectName=e.objectName),e.actorId&&(n.actorId=e.actorId),e.from){let t=new Date(e.from);if(Number.isNaN(t.getTime()))return refuse(`from`,`Invalid 'from' date: "${e.from}"`);n.from=t}if(e.to){let t=new Date(e.to);if(Number.isNaN(t.getTime()))return refuse(`to`,`Invalid 'to' date: "${e.to}"`);n.to=t}return n}),Be=a.object({limit:a.coerce.number().int().min(1).default(50).transform(e=>Math.min(e,200)),offset:a.coerce.number().int().min(0).default(0)}),Ve={list:operation({name:`audit.list`,method:`GET`,path:`/audit`,input:ze,output:type(),permission:[`audit`,`read`]}),recordHistory:operation({name:`audit.recordHistory`,method:`GET`,path:`/audit/records/:recordId`,input:a.object({recordId:a.string()}).extend(Be.shape),output:type()})},He=a.object({q:a.string().optional(),countries:a.string().optional(),language:a.string().optional(),limit:a.union([a.string(),a.number()]).optional(),granularity:a.string().optional()}).transform(e=>({query:e.q??``,countries:e.countries?.split(`,`).filter(Boolean),language:e.language,limit:parsePositiveInteger(e.limit),granularity:e.granularity})),Ue={autocomplete:operation({name:`geocoding.autocomplete`,method:`GET`,path:`/geocoding/autocomplete`,input:He,output:type()})},p=a.guid({error:`must be a UUID`}),We=a.union([a.string(),a.number()]).optional(),Ge=a.object({type:unchecked().optional(),status:unchecked().optional(),limit:We,offset:We}).transform(({type:e,status:t,limit:n,offset:r})=>({type:e,status:t,limit:parseBoundedPositiveInteger(n,{defaultValue:100,max:200}),offset:parseNonNegativeInteger(r)??0})),Ke={list:operation({name:`actors.list`,method:`GET`,path:`/actors`,input:Ge,output:type(),permission:[`people`,`read`]}),me:operation({name:`actors.me`,method:`GET`,path:`/actors/me`,input:a.object({}),output:type(),actor:`required`}),resolve:operation({name:`actors.resolve`,method:`GET`,path:`/actors/resolve`,input:a.object({ids:a.string().optional()}).transform(({ids:e})=>({ids:e?e.split(`,`).filter(Boolean):[]})),output:type()}),get:operation({name:`actors.get`,method:`GET`,path:`/actors/:id`,input:a.object({id:p}),output:type()})},qe=a.string().max(320,{message:`must be a valid email address`,abort:!0}).regex(/^[^\s@]+@[^\s@]+\.[^\s@]+$/u,`must be a valid email address`),Je=[`http`,`https`,`ftp`],Ye=/^\[([^\]]+)\](?::([0-9]+))?$/,Xe=`(?:[0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])`,m=`(${Xe}[.]){3}${Xe}`,Ze=RegExp(`^${m}$`),h=`(?:[0-9a-fA-F]{1,4})`,Qe=[`(?:${h}:){7}(?:${h}|:)`,`(?:${h}:){6}(?:${m}|:${h}|:)`,`(?:${h}:){5}(?::${m}|(:${h}){1,2}|:)`,`(?:${h}:){4}(?:(:${h}){0,1}:${m}|(:${h}){1,3}|:)`,`(?:${h}:){3}(?:(:${h}){0,2}:${m}|(:${h}){1,4}|:)`,`(?:${h}:){2}(?:(:${h}){0,3}:${m}|(:${h}){1,5}|:)`,`(?:${h}:){1}(?:(:${h}){0,4}:${m}|(:${h}){1,6}|:)`,`(?::((?::${h}){0,5}:${m}|(?::${h}){1,7}|:))`],$e=RegExp(`^(${Qe.join(`|`)})(%[0-9a-zA-Z.]{1,})?$`);function isIpAddress(e){return Ze.test(e)||$e.test(e)}function isFullyQualifiedDomain(e){let t=e.split(`.`),n=t[t.length-1]??``;return t.length<2||!/^([a-z\u00A1-\u00A8\u00AA-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]{2,}|xn[a-z0-9-]{2,})$/i.test(n)||/\s/.test(n)||/^\d+$/.test(n)?!1:t.every(e=>e.length<=63&&/^[a-z_\u00A1-\uFFFF0-9-]+$/i.test(e)&&!/[\uFF01-\uFF5E]/.test(e)&&!/^-|-$/.test(e)&&!/_/.test(e))}function stripProtocol(e){let t=e.match(/^([a-z][a-z0-9+\-.]*):/i);if(!t)return{rest:e,explicit:!1};let n=t[1]??``,r=e.substring(t[0].length),consume=()=>Je.includes(n.toLowerCase())?{rest:r,explicit:!0}:null;if(r.slice(0,2)===`//`)return consume();let i=r.indexOf(`/`),a=i===-1?r:r.substring(0,i),o=a.indexOf(`@`);if(o!==-1){let t=a.substring(0,o);return/^[a-zA-Z0-9\-_.%:]*$/.test(t)&&!/%[0-9a-fA-F]{2}/.test(t)?{rest:e,explicit:!1}:consume()}return/^[0-9]/.test(r)?{rest:e,explicit:!1}:consume()}function isClassValidatorUrl(e){if(typeof e!=`string`||!e||/[\s<>]/.test(e)||e.indexOf(`mailto:`)===0||e.length>2084)return!1;let t=stripProtocol((e.split(`#`)[0]??``).split(`?`)[0]??``);if(!t)return!1;let n=t.rest;if(n.slice(0,2)===`//`){if(!t.explicit)return!1;n=n.slice(2)}if(n===``)return!1;let r=(n.split(`/`)[0]??``).split(`@`);if(r.length>1){let e=r.shift()??``;if(e===``||e.indexOf(`:`)>=0&&e.split(`:`).length>2)return!1;let[t,n]=e.split(`:`);if(t===``&&n===``)return!1}let i=r.join(`@`),a,o=null,s=null,c=i.match(Ye);if(c)a=``,o=c[1]??``,s=c[2]??null;else{let e=i.split(`:`);a=e.shift()??``,e.length&&(s=e.join(`:`))}if(s!==null&&s.length>0){let e=Number.parseInt(s,10);if(!/^[0-9]+$/.test(s)||e<=0||e>65535)return!1}return isIpAddress(a)||isFullyQualifiedDomain(a)||o!==null&&$e.test(o)}const et=a.string().refine(isClassValidatorUrl,{message:`must be a URL address`});function oneOf(e){return a.custom(t=>e.some(e=>e===t),{message:`must be one of: ${e.join(`, `)}`})}const tt=a.object({authId:unchecked(),email:qe,firstName:unchecked().optional(),lastName:unchecked().optional(),avatarUrl:et.nullish(),status:unchecked().optional()});function toProfileCreate(e){return{authId:e.authId,email:e.email,firstName:e.firstName,lastName:e.lastName,avatarUrl:e.avatarUrl??void 0,status:e.status??`active`}}const nt=a.looseObject({preferredName:a.string().nullish(),firstName:a.string().nullish(),lastName:a.string().nullish(),avatarUrl:et.nullish(),status:oneOf(r.USER_STATUSES).nullish()}),rt=a.object({redirectTo:a.string().nullish().transform(e=>e??`/`).refine(e=>e.startsWith(`/`)&&!e.startsWith(`//`)&&!e.includes(`://`),`redirectTo must be a relative path (e.g. /dashboard). Absolute URLs are not allowed.`).transform(e=>e.replace(/\.\./g,``).replace(/\/+/g,`/`))}),it=a.object({status:oneOf(r.USER_STATUSES).optional()}),at=a.object({limit:a.union([a.string(),a.number()]).optional(),offset:a.union([a.string(),a.number()]).optional()}).transform(({limit:e,offset:t})=>({limit:parsePositiveInteger(e),offset:parseNonNegativeInteger(t)})),g=a.object({id:a.string()}),ot=a.object({parameter:a.string().max(256).optional(),value:a.unknown()}),st={list:operation({name:`users.list`,method:`GET`,path:`/users`,input:at,output:type(),permission:[`people`,`read`]}),members:operation({name:`users.members`,method:`GET`,path:`/users/members`,input:a.object({}),output:type(),permission:[`people`,`read`]}),me:operation({name:`users.me`,method:`GET`,path:`/users/me`,input:a.object({}),output:type(),actor:`required`}),updateMe:operation({name:`users.updateMe`,method:`PUT`,path:`/users/me`,input:nt,output:type(),actor:`required`}),myPreferences:operation({name:`users.myPreferences`,method:`GET`,path:`/users/me/preferences`,input:a.object({}),output:type(),actor:`required`}),setMyPreference:operation({name:`users.setMyPreference`,method:`PUT`,path:`/users/me/preferences/:key`,input:ot.extend({key:a.string()}),output:type(),actor:`required`}),uploadMyAvatar:operation({name:`users.uploadMyAvatar`,method:`PUT`,path:`/users/me/avatar`,input:a.object({}),output:type(),actor:`required`,upload:{field:`file`,maxCount:1}}),deleteMyAvatar:operation({name:`users.deleteMyAvatar`,method:`DELETE`,path:`/users/me/avatar`,input:a.object({}),output:type(),actor:`required`}),get:operation({name:`users.get`,method:`GET`,path:`/users/:id`,input:g,output:type(),permission:[`people`,`read`]}),create:operation({name:`users.create`,method:`POST`,path:`/users`,input:tt.transform(toProfileCreate),output:type(),permission:[`people`,`create`]}),update:operation({name:`users.update`,method:`PUT`,path:`/users/:id`,input:nt.extend(g.shape),output:type(),permission:[`people`,`update`]}),delete:operation({name:`users.delete`,method:`DELETE`,path:`/users/:id`,input:g,output:type(),permission:[`people`,`delete`],status:204}),changeStatus:operation({name:`users.changeStatus`,method:`PUT`,path:`/users/:id/status`,input:it.extend(g.shape),output:type(),permission:[`people`,`update`]}),resetAccess:operation({name:`users.resetAccess`,method:`POST`,path:`/users/:id/reset-access`,input:rt.extend(g.shape),output:type(),permission:[`people`,`update`],status:204})},ct=a.object({label:a.string().trim().min(1).max(255),description:a.string().optional(),name:a.string().min(2).max(63).optional(),from:a.guid().optional()}).strict(),lt=a.object({label:ct.shape.label.optional(),description:a.string().optional()}).strict(),ut=a.object({permissions:unchecked().optional()}),dt=a.object({roleIds:a.array(a.guid()).min(1).max(50)}).strict(),_=a.object({id:a.string()}),ft=a.object({actorId:a.string()}),pt={listRoles:operation({name:`permissions.listRoles`,method:`GET`,path:`/permissions/roles`,input:a.object({}),output:type(),permission:[`people`,`read`]}),createRole:operation({name:`permissions.createRole`,method:`POST`,path:`/permissions/roles`,input:ct,output:type(),permission:[`people`,`create`]}),updateRole:operation({name:`permissions.updateRole`,method:`PUT`,path:`/permissions/roles/:id`,input:lt.extend(_.shape),output:type(),permission:[`people`,`update`]}),deleteRole:operation({name:`permissions.deleteRole`,method:`DELETE`,path:`/permissions/roles/:id`,input:_,output:type(),permission:[`people`,`delete`],status:204}),rolePermissions:operation({name:`permissions.rolePermissions`,method:`GET`,path:`/permissions/roles/:id/permissions`,input:_,output:type(),permission:[`people`,`read`]}),setRolePermissions:operation({name:`permissions.setRolePermissions`,method:`PUT`,path:`/permissions/roles/:id/permissions`,input:ut.extend(_.shape),output:type(),permission:[`people`,`update`],status:204}),setActorRoles:operation({name:`permissions.setActorRoles`,method:`PUT`,path:`/permissions/actors/:actorId/roles`,input:dt.extend(ft.shape),output:type(),permission:[`people`,`update`]}),actorEffective:operation({name:`permissions.actorEffective`,method:`GET`,path:`/permissions/actors/:actorId/effective`,input:ft,output:type(),permission:[`people`,`read`]}),me:operation({name:`permissions.me`,method:`GET`,path:`/permissions/me`,input:a.object({}),output:type()}),myObject:operation({name:`permissions.myObject`,method:`GET`,path:`/permissions/me/object/:objectName`,input:a.object({objectName:a.string()}),output:type()}),mySystem:operation({name:`permissions.mySystem`,method:`GET`,path:`/permissions/me/system/:resource`,input:a.object({resource:unchecked()}),output:type()})},mt=a.object({role:a.enum(r.ACCESS_ROLES,{error:`role must be one of: ${r.ACCESS_ROLES.join(`, `)}`})}),v=a.object({id:p}),ht=v.extend({actorId:p}),gt={list:operation({name:`agentAccess.list`,method:`GET`,path:`/agents/definitions/:id/access`,input:v,output:type(),permission:[`agents`,`read`]}),grant:operation({name:`agentAccess.grant`,method:`PUT`,path:`/agents/definitions/:id/access/:actorId`,input:ht.extend(mt.shape),output:type(),permission:[`agents`,`update`]}),revoke:operation({name:`agentAccess.revoke`,method:`DELETE`,path:`/agents/definitions/:id/access/:actorId`,input:ht,output:type(),permission:[`agents`,`read`]}),clear:operation({name:`agentAccess.clear`,method:`DELETE`,path:`/agents/definitions/:id/access`,input:v,output:type(),permission:[`agents`,`update`]})},_t=a.object({role:a.enum(r.RECORD_ACCESS_ROLES,{error:`role must be one of: ${r.RECORD_ACCESS_ROLES.join(`, `)}`})}),y=a.object({id:p}),vt=y.extend({actorId:p}),yt={list:operation({name:`pageAccess.list`,method:`GET`,path:`/pages/:id/access`,input:y,output:type(),permission:[`pages`,`read`]}),grant:operation({name:`pageAccess.grant`,method:`PUT`,path:`/pages/:id/access/:actorId`,input:vt.extend(_t.shape),output:type(),permission:[`pages`,`update`]}),revoke:operation({name:`pageAccess.revoke`,method:`DELETE`,path:`/pages/:id/access/:actorId`,input:vt,output:type(),permission:[`pages`,`read`]}),clear:operation({name:`pageAccess.clear`,method:`DELETE`,path:`/pages/:id/access`,input:y,output:type(),permission:[`pages`,`update`]})},bt=a.string().trim().min(1).max(100),xt=a.enum([`private`,`workspace`]),St=a.strictObject({name:bt,visibility:xt.optional(),confirmShared:a.boolean().optional()}),Ct=a.strictObject({name:bt.optional(),visibility:xt.optional(),confirmShared:a.boolean().optional()}),wt=a.strictObject({takeOver:a.boolean().optional()}),b=a.strictObject({id:p}),Tt={list:operation({name:`browserProfiles.list`,method:`GET`,path:`/browser-profiles`,input:a.object({}),output:type()}),create:operation({name:`browserProfiles.create`,method:`POST`,path:`/browser-profiles`,input:St,output:type(),permission:[`browser-profiles`,`create`]}),update:operation({name:`browserProfiles.update`,method:`PATCH`,path:`/browser-profiles/:id`,input:b.extend(Ct.shape),output:type()}),delete:operation({name:`browserProfiles.delete`,method:`DELETE`,path:`/browser-profiles/:id`,input:b,output:type(),status:204}),prepare:operation({name:`browserProfiles.prepare`,method:`POST`,path:`/browser-profiles/:id/prepare`,input:b.extend(wt.shape),output:type(),status:200}),finishPreparation:operation({name:`browserProfiles.finishPreparation`,method:`POST`,path:`/browser-profiles/:id/prepare/finish`,input:b,output:type(),status:204}),ensurePersonal:operation({name:`browserProfiles.ensurePersonal`,method:`POST`,path:`/browser-profiles/personal`,input:a.object({}),output:type(),status:200}),reset:operation({name:`browserProfiles.reset`,method:`POST`,path:`/browser-profiles/:id/reset`,input:b,output:type(),status:204})},Et={live:operation({name:`cloudBrowsers.live`,method:`GET`,path:`/cloud-browsers/:sessionId/live`,input:a.strictObject({sessionId:p}),output:type()})},Dt=a.string().trim().min(1).max(100),Ot=a.array(a.strictObject({fullName:a.string().regex(/^[A-Za-z0-9][A-Za-z0-9-]*\/[A-Za-z0-9_][A-Za-z0-9_.-]*$/),ref:a.string().regex(/^[A-Za-z0-9_][A-Za-z0-9_./-]*$/).optional()})),kt=a.enum([`private`,`workspace`]),x=a.enum(r.ENVIRONMENT_HARNESSES.map(e=>e.id)),At=a.strictObject({name:Dt,harness:x.nullable(),repositories:Ot.optional(),visibility:kt.optional(),confirmSharedMachine:a.boolean().optional()}),jt=a.strictObject({name:Dt.optional(),visibility:kt.optional(),setupScript:a.string().max(r.SETUP_SCRIPT_MAX_CHARS).optional(),repositories:Ot.optional(),confirmSharedMachine:a.boolean().optional()}),Mt=a.strictObject({include:a.literal(`usedBy`).optional()}),Nt=a.strictObject({definitionId:a.string().uuid().optional()}),S=a.strictObject({id:p}),Pt={list:operation({name:`environments.list`,method:`GET`,path:`/environments`,input:Mt,output:type()}),harnessModels:operation({name:`environments.harnessModels`,method:`GET`,path:`/environments/harnesses/:harness/models`,input:Nt.extend({harness:a.string()}),output:type()}),get:operation({name:`environments.get`,method:`GET`,path:`/environments/:id`,input:S,output:type()}),create:operation({name:`environments.create`,method:`POST`,path:`/environments`,input:At,output:type(),permission:[`environments`,`create`]}),update:operation({name:`environments.update`,method:`PATCH`,path:`/environments/:id`,input:S.extend(jt.shape),output:type()}),build:operation({name:`environments.build`,method:`POST`,path:`/environments/:id/build`,input:S,output:type(),status:202}),terminal:operation({name:`environments.terminal`,method:`POST`,path:`/environments/:id/terminal`,input:S,output:type(),status:200}),save:operation({name:`environments.save`,method:`POST`,path:`/environments/:id/save`,input:S,output:type(),status:200}),discard:operation({name:`environments.discard`,method:`POST`,path:`/environments/:id/discard`,input:S,output:type(),status:200}),archive:operation({name:`environments.archive`,method:`DELETE`,path:`/environments/:id`,input:S,output:type(),status:204})};function required(e){return a.string({error:`${e} is required`}).refine(e=>e.trim()!==``,{error:`${e} is required`})}const Ft=a.enum(i.RESOURCE_VISIBILITIES).default(`workspace`),It=a.string({error:`catalogEntryId must be a non-empty string when provided`}).refine(e=>e.trim()!==``,{error:`catalogEntryId must be a non-empty string when provided`}).nullish().transform(e=>e??null),Lt=a.enum(r.McpOAuthCompletionMode,{error:`completionMode must be desktop when provided`}).optional(),Rt=a.string({error:`returnUrl must be a non-empty string when provided`}).min(1,{error:`returnUrl must be a non-empty string when provided`}).optional();function oneCompletion(e){return!(e.completionMode&&e.returnUrl)}const zt={error:`completionMode and returnUrl cannot be combined`},Bt=a.discriminatedUnion(`type`,[a.object({type:a.literal(`none`)}),a.object({type:a.literal(`header`),headerName:required(`auth.headerName`),secret:required(`auth.secret`)})],{error:e=>{let t=e.input?.type;return t===`oauth`?`Use POST /mcp-servers/oauth/attempts to authorize an OAuth connection.`:e.input===void 0?`auth is required`:`unknown auth type: ${String(t)}`}}),Vt={slug:required(`slug`),name:required(`name`),url:required(`url`),visibility:Ft,catalogEntryId:It},Ht=a.object({...Vt,auth:Bt}),Ut=a.object({...Vt,completionMode:Lt,returnUrl:Rt}).refine(oneCompletion,zt),Wt=a.object({scope:required(`scope`).optional(),completionMode:Lt,returnUrl:Rt}).refine(oneCompletion,zt),C=a.object({id:a.string()}),Gt={startOAuth:operation({name:`mcpServers.startOAuth`,method:`POST`,path:`/mcp-servers/oauth/attempts`,input:Ut,output:type(),permission:[`connectors`,`create`]}),oauthAttempt:operation({name:`mcpServers.oauthAttempt`,method:`GET`,path:`/mcp-servers/oauth/attempts/:id`,input:a.object({id:a.string()}),output:type()}),catalog:operation({name:`mcpServers.catalog`,method:`GET`,path:`/mcp-servers/catalog`,input:a.object({}),output:type(),permission:[`connectors`,`read`]}),list:operation({name:`mcpServers.list`,method:`GET`,path:`/mcp-servers`,input:a.object({}),output:type(),permission:[`connectors`,`read`]}),connect:operation({name:`mcpServers.connect`,method:`POST`,path:`/mcp-servers`,input:Ht,output:type(),permission:[`connectors`,`create`]}),reconnectOAuth:operation({name:`mcpServers.reconnectOAuth`,method:`POST`,path:`/mcp-servers/:id/oauth/attempts`,input:Wt.safeExtend(C.shape),output:type(),permission:[`connectors`,`update`]}),refresh:operation({name:`mcpServers.refresh`,method:`POST`,path:`/mcp-servers/:id/refresh`,input:C,output:type(),permission:[`connectors`,`update`]}),rename:operation({name:`mcpServers.rename`,method:`PATCH`,path:`/mcp-servers/:id`,input:C.extend({name:a.string({error:`name must be a string`})}),output:type(),permission:[`connectors`,`update`]}),setTrusted:operation({name:`mcpServers.setTrusted`,method:`POST`,path:`/mcp-servers/:id/trust`,input:C.extend({trusted:a.boolean({error:`trusted must be a boolean`})}),output:type(),permission:[`connectors`,`update`],status:204}),delete:operation({name:`mcpServers.delete`,method:`DELETE`,path:`/mcp-servers/:id`,input:C,output:type(),permission:[`connectors`,`delete`],status:204})},Kt=[`gmail`,`outlook`,`google-calendar`,`outlook-calendar`,`github`,`slack`],qt=[`actor`,`tenant`],Jt=a.unknown().transform(e=>typeof e==`string`?e:void 0),Yt=a.enum(qt,{error:e=>`unknown scope: ${String(e.input)}`}),Xt=a.object({provider:a.enum(Kt,{error:e=>`unknown provider: ${String(e.input)}`}),scope:Yt,returnUrl:Jt.optional(),capabilities:a.array(a.enum([`modify`,`send`],{error:`unknown capability`}),{error:`unknown capability`}).optional()}),w=a.object({returnUrl:a.string().optional()}),Zt=a.object({address:a.string({error:`address is required`}).refine(e=>e.trim()!==``,{error:`address is required`}),scope:Yt}),T=a.object({id:a.string()}),Qt={list:operation({name:`connectors.list`,method:`GET`,path:`/connectors/connections`,input:a.object({scope:a.string().optional()}),output:type(),permission:[`connectors`,`read`]}),providers:operation({name:`connectors.providers`,method:`GET`,path:`/connectors/providers`,input:a.object({}),output:type(),permission:[`connectors`,`read`]}),startAuth:operation({name:`connectors.startAuth`,method:`POST`,path:`/connectors/auth/start`,input:Xt,output:type(),permission:[`connectors`,`create`]}),startGitHubInstallation:operation({name:`connectors.startGitHubInstallation`,method:`POST`,path:`/connectors/github/install`,input:w,output:type(),permission:[`connectors`,`create`]}),githubRepositories:operation({name:`connectors.githubRepositories`,method:`GET`,path:`/connectors/connections/:id/github/repositories`,input:T,output:type(),permission:[`connectors`,`read`]}),slackMembers:operation({name:`connectors.slackMembers`,method:`GET`,path:`/connectors/connections/:id/slack/members`,input:T,output:type(),permission:[`connectors`,`read`]}),slackChannels:operation({name:`connectors.slackChannels`,method:`GET`,path:`/connectors/connections/:id/slack/channels`,input:T,output:type(),permission:[`connectors`,`read`]}),startGitHubAccount:operation({name:`connectors.startGitHubAccount`,method:`POST`,path:`/connectors/connections/:id/github-account`,input:T.extend(w.shape),output:type(),permission:[`connectors`,`create`]}),disconnect:operation({name:`connectors.disconnect`,method:`POST`,path:`/connectors/connections/:id/disconnect`,input:T,output:type(),permission:[`connectors`,`update`]}),delete:operation({name:`connectors.delete`,method:`DELETE`,path:`/connectors/connections/:id`,input:T.extend({removeImported:unchecked().optional()}),query:[`removeImported`],output:type(),permission:[`connectors`,`delete`]}),addSharedMailbox:operation({name:`connectors.addSharedMailbox`,method:`POST`,path:`/connectors/connections/:id/shared-mailboxes`,input:T.extend(Zt.shape),output:type(),permission:[`connectors`,`create`]})},E=a.object({id:a.string()}),$t=a.object({ruleId:a.string()}),en=a.object({emailId:a.string()}),tn={list:operation({name:`emailCategories.list`,method:`GET`,path:`/email-categories`,input:r.emailCategoryScopeQuerySchema,output:type()}),create:operation({name:`emailCategories.create`,method:`POST`,path:`/email-categories`,input:r.emailCategoryCreateSchema,output:type()}),rules:operation({name:`emailCategories.rules`,method:`GET`,path:`/email-categories/rules`,input:r.emailCategoryScopeQuerySchema,output:type()}),widenRule:operation({name:`emailCategories.widenRule`,method:`PATCH`,path:`/email-categories/rules/:ruleId`,input:$t.extend(r.emailRuleScopeSchema.shape),output:type()}),removeRule:operation({name:`emailCategories.removeRule`,method:`DELETE`,path:`/email-categories/rules/:ruleId`,input:$t,output:type(),status:204}),usage:operation({name:`emailCategories.usage`,method:`GET`,path:`/email-categories/:id/usage`,input:E,output:type()}),update:operation({name:`emailCategories.update`,method:`PATCH`,path:`/email-categories/:id`,input:E.and(r.emailCategoryUpdateSchema),output:type()}),delete:operation({name:`emailCategories.delete`,method:`DELETE`,path:`/email-categories/:id`,input:E.extend(r.emailCategoryDeleteSchema.shape),output:type(),status:204})},nn={classify:operation({name:`emailClassification.classify`,method:`PATCH`,path:`/emails/:emailId/classification`,input:r.classifyEmailSchema.safeExtend(en.shape),output:type()}),restore:operation({name:`emailClassification.restore`,method:`POST`,path:`/emails/:emailId/classification/restore`,input:r.classificationRestoreSchema.safeExtend(en.shape),output:type()})},rn=a.object({mode:unchecked().optional(),accountId:unchecked().optional(),search:unchecked().optional(),readState:unchecked().optional(),category:unchecked().optional(),important:unchecked().optional(),limit:unchecked().optional(),cursor:unchecked().optional(),countMode:unchecked().optional()}),an=a.object({emailAttributeIds:unchecked().optional(),query:unchecked().optional()}),on=a.object({q:a.string().max(320).default(``)}),sn=a.object({isRead:a.boolean()}),cn=a.object({id:a.string()}),ln={mailbox:operation({name:`emails.mailbox`,method:`POST`,path:`/emails/mailbox`,input:rn,output:type()}),thread:operation({name:`emails.thread`,method:`GET`,path:`/emails/threads/:id`,input:cn,output:type()}),markThreadRead:operation({name:`emails.markThreadRead`,method:`POST`,path:`/emails/threads/:id/read`,input:cn.extend(sn.shape),output:type()}),markMessageRead:operation({name:`emails.markMessageRead`,method:`POST`,path:`/emails/messages/:id/read`,input:cn.extend(sn.shape),output:type()}),recordMailbox:operation({name:`emails.recordMailbox`,method:`POST`,path:`/emails/records/:recordId/mailbox`,input:a.object({recordId:a.string()}).extend(an.shape),output:type()}),attachment:operation({name:`emails.attachment`,method:`GET`,path:`/emails/:emailId/attachments/:idx`,input:a.object({emailId:a.string(),idx:a.union([a.string(),a.number()]).transform(Number)}),output:type(),response:`bytes`}),accounts:operation({name:`emails.accounts`,method:`GET`,path:`/emails/accounts`,input:a.object({}),output:type()}),recipients:operation({name:`emails.recipients`,method:`GET`,path:`/emails/recipients`,input:on,output:type()})},un=[`reply`,`reply_all`,`forward`,`new`],dn=a.array(a.string()),fn=a.object({accountId:a.string().min(1),mode:a.enum(un),parentEmailId:a.string().min(1).optional()}),pn=a.object({mode:a.enum(r.REPLY_MODES).optional(),parentEmailId:a.string().min(1).optional(),to:dn.optional(),cc:dn.optional(),bcc:dn.optional(),subject:a.string().max(998).optional(),bodyHtml:a.string().max(r.MAIL_DRAFT_BODY_MAX_CHARS).optional()}),D=a.object({id:a.string()}),mn={list:operation({name:`mailDrafts.list`,method:`GET`,path:`/emails/drafts`,input:a.object({threadId:a.string().optional()}),output:type()}),create:operation({name:`mailDrafts.create`,method:`POST`,path:`/emails/drafts`,input:fn,output:type()}),get:operation({name:`mailDrafts.get`,method:`GET`,path:`/emails/drafts/:id`,input:D,output:type()}),patch:operation({name:`mailDrafts.patch`,method:`PATCH`,path:`/emails/drafts/:id`,input:D.extend(pn.shape),output:type()}),delete:operation({name:`mailDrafts.delete`,method:`DELETE`,path:`/emails/drafts/:id`,input:D,output:type(),status:204}),attach:operation({name:`mailDrafts.attach`,method:`POST`,path:`/emails/drafts/:id/attachments`,input:D,output:type(),upload:{field:`files`,maxCount:10,maxBytes:o.FILE_SIZE.MB_25}}),detach:operation({name:`mailDrafts.detach`,method:`DELETE`,path:`/emails/drafts/:id/attachments/:fileId`,input:D.extend({fileId:a.string()}),output:type(),status:204}),send:operation({name:`mailDrafts.send`,method:`POST`,path:`/emails/drafts/:id/send`,input:D,output:type()})},hn=a.object({pageId:a.guid().nullable()});function isIanaTimezone(e){try{return new Intl.DateTimeFormat(`en-US`,{timeZone:e}),!0}catch{return!1}}const gn=a.object({hostRecordId:a.guid().optional(),timezone:a.string().refine(isIanaTimezone,{message:`Expected an IANA timezone`})}).strict(),_n=a.object({id:p}),vn={list:operation({name:`pages.list`,method:`GET`,path:`/pages`,input:a.object({}),output:type(),permission:[`pages`,`read`]}),get:operation({name:`pages.get`,method:`GET`,path:`/pages/:id`,input:_n,output:type(),permission:[`pages`,`read`]}),data:operation({name:`pages.data`,method:`POST`,path:`/pages/:id/data`,input:gn.safeExtend(_n.shape),output:type(),permission:[`pages`,`read`],status:200}),home:operation({name:`pages.home`,method:`GET`,path:`/me/home`,input:a.object({}),output:type()}),setHome:operation({name:`pages.setHome`,method:`PUT`,path:`/me/home`,input:hn,output:type(),status:204})},O=a.enum([`record`,`collection`],{error:`Invalid view context`}),k=a.object({objectName:a.string()}),yn={list:operation({name:`views.list`,method:`GET`,path:`/views`,input:a.object({objectName:a.string().min(1,{error:`Invalid objectName`}).optional(),context:O.optional()}).strict(),output:type(),permission:[`architect`,`read`]}),preferenceMigration:operation({name:`views.preferenceMigration`,method:`GET`,path:`/views/preference-migration`,input:a.object({}).strict(),output:type(),permission:[`architect`,`read`]}),forObject:operation({name:`views.forObject`,method:`GET`,path:`/views/objects/:objectName`,input:k.extend({context:O.optional()}).strict(),output:type(),permission:[`architect`,`read`]}),defaultForObject:operation({name:`views.defaultForObject`,method:`GET`,path:`/views/objects/:objectName/default`,input:k.extend({context:O.optional()}).strict(),output:type(),permission:[`architect`,`read`]}),byName:operation({name:`views.byName`,method:`GET`,path:`/views/objects/:objectName/:viewName`,input:k.extend({viewName:a.string()}).strict(),output:type(),permission:[`architect`,`read`]}),get:operation({name:`views.get`,method:`GET`,path:`/views/:viewId`,input:a.object({viewId:a.string()}).strict(),output:type(),permission:[`architect`,`read`]})};function isPlainObject(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const bn=a.custom(e=>isPlainObject(e)&&typeof e.type==`string`&&(e.type!==`fields`||Array.isArray(e.fields)&&e.fields.every(isPlainObject)),`Each row must be an object with a type, and a fields row a list of field objects`),xn=a.object({id:a.string().min(1),objectName:a.string().min(1),label:a.string(),mode:a.enum([`create`,`select`,`optional`,`create_if_not_empty`]),color:i.colorIdSchema.optional(),icon:i.iconNameSchema.optional(),objectLabel:a.string().optional()}),Sn=a.object({id:a.string().min(1),label:a.string(),description:a.string().optional(),rows:a.array(bn)}),Cn=a.record(a.string(),a.unknown()),wn=a.object({name:a.string().min(1).max(63),label:a.string().min(1).max(255),description:a.string().optional(),icon:i.iconNameSchema.optional(),slots:a.array(xn),steps:a.array(Sn),metadata:Cn.optional()}),Tn=a.object({label:a.string().min(1).max(255).optional(),description:a.string().optional(),icon:i.iconNameSchema.optional(),slots:a.array(xn).optional(),steps:a.array(Sn).optional(),status:a.enum([`draft`,`published`,`archived`]).optional(),metadata:Cn.optional()}),En=unchecked().optional().transform(e=>e===!0||e===`true`),Dn=a.object({values:unchecked()}),A=a.object({formId:a.string()}),j=A.extend({submissionId:a.string()}),On={list:operation({name:`forms.list`,method:`GET`,path:`/forms`,input:a.object({status:unchecked().optional(),publishedOnly:En}),output:type(),permission:[`forms`,`read`]}),submissionsByRecord:operation({name:`forms.submissionsByRecord`,method:`GET`,path:`/forms/submissions/by-record`,input:a.object({recordId:unchecked().optional(),includeArchived:En}),output:type(),permission:[`forms`,`read`]}),byName:operation({name:`forms.byName`,method:`GET`,path:`/forms/name/:name`,input:a.object({name:a.string()}),output:type(),permission:[`forms`,`read`]}),get:operation({name:`forms.get`,method:`GET`,path:`/forms/:formId`,input:A,output:type(),permission:[`forms`,`read`]}),create:operation({name:`forms.create`,method:`POST`,path:`/forms`,input:wn,output:type(),permission:[`forms`,`create`]}),update:operation({name:`forms.update`,method:`PATCH`,path:`/forms/:formId`,input:Tn.extend(A.shape),output:type(),permission:[`forms`,`update`]}),delete:operation({name:`forms.delete`,method:`DELETE`,path:`/forms/:formId`,input:A,output:type(),permission:[`forms`,`delete`],status:204}),publish:operation({name:`forms.publish`,method:`POST`,path:`/forms/:formId/publish`,input:A,output:type(),permission:[`forms`,`manage`]}),archive:operation({name:`forms.archive`,method:`POST`,path:`/forms/:formId/archive`,input:A,output:type(),permission:[`forms`,`manage`]}),duplicate:operation({name:`forms.duplicate`,method:`POST`,path:`/forms/:formId/duplicate`,input:A.extend({name:unchecked().optional(),label:unchecked().optional()}),output:type(),permission:[`forms`,`manage`]}),createSubmission:operation({name:`forms.createSubmission`,method:`POST`,path:`/forms/:formId/submissions`,input:A.extend({slotValues:unchecked().optional()}),output:type(),permission:[`forms`,`read`]}),submission:operation({name:`forms.submission`,method:`GET`,path:`/forms/:formId/submissions/:submissionId`,input:j,output:type(),permission:[`forms`,`read`]}),saveStep:operation({name:`forms.saveStep`,method:`PATCH`,path:`/forms/:formId/submissions/:submissionId/steps/:stepIndex`,input:j.extend(Dn.shape).extend({stepIndex:a.coerce.string().regex(/^-?\d+$/,`Validation failed (numeric string is expected)`).transform(Number).refine(e=>Number.isSafeInteger(e)&&e>=0,`Step index must be a non-negative integer`)}),output:type(),permission:[`forms`,`read`]}),advance:operation({name:`forms.advance`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/advance`,input:j.extend(Dn.shape),output:type(),permission:[`forms`,`read`]}),back:operation({name:`forms.back`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/back`,input:j,output:type(),permission:[`forms`,`read`]}),submit:operation({name:`forms.submit`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/submit`,input:j,output:type(),permission:[`forms`,`read`]}),archiveSubmission:operation({name:`forms.archiveSubmission`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/archive`,input:j,output:type(),permission:[`forms`,`read`]}),unarchiveSubmission:operation({name:`forms.unarchiveSubmission`,method:`POST`,path:`/forms/:formId/submissions/:submissionId/unarchive`,input:j,output:type(),permission:[`forms`,`read`]})},kn=a.object({attributeId:a.string().uuid(`attributeId must be a valid UUID`),ids:a.array(a.string().uuid(`Each id must be a valid UUID`)).default([])}),An=a.object({requests:a.array(a.object({attributeId:a.string().uuid(`attributeId must be a valid UUID`),ids:a.array(a.string().uuid(`Each id must be a valid UUID`))}))}),jn={options:operation({name:`relations.options`,method:`GET`,path:`/relations/:attributeId/options`,input:a.object({attributeId:a.string(),q:unchecked().optional(),page:unchecked().optional(),pageSize:unchecked().optional(),offset:unchecked().optional(),targetObject:unchecked().optional(),deleted:unchecked().optional()}),output:type()}),resolve:operation({name:`relations.resolve`,method:`POST`,path:`/relations/resolve`,input:kn,output:type()}),resolveBatch:operation({name:`relations.resolveBatch`,method:`POST`,path:`/relations/resolve-batch`,input:An,output:type()}),graph:operation({name:`relations.graph`,method:`POST`,path:`/relations/graph`,input:r.recordGraphRequestSchema,output:type(),status:200,throttle:{limit:60,ttlMs:6e4}})},Mn={global:operation({name:`search.global`,method:`GET`,path:`/search`,input:a.object({q:unchecked(),limit:unchecked().optional(),offset:unchecked().optional(),objects:unchecked().optional(),grouped:unchecked().optional(),deleted:unchecked().optional(),countMode:unchecked().optional()}),output:type(),throttle:{limit:30,ttlMs:6e4}})},Nn=a.union([a.object({kind:a.literal(`record`),objectName:a.string().min(1),recordId:a.string().min(1),interactedAt:a.iso.datetime()}),a.object({kind:a.literal(`conversation`),sessionId:a.string().min(1),interactedAt:a.iso.datetime()})]),Pn=a.object({entries:a.array(Nn).max(50)}),Fn={resolve:operation({name:`recentActivity.resolve`,method:`POST`,path:`/recent-activity/resolve`,input:Pn,output:type(),throttle:{limit:30,ttlMs:6e4},actor:`required`})},In={execute:operation({name:`recordOperations.execute`,method:`POST`,path:`/operations`,input:r.recordOperationSchema,output:type(),actor:`required`})},Ln={index:operation({name:`news.index`,method:`GET`,path:`/news`,input:a.object({}),output:type(),actor:`required`}),body:operation({name:`news.body`,method:`GET`,path:`/news/:slug`,input:a.object({slug:a.string()}),output:type(),actor:`required`})},M=a.object({tenantId:a.string().min(1)}),Rn={recomputeGrants:operation({name:`meetingsAdmin.recomputeGrants`,method:`POST`,path:`/admin/meetings/grants-recompute`,input:M,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`})},zn={drain:operation({name:`embeddingsAdmin.drain`,method:`POST`,path:`/admin/embeddings/drain`,input:M,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`})},Bn=M.strict(),Vn={backfill:operation({name:`memoryAdmin.backfill`,method:`POST`,path:`/admin/memory/backfill`,input:Bn,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`}),activity:operation({name:`memoryAdmin.activity`,method:`POST`,path:`/admin/memory/activity`,input:Bn,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`})},Hn=M.extend({afterId:unchecked().optional(),rebuild:unchecked().optional()}),Un={reapplySettings:operation({name:`searchAdmin.reapplySettings`,method:`POST`,path:`/admin/search/reapply-settings`,input:M,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`}),fullReindex:operation({name:`searchAdmin.fullReindex`,method:`POST`,path:`/admin/search/full-reindex`,input:M,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`}),emailReindex:operation({name:`searchAdmin.emailReindex`,method:`POST`,path:`/admin/search/email-reindex`,input:Hn,output:type(),permission:[`settings`,`update`],status:202,throttle:`skip`})},Wn={get:operation({name:`schemaState.get`,method:`GET`,path:`/schema/state`,input:a.object({}),output:type(),permission:[`architect`,`read`],throttle:`skip`})},Gn=a.object({sourceId:a.string()}),Kn={list:operation({name:`schemaSources.list`,method:`GET`,path:`/schema/sources`,input:a.object({}),output:type(),permission:[`architect`,`read`],throttle:`skip`}),get:operation({name:`schemaSources.get`,method:`GET`,path:`/schema/sources/:sourceId`,input:Gn,output:type(),permission:[`architect`,`read`],throttle:`skip`}),push:operation({name:`schemaSources.push`,method:`PUT`,path:`/schema/sources/:sourceId`,input:Gn.and(unchecked()),output:type(),permission:[`architect`,`update`],throttle:`skip`}),remove:operation({name:`schemaSources.remove`,method:`DELETE`,path:`/schema/sources/:sourceId`,input:Gn,output:type(),permission:[`architect`,`delete`],status:204,throttle:`skip`})},qn={systemOnly:unchecked().optional(),customOnly:unchecked().optional()},N=a.object({objectId:a.string()}),Jn=N.extend({id:a.string()}),Yn={list:operation({name:`schemaObjects.list`,method:`GET`,path:`/schema/objects`,input:a.object(qn),output:type(),permission:[`architect`,`read`],throttle:`skip`}),get:operation({name:`schemaObjects.get`,method:`GET`,path:`/schema/objects/:objectIdOrName`,input:a.object({objectIdOrName:a.string()}),output:type(),permission:[`architect`,`read`],throttle:`skip`}),create:operation({name:`schemaObjects.create`,method:`POST`,path:`/schema/objects`,input:unchecked(),output:type(),permission:[`architect`,`create`],throttle:`skip`}),update:operation({name:`schemaObjects.update`,method:`PUT`,path:`/schema/objects/:objectId`,input:N.and(unchecked()),output:type(),permission:[`architect`,`update`],throttle:`skip`}),delete:operation({name:`schemaObjects.delete`,method:`DELETE`,path:`/schema/objects/:objectId`,input:N,output:type(),permission:[`architect`,`delete`],status:204,throttle:`skip`}),attributes:operation({name:`schemaObjects.attributes`,method:`GET`,path:`/schema/objects/:objectId/attributes`,input:N.extend(qn),output:type(),permission:[`architect`,`read`],throttle:`skip`}),addAttribute:operation({name:`schemaObjects.addAttribute`,method:`POST`,path:`/schema/objects/:objectId/attributes`,input:N.and(unchecked()),output:type(),permission:[`architect`,`create`],throttle:`skip`}),updateAttribute:operation({name:`schemaObjects.updateAttribute`,method:`PUT`,path:`/schema/objects/:objectId/attributes/:id`,input:Jn.and(unchecked()),output:type(),permission:[`architect`,`update`],throttle:`skip`}),deleteAttribute:operation({name:`schemaObjects.deleteAttribute`,method:`DELETE`,path:`/schema/objects/:objectId/attributes/:id`,input:Jn,output:type(),permission:[`architect`,`delete`],status:204,throttle:`skip`})},P={session:unchecked().optional()},Xn={get:operation({name:`schemaDraft.get`,method:`GET`,path:`/schema/draft`,input:a.object(P),output:type(),permission:[`architect`,`read`],throttle:`skip`}),projection:operation({name:`schemaDraft.projection`,method:`GET`,path:`/schema/draft/projection`,input:a.object({...P,objectName:unchecked().optional(),viewName:unchecked().optional()}),output:type(),permission:[`architect`,`read`],throttle:`skip`}),commandGuard:operation({name:`schemaDraft.commandGuard`,method:`POST`,path:`/schema/draft/command-guard`,input:a.object(P).and(unchecked()),query:[`session`],output:type(),permission:[`architect`,`read`],status:200,throttle:`skip`}),append:operation({name:`schemaDraft.append`,method:`POST`,path:`/schema/draft/operations`,input:a.object(P).and(unchecked()),query:[`session`],output:type(),throttle:`skip`}),removeOperation:operation({name:`schemaDraft.removeOperation`,method:`DELETE`,path:`/schema/draft/operations/:operationId`,input:a.object({operationId:a.string(),...P}).and(unchecked()),query:[`session`],output:type(),throttle:`skip`}),publish:operation({name:`schemaDraft.publish`,method:`POST`,path:`/schema/draft/publish`,input:a.object(P).and(unchecked()),query:[`session`],output:type(),throttle:`skip`}),discard:operation({name:`schemaDraft.discard`,method:`DELETE`,path:`/schema/draft`,input:a.object(P).and(unchecked()),query:[`session`],output:type(),status:204,throttle:`skip`})},Zn=a.object({folderPath:a.string().optional(),public:a.enum([`true`,`false`]).optional()}),Qn=a.object({limit:a.coerce.number().int().min(1).optional(),offset:a.coerce.number().int().min(0).optional(),folderPath:a.string().optional(),mimeType:a.string().optional()}),$n=a.strictObject({name:a.string().optional(),folderPath:a.string().optional()}),er=a.object({ids:a.array(a.string()).min(1).max(200),variant:a.enum([`original`,`thumbnail`]).optional()}),tr=a.object({id:a.string()}),nr={upload:operation({name:`files.upload`,method:`POST`,path:`/files/upload`,input:Zn,output:type(),permission:[`files`,`create`],actor:`required`,throttle:{limit:20,ttlMs:6e4},upload:{field:`files`,maxCount:10,maxBytes:52428800}}),list:operation({name:`files.list`,method:`GET`,path:`/files`,input:Qn,output:type(),permission:[`files`,`read`]}),publicFilesUrl:operation({name:`files.publicFilesUrl`,method:`GET`,path:`/files/public-files-url`,input:a.object({}),output:type()}),signedUrls:operation({name:`files.signedUrls`,method:`POST`,path:`/files/urls`,input:er,output:type(),permission:[`files`,`read`]}),get:operation({name:`files.get`,method:`GET`,path:`/files/:id`,input:tr,output:type(),permission:[`files`,`read`]}),update:operation({name:`files.update`,method:`PUT`,path:`/files/:id`,input:$n.extend(tr.shape),output:type(),permission:[`files`,`update`]}),signedUrl:operation({name:`files.signedUrl`,method:`GET`,path:`/files/:id/url`,input:tr,output:type(),permission:[`files`,`read`],actor:`required`})};function queryInteger(e){return a.preprocess(t=>e(typeof t==`string`||typeof t==`number`?t:void 0),a.number().int().optional()).optional()}const rr=a.object({limit:queryInteger(parsePositiveInteger),offset:queryInteger(parseNonNegativeInteger)}),ir=a.object({title:a.string(),parentId:a.string().nullish(),kind:a.enum([`file`,`folder`]).optional(),description:a.string().optional(),position:a.number().optional(),objectName:a.string().min(1),sourceRecordId:a.string().min(1),attributeName:a.string().min(1)}),ar=a.object({limit:queryInteger(parsePositiveInteger),offset:queryInteger(parseNonNegativeInteger),q:a.string().optional(),includeDrives:a.string().optional(),ids:a.string().optional()}),or=a.object({name:a.string()}),F=a.object({id:a.string()}),sr=F.extend({fileId:a.string()}),cr={list:operation({name:`documents.list`,method:`GET`,path:`/documents`,input:rr,output:type(),permission:[`documents`,`read`]}),recordOwners:operation({name:`documents.recordOwners`,method:`GET`,path:`/documents/record-owners`,input:ar,output:type(),permission:[`documents`,`read`]}),get:operation({name:`documents.get`,method:`GET`,path:`/documents/:id`,input:F,output:type(),permission:[`documents`,`read`]}),create:operation({name:`documents.create`,method:`POST`,path:`/documents`,input:ir,output:type(),permission:[`documents`,`create`]}),delete:operation({name:`documents.delete`,method:`DELETE`,path:`/documents/:id`,input:F,output:type(),permission:[`documents`,`delete`],status:204}),restore:operation({name:`documents.restore`,method:`POST`,path:`/documents/:id/restore`,input:F,output:type(),permission:[`documents`,`delete`],status:200}),files:operation({name:`documents.files`,method:`GET`,path:`/documents/:id/files`,input:F,output:type(),permission:[`documents`,`read`]}),addFile:operation({name:`documents.addFile`,method:`POST`,path:`/documents/:id/files`,input:F.extend({fileId:a.string().min(1)}),output:type(),permission:[`documents`,`update`]}),removeFile:operation({name:`documents.removeFile`,method:`DELETE`,path:`/documents/:id/files/:fileId`,input:sr,output:type(),permission:[`documents`,`update`],status:204}),fileContent:operation({name:`documents.fileContent`,method:`GET`,path:`/documents/:id/files/:fileId/content`,input:sr,output:type(),permission:[`documents`,`read`],response:`bytes`}),preview:operation({name:`documents.preview`,method:`GET`,path:`/documents/:id/preview`,input:F,output:type(),permission:[`documents`,`read`],jsonNull:!0}),rename:operation({name:`documents.rename`,method:`POST`,path:`/documents/:id/rename`,input:F.extend(or.shape),output:type(),permission:[`documents`,`update`]}),content:operation({name:`documents.content`,method:`GET`,path:`/documents/:id/content`,input:F,output:type(),permission:[`documents`,`read`],response:`bytes`})},lr=a.object({title:a.string(),parentId:a.string().nullish(),description:a.string().optional(),recordId:a.string().optional(),position:a.number().optional()}),ur=a.object({title:a.string()}),dr=a.object({parentId:a.string().min(1).optional(),sort:a.enum(r.DOCUMENT_SORT_MODES).default(`manual`),cursor:a.string().min(1).max(r.RECORD_DRIVE_CURSOR_MAX_LENGTH).optional(),limit:a.preprocess(e=>parseBoundedPositiveInteger(typeof e==`string`||typeof e==`number`?e:void 0,{defaultValue:100,max:500}),a.number().int())}),fr=a.object({toParentId:unchecked().optional(),position:unchecked().optional(),toRecordId:unchecked().optional()}),pr=`toRecordId is required to copy a document.`,mr=a.object({toRecordId:a.string({error:pr}).min(1,pr),toParentId:unchecked().optional()}),hr=a.object({presetId:unchecked().optional(),objectName:unchecked().optional(),parentFolderId:unchecked().optional()}),gr=a.object({objectName:unchecked().optional(),paths:unchecked(),mode:unchecked().optional()}),I=a.object({id:a.string()}),L=a.object({recordId:a.string()}),_r={children:operation({name:`folders.children`,method:`GET`,path:`/folders/record-drive/:recordId/children`,input:L.extend({parentId:a.string().optional()}),output:type()}),childrenPage:operation({name:`folders.childrenPage`,method:`GET`,path:`/folders/record-drive/:recordId/children/page`,input:L.extend(dr.shape),output:type()}),search:operation({name:`folders.search`,method:`GET`,path:`/folders/record-drive/:recordId/search`,input:L.extend({q:a.string().optional()}),output:type(),permission:[`documents`,`read`]}),archived:operation({name:`folders.archived`,method:`GET`,path:`/folders/record-drive/:recordId/archived`,input:L.extend({scopeParentId:a.string().optional()}),output:type(),permission:[`documents`,`read`]}),recordFolders:operation({name:`folders.recordFolders`,method:`GET`,path:`/folders/record-drive/:recordId`,input:L,output:type()}),instantiatePreset:operation({name:`folders.instantiatePreset`,method:`POST`,path:`/folders/record-drive/:recordId/instantiate-preset`,input:L.extend(hr.shape),output:type()}),reconcilePaths:operation({name:`folders.reconcilePaths`,method:`POST`,path:`/folders/record-drive/:recordId/reconcile-paths`,input:L.extend(gr.shape),output:type()}),ancestors:operation({name:`folders.ancestors`,method:`GET`,path:`/folders/:id/ancestors`,input:I,output:type()}),create:operation({name:`folders.create`,method:`POST`,path:`/folders`,input:lr,output:type(),permission:[`documents`,`create`]}),rename:operation({name:`folders.rename`,method:`PATCH`,path:`/folders/:id`,input:I.extend(ur.shape),output:type(),permission:[`documents`,`update`]}),move:operation({name:`folders.move`,method:`POST`,path:`/folders/:id/move`,input:I.extend(fr.shape),output:type(),permission:[`documents`,`update`]}),copy:operation({name:`folders.copy`,method:`POST`,path:`/folders/:id/copy`,input:I.extend(mr.shape),output:type(),permission:[`documents`,`create`]}),delete:operation({name:`folders.delete`,method:`DELETE`,path:`/folders/:id`,input:I,output:type(),permission:[`documents`,`delete`]}),restore:operation({name:`folders.restore`,method:`POST`,path:`/folders/:id/restore`,input:I,output:type(),permission:[`documents`,`delete`]})},R=a.object({provider:a.enum(r.PROVIDER_NAMES),model:a.string().min(1),maxTokens:a.number().int().positive().optional()}),vr=a.object({maxRetries:a.number().int().min(0).max(10),backoffMs:a.number().int().min(100),backoffMultiplier:a.number().min(1).max(10)}),yr=a.object({inference:r.agentInferencePreferencesSchema.optional(),maxConcurrentRuns:a.number().int().min(1).max(100),retryPolicy:vr,costLimitUsd:a.number().finite().nonnegative().optional()}),z=a.object({enabled:a.boolean(),model:R.optional(),systemPrompt:a.string().optional(),maxRetries:a.number().int().min(0).optional()}),B={tools:a.never().optional(),mcpServers:a.never().optional(),canDelegate:a.never().optional()},V=a.string(),br=a.object({days:a.coerce.number().int().min(1).max(366).default(182)}),H=a.enum([`agent`,`routine`]),xr=a.array(a.string().min(1).max(200)).max(100),Sr=a.object({kind:H.default(`agent`),name:a.string().min(1).max(100),avatar:r.agentAvatarSchema.optional(),starters:r.agentStartersSchema.optional(),description:a.string().max(500).optional(),systemPrompt:a.string().max(2e4).default(``),model:R,toolGroups:xr.optional(),config:yr.optional().default(r.DEFAULT_AGENT_EXECUTION_CONFIG),schedule:r.agentScheduleSchema.optional(),maxDepth:a.number().int().min(0).optional(),maxTreeCostUsd:a.number().positive().optional(),critic:z.optional(),autoDecide:a.boolean().optional(),visibility:a.enum([`workspace`,`private`]).default(`workspace`),harness:x.optional(),environmentId:a.guid().optional(),...B}).refine(e=>e.kind===`routine`||e.systemPrompt.length>=10,{message:`systemPrompt must be at least 10 characters`,path:[`systemPrompt`]}),U=a.object({kind:H.optional(),name:a.string().min(1).max(100).optional(),avatar:r.agentAvatarSchema.nullable().optional(),starters:r.agentStartersSchema.nullable().optional(),description:a.string().max(500).nullable().optional(),systemPrompt:a.string().max(2e4).optional(),model:R.optional(),toolGroups:xr.optional(),config:yr.optional(),schedule:r.agentScheduleSchema.nullable().optional(),maxDepth:a.number().int().min(0).nullable().optional(),maxTreeCostUsd:a.number().positive().nullable().optional(),critic:z.nullable().optional(),autoDecide:a.boolean().nullable().optional(),visibility:a.enum([`workspace`,`private`]).optional(),harness:x.nullable().optional(),environmentId:a.guid().nullable().optional(),...B}),Cr=a.object({id:a.guid().optional(),revision:a.string().optional(),definition:U.omit({schedule:!0}).extend({kind:H.optional()}),schedule:r.agentScheduleSchema.omit({enabled:!0}).strict().nullable().optional(),triggers:a.array(r.refineTrigger(r.agentTriggerBaseSchema.omit({enabled:!0}).extend({id:a.guid().optional()}))).max(20).optional(),removeTriggerIds:a.array(a.guid()).max(20).optional()}).refine(e=>!e.id||!!e.revision,{message:`revision is required with id`,path:[`revision`]}).superRefine((e,t)=>{if(!e.id)for(let n of[`kind`,`name`,`model`])e.definition[n]===void 0&&t.addIssue({code:`custom`,message:`${n} is required to create a definition`,path:[`definition`,n]})}),wr=a.object({kind:H.optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional(),includeDeleted:a.string().transform(e=>e===`true`).optional()}),Tr=a.object({active:a.boolean()}),Er=a.object({roleIds:a.array(a.guid()).min(0).max(50)}),Dr=a.object({key:unchecked(),value:unchecked(),isSensitive:unchecked().optional()}),W=a.object({id:V}),Or={list:operation({name:`agentDefinitions.list`,method:`GET`,path:`/agents/definitions`,input:wr,output:type(),permission:[`agents`,`read`]}),activity:operation({name:`agentDefinitions.activity`,method:`GET`,path:`/agents/definitions/activity`,input:a.object({}),output:type(),permission:[`agents`,`read`]}),dailyActivity:operation({name:`agentDefinitions.dailyActivity`,method:`GET`,path:`/agents/definitions/activity/daily`,input:br,output:type(),permission:[`agents`,`read`]}),setup:operation({name:`agentDefinitions.setup`,method:`POST`,path:`/agents/definitions/setup`,input:Cr,output:type(),permission:[`agents`,`create`]}),toolCatalog:operation({name:`agentDefinitions.toolCatalog`,method:`GET`,path:`/agents/definitions/:id/tool-catalog`,input:W,output:type(),permission:[`agents`,`read`]}),get:operation({name:`agentDefinitions.get`,method:`GET`,path:`/agents/definitions/:id`,input:W,output:type(),permission:[`agents`,`read`]}),create:operation({name:`agentDefinitions.create`,method:`POST`,path:`/agents/definitions`,input:Sr,output:type(),permission:[`agents`,`create`]}),update:operation({name:`agentDefinitions.update`,method:`PATCH`,path:`/agents/definitions/:id`,input:U.extend(W.shape),output:type(),permission:[`agents`,`update`]}),setActive:operation({name:`agentDefinitions.setActive`,method:`POST`,path:`/agents/definitions/:id/activation`,input:Tr.extend(W.shape),output:type(),permission:[`agents`,`manage`]}),archive:operation({name:`agentDefinitions.archive`,method:`DELETE`,path:`/agents/definitions/:id`,input:W,output:type(),permission:[`agents`,`delete`],status:204}),restore:operation({name:`agentDefinitions.restore`,method:`PATCH`,path:`/agents/definitions/:id/restore`,input:W,output:type(),permission:[`agents`,`update`]})},kr={list:operation({name:`agentRoles.list`,method:`GET`,path:`/agents/definitions/:id/roles`,input:W,output:type(),permission:[`people`,`read`]}),set:operation({name:`agentRoles.set`,method:`PUT`,path:`/agents/definitions/:id/roles`,input:Er.extend(W.shape),output:type(),permission:[`people`,`update`]})},Ar={list:operation({name:`agentEnvVars.list`,method:`GET`,path:`/agents/definitions/:id/env-vars`,input:W,output:type(),permission:[`env-vars`,`read`]}),upsert:operation({name:`agentEnvVars.upsert`,method:`POST`,path:`/agents/definitions/:id/env-vars`,input:Dr.extend(W.shape),output:type(),permission:[`env-vars`,`create`]}),delete:operation({name:`agentEnvVars.delete`,method:`DELETE`,path:`/agents/definitions/:id/env-vars/:envVarId`,input:W.extend({envVarId:V}),output:type(),permission:[`env-vars`,`delete`],status:204})},jr=a.object({input:a.record(a.string(),a.unknown())}),Mr=a.object({definitionId:a.string().optional(),definitionKind:a.enum([`agent`,`routine`]).optional(),status:a.enum([`pending`,`running`,`completed`,`failed`,`cancelled`,`paused`]).optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional()}).refine(e=>e.definitionId!==void 0||e.definitionKind!==void 0,{message:`definitionId or definitionKind is required`,path:[`definitionId`]}),Nr={launch:operation({name:`agentRuns.launch`,method:`POST`,path:`/agents/:definitionId/run`,input:jr.extend({definitionId:V}),output:type(),permission:[`agents`,`manage`]}),list:operation({name:`agentRuns.list`,method:`GET`,path:`/agents/runs`,input:Mr,output:type(),permission:[`agents`,`read`]}),cancel:operation({name:`agentRuns.cancel`,method:`PATCH`,path:`/agents/runs/:id/cancel`,input:a.object({id:V}),output:type(),permission:[`agents`,`manage`]})},Pr=r.agentTriggerBaseSchema.extend({definitionId:a.guid()}),Fr=r.refineTrigger(Pr),Ir=r.agentTriggerPatchSchema,Lr=a.object({definitionId:a.guid().optional(),eventType:a.string().optional(),enabled:a.string().transform(e=>e===`true`).optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional()}),G=a.object({id:V}),Rr={create:operation({name:`agentTriggers.create`,method:`POST`,path:`/agents/triggers`,input:Fr,output:type(),permission:[`agents`,`manage`]}),list:operation({name:`agentTriggers.list`,method:`GET`,path:`/agents/triggers`,input:Lr,output:type(),permission:[`agents`,`read`]}),get:operation({name:`agentTriggers.get`,method:`GET`,path:`/agents/triggers/:id`,input:G,output:type(),permission:[`agents`,`read`]}),update:operation({name:`agentTriggers.update`,method:`PATCH`,path:`/agents/triggers/:id`,input:Ir.extend(G.shape),output:type(),permission:[`agents`,`manage`]}),rotateWebhook:operation({name:`agentTriggers.rotateWebhook`,method:`POST`,path:`/agents/triggers/:id/rotate-webhook`,input:G,output:type(),permission:[`agents`,`manage`]}),delete:operation({name:`agentTriggers.delete`,method:`DELETE`,path:`/agents/triggers/:id`,input:G,output:type(),permission:[`agents`,`manage`],status:204})},zr=a.object({systemPrompt:a.string().min(1),model:R,inference:r.agentInferencePreferencesSchema.optional(),costLimitUsd:a.number().finite().nonnegative().nullable().optional(),maxDepth:a.number().int().min(0),maxTreeCostUsd:a.number().positive().optional(),critic:z.optional(),toolGroups:a.array(a.string().min(1).max(200)).max(20),...B}),Br=a.object({mode:a.enum([`interactive`,`autonomous`]),definitionId:a.string().optional(),inlineConfig:zr.optional(),missionPrompt:a.string().optional(),name:a.string().max(120).optional(),metadata:a.record(a.string(),a.unknown()).optional(),inferenceOverrides:r.agentSessionInferenceOverridesInputSchema.optional(),harness:x.optional(),environmentId:a.guid().optional(),id:a.string().uuid().optional()}),Vr=a.object({q:a.string().max(200).optional(),definitionId:a.string().optional(),mode:a.enum([`interactive`,`autonomous`]).optional(),parentSessionId:a.string().optional(),rootSessionId:a.string().optional(),phase:a.enum([`idle`,`running`,`parked`]).optional(),outcome:a.enum(r.TURN_OUTCOMES).optional(),orderBy:a.enum(r.AGENT_SESSION_LIST_ORDERS).optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional(),includeArchived:a.string().transform(e=>e===`true`).optional()}).strict(),Hr=a.object({question:a.string().max(r.AGENT_ASIDE_QUESTION_MAX_LENGTH),answer:a.string().max(r.AGENT_ASIDE_ANSWER_MAX_LENGTH)}).strict(),Ur=a.object({question:a.string().trim().min(1).max(r.AGENT_ASIDE_QUESTION_MAX_LENGTH),exchanges:a.array(Hr).max(20).optional()}).strict(),Wr=a.strictObject({id:a.string().uuid().optional(),aside:Hr.extend({question:a.string().trim().min(1).max(r.AGENT_ASIDE_QUESTION_MAX_LENGTH)}).optional()}),Gr=a.strictObject({turnId:a.string().uuid().optional(),clientMessageId:a.string().uuid().optional()}),Kr=a.strictObject({posture:a.enum([`architect`,`manual`,`auto`])}),qr=[`harnessState`,`harness`,`environmentId`];function dropServerManagedSessionFields(e){if(typeof e!=`object`||!e||Array.isArray(e))return e;let t={...e};for(let e of qr)delete t[e];return t}const K={id:V},q=a.object(K),Jr=a.preprocess(dropServerManagedSessionFields,a.strictObject({...K,name:a.string().trim().min(1).max(120)})),Yr=a.strictObject({...K,...r.sessionInferencePatchSchema.shape}).refine(({id:e,...t})=>r.isSessionInferencePatch(t),{message:`At least one inference override is required`}),Xr={create:operation({name:`agentSessions.create`,method:`POST`,path:`/agents/sessions`,input:Br,output:type(),permission:[`agents`,`read`],actor:`required`}),list:operation({name:`agentSessions.list`,method:`GET`,path:`/agents/sessions`,input:Vr,output:type(),actor:`required`}),get:operation({name:`agentSessions.get`,method:`GET`,path:`/agents/sessions/:id`,input:q,output:type(),actor:`required`}),imageUsage:operation({name:`agentSessions.imageUsage`,method:`GET`,path:`/agents/sessions/:id/image-usage`,input:q,output:type(),actor:`required`}),conversationOverview:operation({name:`agentSessions.conversationOverview`,method:`GET`,path:`/agents/sessions/:id/conversation-overview`,input:q,output:type(),actor:`required`}),link:operation({name:`agentSessions.link`,method:`GET`,path:`/agents/sessions/:id/link`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`}),todoPlan:operation({name:`agentSessions.todoPlan`,method:`GET`,path:`/agents/sessions/:id/todo-plan`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`,jsonNull:!0}),rename:operation({name:`agentSessions.rename`,method:`PATCH`,path:`/agents/sessions/:id`,input:Jr,output:type(),permission:[`agents`,`read`],actor:`required`}),archive:operation({name:`agentSessions.archive`,method:`PATCH`,path:`/agents/sessions/:id/archive`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`}),restore:operation({name:`agentSessions.restore`,method:`PATCH`,path:`/agents/sessions/:id/restore`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`}),markRead:operation({name:`agentSessions.markRead`,method:`PATCH`,path:`/agents/sessions/:id/read`,input:q,output:type(),permission:[`agents`,`read`],actor:`required`}),cancel:operation({name:`agentSessions.cancel`,method:`DELETE`,path:`/agents/sessions/:id`,input:Gr.extend(K),output:type(),permission:[`agents`,`read`],actor:`required`}),setInferenceOverrides:operation({name:`agentSessions.setInferenceOverrides`,method:`PATCH`,path:`/agents/sessions/:id/inference-overrides`,input:Yr,output:type(),permission:[`agents`,`read`],actor:`required`}),setWorkPosture:operation({name:`agentSessions.setWorkPosture`,method:`POST`,path:`/agents/sessions/:id/work-posture`,input:Kr.extend(K),output:type(),permission:[`agents`,`read`],actor:`required`,status:200}),compact:operation({name:`agentSessions.compact`,method:`POST`,path:`/agents/sessions/:id/compact`,input:q,output:type(),actor:`required`,status:200}),fork:operation({name:`agentSessions.fork`,method:`POST`,path:`/agents/sessions/:sessionId/fork`,input:Wr.extend({sessionId:V}),output:type(),permission:[`agents`,`read`],actor:`required`}),stream:operation({name:`agentSessions.stream`,method:`GET`,path:`/agents/sessions/:id/stream`,input:a.object({id:V,after:a.number().int().nonnegative()}),output:type(),response:`events`,actor:`required`}),aside:operation({name:`agentSessions.aside`,method:`POST`,path:`/agents/sessions/:id/aside`,input:Ur.extend({id:V}),output:type(),status:200,response:`events`,permission:[`agents`,`read`],actor:`required`})},Zr=a.object({id:a.string().min(1),type:a.string().min(1),entityId:a.string().min(1),label:a.string().min(1),objectName:a.string().min(1).optional(),startIndex:a.number().int().min(0),endIndex:a.number().int().min(0)}),Qr=a.object({id:a.string().min(1),name:a.string().min(1),mimeType:a.string().min(1),size:a.number().int().min(0)}),$r=a.object({content:a.string(),clientMessageId:a.string().uuid().optional(),model:a.object({provider:a.string(),model:a.string(),maxTokens:a.number().optional()}).optional(),attachments:a.array(Qr).max(o.AI_CHAT_MAX_FILES).optional(),mentions:a.array(Zr).optional(),quotes:a.array(r.artifactQuoteSchema).optional(),timezone:a.string().max(64).optional()}).refine(e=>e.content.trim().length>0||(e.attachments?.length??0)>0,{message:`Message must have content or at least one attachment`,path:[`content`]}),ei=a.strictObject({content:a.string()}),ti=a.object({history:a.literal(`1`).optional(),before:a.string().min(1).max(512).optional(),limit:a.coerce.number().int().positive().optional(),offset:a.coerce.number().int().nonnegative().optional()}).superRefine((e,t)=>{e.history===`1`&&e.limit!==void 0&&e.limit>100&&t.addIssue({code:`custom`,path:[`limit`],message:`History limit must be at most 100`}),e.before!==void 0&&e.history!==`1`&&t.addIssue({code:`custom`,path:[`before`],message:`Cursor requires history mode`}),e.history===`1`&&e.offset!==void 0&&t.addIssue({code:`custom`,path:[`offset`],message:`Offset is unavailable in history mode`})}),J={id:V},ni={...J,messageId:V},ri={send:operation({name:`agentMessages.send`,method:`POST`,path:`/agents/sessions/:id/messages`,input:$r.safeExtend(J),output:type(),permission:[`agents`,`read`],actor:`required`}),list:operation({name:`agentMessages.list`,method:`GET`,path:`/agents/sessions/:id/messages`,input:ti.safeExtend(J),output:type(),actor:`required`}),edit:operation({name:`agentMessages.edit`,method:`PATCH`,path:`/agents/sessions/:id/messages/:messageId`,input:ei.extend(ni),output:type(),permission:[`agents`,`read`],actor:`required`}),withdraw:operation({name:`agentMessages.withdraw`,method:`DELETE`,path:`/agents/sessions/:id/messages/:messageId`,input:a.object(ni),output:type(),permission:[`agents`,`read`],actor:`required`}),readNow:operation({name:`agentMessages.readNow`,method:`PATCH`,path:`/agents/sessions/:id/agent-read`,input:a.object(J),output:type(),permission:[`agents`,`read`],actor:`required`})},ii=a.strictObject({approved:a.boolean(),reason:a.string().max(2e3).optional()}),ai=a.string().max(r.ASK_QUESTIONS_ANSWER_MAX_LENGTH),oi=a.strictObject({skipped:a.boolean(),answers:a.record(a.string().max(r.ASK_QUESTIONS_ANSWER_MAX_LENGTH),a.union([ai,a.array(ai).max(50)])).refine(e=>Object.keys(e).length<=4,{message:`At most 4 answers`})}),si=a.strictObject({mode:a.enum([`manual`,`auto`])}),ci={resolve:operation({name:`agentApprovals.resolve`,method:`POST`,path:`/agents/sessions/:sessionId/approvals/:approvalId`,input:ii.extend({sessionId:V,approvalId:V}),output:type(),permission:[`agents`,`read`],actor:`required`,status:200}),answer:operation({name:`agentApprovals.answer`,method:`POST`,path:`/agents/sessions/:sessionId/requests/:requestId/answer`,input:oi.extend({sessionId:V,requestId:V}),output:type(),permission:[`agents`,`read`],actor:`required`,status:200}),setMode:operation({name:`agentApprovals.setMode`,method:`PATCH`,path:`/agents/sessions/:id/approval-mode`,input:si.extend({id:V}),output:type(),permission:[`agents`,`read`],actor:`required`})},li=2e4,ui=1e3,di=209715200,Y=a.object({objectName:a.string()}),X=Y.extend({id:a.string()}),Z={headerTimezone:unchecked().optional()},Q={relationScope:unchecked().optional(),group:unchecked().optional(),sorts:unchecked().optional(),filters:unchecked().optional(),userFilters:unchecked().optional(),timezone:unchecked().optional(),fields:unchecked().optional(),visibility:a.unknown().optional()},fi=a.object({limit:a.number().min(0).refine(Number.isInteger,{message:`must be an integer`}).optional(),offset:unchecked().optional(),countMode:unchecked().optional()}),pi=fi.extend(Q),mi=fi.extend({...Q,q:a.string()}),hi=a.object({query:a.custom(e=>typeof e==`object`&&!!e),measure:a.enum(t.AGGREGATE_MEASURES),attribute:a.string().min(1).optional(),groupBy:unchecked().optional(),groupBy2:unchecked().optional(),compare:unchecked().optional(),userFilters:Q.userFilters,timezone:Q.timezone,hostRecordId:a.string().min(1).optional()}).strict(),gi=a.looseObject({data:a.record(a.string(),a.unknown()),options:unchecked().optional()}),_i=a.looseObject({records:a.array(unchecked()).max(100),options:unchecked().optional()}),vi=a.object({updates:a.array(unchecked()).max(100)}),yi=a.object({ids:a.array(unchecked()).max(100)}),bi=a.object({icon:i.iconNameSchema}).strict(),xi=a.object({visibility:a.unknown().optional()}),Si=Y.extend({deleted:unchecked().optional(),limit:unchecked().optional(),offset:unchecked().optional(),countMode:unchecked().optional()}),Ci=a.object({objectName:a.string(),id:a.string(),ifMatch:unchecked().optional(),values:a.record(a.string(),a.unknown())}),wi=X.extend({title:unchecked().optional(),attributeName:unchecked().optional(),documentId:unchecked().optional(),properties:unchecked().optional(),parentId:unchecked().optional(),position:unchecked().optional()}),Ti=a.object({...Q,q:a.string().optional(),columns:a.array(a.string()).min(1).max(ui),ids:a.array(a.string()).max(li).optional(),filename:a.string().max(120).optional(),locale:a.string().optional()}),Ei={listGet:operation({name:`records.listGet`,method:`GET`,path:`/records/:objectName`,input:Si,output:type(),objectPermission:{param:`objectName`,action:`read`}}),list:operation({name:`records.list`,method:`POST`,path:`/records/:objectName/list`,input:Y.extend({...pi.shape,...Z}),output:type(),status:200,headers:{headerTimezone:`x-timezone`},objectPermission:{param:`objectName`,action:`read`}}),aggregate:operation({name:`records.aggregate`,method:`POST`,path:`/records/:objectName/aggregate`,input:hi.extend({objectName:a.string(),...Z}).strict(),output:type(),status:200,headers:{headerTimezone:`x-timezone`},objectPermission:{param:`objectName`,action:`read`}}),search:operation({name:`records.search`,method:`POST`,path:`/records/:objectName/search`,input:Y.extend({...mi.shape,...Z}),output:type(),status:200,headers:{headerTimezone:`x-timezone`},objectPermission:{param:`objectName`,action:`read`}}),bulkDelete:operation({name:`records.bulkDelete`,method:`POST`,path:`/records/:objectName/bulk-delete`,input:Y.extend(yi.shape),output:type(),status:200,objectPermission:{param:`objectName`,action:`delete`}}),bulkCreate:operation({name:`records.bulkCreate`,method:`POST`,path:`/records/:objectName/bulk-create`,input:_i.extend({objectName:a.string()}),output:type(),objectPermission:{param:`objectName`,action:`create`}}),bulkUpdate:operation({name:`records.bulkUpdate`,method:`POST`,path:`/records/:objectName/bulk-update`,input:Y.extend(vi.shape),output:type(),status:200,objectPermission:{param:`objectName`,action:`update`}}),setVisibility:operation({name:`records.setVisibility`,method:`PATCH`,path:`/records/:objectName/:recordId/visibility`,input:Y.extend({recordId:a.string(),...xi.shape}),output:type(),objectPermission:{param:`objectName`,action:`update`}}),setIcon:operation({name:`records.setIcon`,method:`PUT`,path:`/records/:objectName/:recordId/appearance`,input:bi.extend({objectName:a.string(),recordId:a.string()}).strict(),output:type(),objectPermission:{param:`objectName`,action:`update`}}),setImage:operation({name:`records.setImage`,method:`PUT`,path:`/records/:objectName/:recordId/image`,input:Y.extend({recordId:a.string()}),output:type(),upload:{field:`file`,maxCount:1,maxBytes:r.RECORD_IMAGE_MAX_BYTES},objectPermission:{param:`objectName`,action:`update`}}),clearAppearance:operation({name:`records.clearAppearance`,method:`DELETE`,path:`/records/:objectName/:recordId/appearance`,input:Y.extend({recordId:a.string()}),output:type(),objectPermission:{param:`objectName`,action:`update`}}),get:operation({name:`records.get`,method:`GET`,path:`/records/:objectName/:id`,input:X.extend({includeDeleted:unchecked().optional()}),output:type(),objectPermission:{param:`objectName`,action:`read`}}),restore:operation({name:`records.restore`,method:`POST`,path:`/records/:objectName/:id/restore`,input:X,output:type(),status:200,objectPermission:{param:`objectName`,action:`delete`}}),purge:operation({name:`records.purge`,method:`POST`,path:`/records/:objectName/:id/purge`,input:X,output:type(),status:200,objectPermission:{param:`objectName`,action:`manage`}}),create:operation({name:`records.create`,method:`POST`,path:`/records/:objectName`,input:gi.extend({objectName:a.string()}),output:type(),objectPermission:{param:`objectName`,action:`create`}}),update:operation({name:`records.update`,method:`PUT`,path:`/records/:objectName/:id`,input:Ci,output:type(),headers:{ifMatch:`if-match`},body:`values`,objectPermission:{param:`objectName`,action:`update`}}),delete:operation({name:`records.delete`,method:`DELETE`,path:`/records/:objectName/:id`,input:X,output:type(),status:204,objectPermission:{param:`objectName`,action:`delete`}}),attachDocument:operation({name:`records.attachDocument`,method:`POST`,path:`/records/:objectName/:id/documents/attach`,input:wi,output:type(),upload:{field:`files`,maxCount:1,maxBytes:di},objectPermission:{param:`objectName`,action:`update`}}),documents:operation({name:`records.documents`,method:`GET`,path:`/records/:objectName/:id/documents`,input:X,output:type(),objectPermission:{param:`objectName`,action:`read`}}),export:operation({name:`records.export`,method:`POST`,path:`/records/:objectName/export`,input:Y.extend(Ti.shape),output:type(),status:200,response:`bytes`,objectPermission:{param:`objectName`,action:`read`}})},Di=a.object({role:a.enum(r.RECORD_ACCESS_ROLES,{error:`role must be one of: ${r.RECORD_ACCESS_ROLES.join(`, `)}`})}),Oi=a.object({objectName:a.string(),recordId:p}),ki=Oi.extend({actorId:p}),Ai={list:operation({name:`recordAccess.list`,method:`GET`,path:`/records/:objectName/:recordId/access`,input:Oi,output:type(),objectPermission:{param:`objectName`,action:`read`}}),grant:operation({name:`recordAccess.grant`,method:`PUT`,path:`/records/:objectName/:recordId/access/:actorId`,input:ki.extend(Di.shape),output:type(),objectPermission:{param:`objectName`,action:`update`}}),revoke:operation({name:`recordAccess.revoke`,method:`DELETE`,path:`/records/:objectName/:recordId/access/:actorId`,input:ki,output:type(),objectPermission:{param:`objectName`,action:`update`}}),clear:operation({name:`recordAccess.clear`,method:`DELETE`,path:`/records/:objectName/:recordId/access`,input:Oi,output:type(),objectPermission:{param:`objectName`,action:`update`}})},ji=a.uuid(),$=a.string().trim().min(1).max(100),Mi=a.strictObject({name:a.string().trim().min(1).max(255),version:a.string().trim().min(1).max(50)}),Ni=a.union([a.strictObject({installationId:ji,name:$,platform:a.enum([`darwin`,`linux`]),arch:a.string().trim().min(1).max(50),hostname:a.string().trim().min(1).max(255)}),a.strictObject({installationId:ji,name:$,browser:Mi})]),Pi={name:$.optional(),agentExecutionAuthorized:a.boolean().optional()};function namesAField(e){return e.name!==void 0||e.agentExecutionAuthorized!==void 0}const Fi={message:`At least one device field is required`},Ii=a.strictObject(Pi).refine(namesAField,Fi),Li=a.strictObject({installationId:ji,name:$,browser:Mi}),Ri=a.object({id:p}),zi={list:operation({name:`devices.list`,method:`GET`,path:`/devices`,input:a.object({}),output:type()}),pair:operation({name:`devices.pair`,method:`POST`,path:`/devices/pair`,input:Ni,output:type()}),update:operation({name:`devices.update`,method:`PATCH`,path:`/devices/:id`,input:a.strictObject({id:p,...Pi}).refine(namesAField,Fi),output:type()}),revoke:operation({name:`devices.revoke`,method:`DELETE`,path:`/devices/:id`,input:Ri,output:type()}),control:operation({name:`devices.control`,method:`GET`,path:`/devices/:id/control`,input:Ri,output:type()}),releaseControl:operation({name:`devices.releaseControl`,method:`DELETE`,path:`/devices/:id/control`,input:Ri,output:type(),status:204})},Bi={capabilities:operation({name:`dictation.capabilities`,method:`GET`,path:`/ai/dictation`,input:a.object({}),output:type()}),createSession:operation({name:`dictation.createSession`,method:`POST`,path:`/ai/dictation/sessions`,input:a.object({}),output:type()}),usage:operation({name:`dictation.usage`,method:`GET`,path:`/ai/dictation/usage`,input:a.object({}),output:type()})};exports.AggregateRecordsDto=hi,exports.BULK_MAX_ITEMS=100,exports.BulkCreateRecordsDto=_i,exports.BulkDeleteRecordsDto=yi,exports.BulkUpdateRecordsDto=vi,exports.CreateRecordDto=gi,exports.DICTATION_STREAM_PATH=`/ai/dictation/stream`,exports.EXPORT_MAX_COLUMNS=ui,exports.EXPORT_MAX_IDS=li,exports.ListQueryDto=pi,exports.OperationInputRefusal=OperationInputRefusal,exports.RECORD_ATTACH_MAX_BYTES=di,exports.RecordPaginationDto=fi,exports.RecordQueryFields=Q,exports.SearchQueryDto=mi,exports.SetRecordIconDto=bi,exports.SetRecordVisibilityDto=xi,exports.acceptTenantInvitationBody=ke,exports.actorListQuery=Ge,exports.actorsOperations=Ke,exports.addSharedMailboxBody=Zt,exports.adminTenantBody=M,exports.agentAccessOperations=gt,exports.agentApprovalsOperations=ci,exports.agentDefinitionsOperations=Or,exports.agentEnvVarsOperations=Ar,exports.agentMemoryOperations=_e,exports.agentMessagesOperations=ri,exports.agentRolesOperations=kr,exports.agentRunsOperations=Nr,exports.agentSessionsOperations=Xr,exports.agentTriggersOperations=Rr,exports.aiGenerateBody=me,exports.aiOperations=he,exports.answerAgentRequestBody=oi,exports.apiKeysOperations=ee,exports.applySetupBody=Cr,exports.artifactsOperations=xe,exports.asideBody=Ur,exports.asideExchangeSchema=Hr,exports.assembleOperationInput=assembleOperationInput,exports.auditListQuery=ze,exports.auditOperations=Ve,exports.browserProfilesOperations=Tt,exports.buildOperationPath=buildOperationPath,exports.bundlesOperations=Fe,exports.cancelSessionBody=Gr,exports.changeStatusBody=it,exports.cloudBrowsersOperations=Et,exports.connectMcpServerBody=Ht,exports.connectorsOperations=Qt,exports.copyDocumentBody=mr,exports.createApiKeyBody=c,exports.createBrowserProfileBody=St,exports.createDefinitionBody=Sr,exports.createDocumentBody=ir,exports.createEnvironmentBody=At,exports.createFolderBody=lr,exports.createFormBody=wn,exports.createMailDraftBody=fn,exports.createRoleBody=ct,exports.createSessionBody=Br,exports.createTenantInvitationBody=Oe,exports.createTriggerBody=Fr,exports.createUserProfileBody=tt,exports.dailyActivityQuery=br,exports.definitionActivationBody=Tr,exports.devicesOperations=zi,exports.dictationOperations=Bi,exports.documentOwnersQuery=ar,exports.documentsOperations=cr,exports.editMessageBody=ei,exports.emailCategoriesOperations=tn,exports.emailClassificationOperations=nn,exports.emailsOperations=ln,exports.embeddingsAdminOperations=zn,exports.encodePathSegment=encodePathSegment,exports.envVarsOperations=Ce,exports.environmentHarnessSchema=x,exports.environmentsOperations=Pt,exports.exportRecordsBody=Ti,exports.fileUrlsBody=er,exports.filesOperations=nr,exports.foldersOperations=_r,exports.forkSessionBody=Wr,exports.formsOperations=On,exports.geocodingAutocompleteQuery=He,exports.geocodingOperations=Ue,exports.grantAgentAccessBody=mt,exports.grantPageAccessBody=_t,exports.grantRecordAccessBody=Di,exports.harnessModelsQuery=Nt,exports.instantiatePresetBody=hr,exports.listDefinitionsQuery=wr,exports.listDocumentsQuery=rr,exports.listEnvironmentsQuery=Mt,exports.listFilesQuery=Qn,exports.listRunsQuery=Mr,exports.listSessionMessagesQuery=ti,exports.listSessionsQuery=Vr,exports.listTriggersQuery=Lr,exports.mailDraftsOperations=mn,exports.mailboxQueryBody=rn,exports.markReadBody=sn,exports.mcpServersOperations=Gt,exports.meetingsAdminOperations=Rn,exports.meetingsOperations=ue,exports.meetingsQuery=ne,exports.meetingsQueryFields=u,exports.memoryAdminOperations=Vn,exports.modelsOperations=ge,exports.moveDocumentBody=fr,exports.newsOperations=Ln,exports.notificationListQuery=Me,exports.notificationsOperations=Pe,exports.operation=operation,exports.operationGroup=operationGroup,exports.pageAccessOperations=yt,exports.pageDataBody=gn,exports.pagesOperations=vn,exports.pairDeviceBody=Ni,exports.parseBoundedNonNegativeInteger=parseBoundedNonNegativeInteger,exports.parseBoundedPositiveInteger=parseBoundedPositiveInteger,exports.parseNonNegativeInteger=parseNonNegativeInteger,exports.parsePositiveInteger=parsePositiveInteger,exports.patchMailDraftBody=pn,exports.pathParamNames=pathParamNames,exports.permissionsOperations=pt,exports.prepareBrowserProfileBody=wt,exports.privateEnvVarsOperations=we,exports.quotasOperations=de,exports.recentActivityOperations=Fn,exports.recipientSuggestionsQuery=on,exports.reconcilePathsBody=gr,exports.reconnectMcpOAuthBody=Wt,exports.recordAccessOperations=Ai,exports.recordDriveChildrenPageQuery=dr,exports.recordHistoryQuery=Be,exports.recordMailboxBody=an,exports.recordMeetingsBody=ie,exports.recordOperationsOperations=In,exports.recordsOperations=Ei,exports.registerDeviceBody=Li,exports.relationsOperations=jn,exports.renameDocumentBody=or,exports.renameFolderBody=ur,exports.renameSessionInput=Jr,exports.resetAccessBody=rt,exports.resolveApprovalBody=ii,exports.resolveRecentActivityBody=Pn,exports.resolveRelationsBatchBody=An,exports.resolveRelationsBody=kn,exports.runAgentBody=jr,exports.schemaDraftOperations=Xn,exports.schemaGroupsOperations=ve,exports.schemaObjectsOperations=Yn,exports.schemaSourcesOperations=Kn,exports.schemaStateOperations=Wn,exports.searchAdminOperations=Un,exports.searchOperations=Mn,exports.sendMessageBody=$r,exports.sessionInferenceOverridesInput=Yr,exports.setActorRolesBody=dt,exports.setAgentRolesBody=Er,exports.setApprovalModeBody=si,exports.setHomeBody=hn,exports.setMyPreferenceBody=ot,exports.setRolePermissionsBody=ut,exports.setSessionWorkPostureBody=Kr,exports.splitOperationInput=splitOperationInput,exports.startConnectorAuthBody=Xt,exports.startGitHubAuthBody=w,exports.startMcpOAuthBody=Ut,exports.tenantInvitationsOperations=Ae,exports.tenantSettingsOperations=De,exports.type=type,exports.unchecked=unchecked,exports.updateBrowserProfileBody=Ct,exports.updateDefinitionBody=U,exports.updateDeviceBody=Ii,exports.updateEnvironmentBody=jt,exports.updateFileBody=$n,exports.updateFormBody=Tn,exports.updateRoleBody=lt,exports.updateTenantSettingsBody=Ee,exports.updateTriggerBody=Ir,exports.updateUserProfileBody=nt,exports.uploadFileFields=Zn,exports.upsertAgentEnvVarBody=Dr,exports.upsertEnvVarBody=Se,exports.usageQuery=pe,exports.usersOperations=st,exports.uuidParam=p,exports.viewsOperations=yn;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
-
const e=require("./
|
|
2
|
+
const e=require("./rolldown-runtime-DETHMehu.js"),t=require("./exceptions.js");require("./zod-locale.js");let n=require("zod");n=e.__toESM(n);let r=require("@standards/constants");const i=[`skill`,`memory`,`drives`,`artifact`,`meeting`];function isNativeObjectName(e){return i.includes(e)}const a=[`workspace`,`private`],o=[`all`,...a,`shared`],s=[...a,`shared`];function parseRecordListScope(e){if(typeof e==`string`&&s.includes(e))return e;throw new t.ValidationError(`visibility must be one of: ${s.join(`, `)} (received: ${String(e)})`,[])}function parseResourceVisibility(e){if(typeof e==`string`&&a.includes(e))return e;throw new t.ValidationError(`visibility must be one of: ${a.join(`, `)} (received: ${String(e)})`,[])}const c=[`id`,`createdAt`,`updatedAt`,`createdBy`,`lastUpdatedBy`,`visibility`,`ownedBy`],l=[...c,`objectId`,`label`,`embeddingText`,`values`,`metadata`,`deletedAt`,`deletedBy`,`schemaVersion`,`appearance`,`owned_by`],u=i,d={attributesPerObject:300,tabsPerView:24,membersPerGroup:4,pageRows:1e3,groupsPerFormTab:12,fieldsPerGroup:60,fieldsPerFormTab:150,columnsPerTab:50,optionsPerAttribute:200,sidePanelAttributes:100,sidePanelPanes:20,filterRulesPerTab:50,sortsPerTab:20,emailAttributesPerTab:30,objectsPerPlan:20,mutationsPerPlan:500,planBytes:524288,historyDefault:20,historyMax:50,iconQueries:5,iconResults:20,labelLength:128},f=Object.keys(r.COLORS),p=new Set(r.ICONS),m=n.enum(f).describe(`A color id from the palette`),h=n.string().superRefine((e,t)=>{p.has(e)||t.addIssue({code:`custom`,message:`Invalid icon name`})}).transform(e=>e);function isPlainRecord(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}const g=new Set(r.ICONS),_=/^[a-zA-Z_][a-zA-Z0-9_]*$/,v=/^[a-z][a-z0-9-]*$/,y=d.labelLength,b=n.string().min(1,`Object name cannot be empty`).max(63,`Object name is too long (max 63 characters)`).regex(/^[a-z][a-z0-9-]*$/,{message:`Invalid object name format.
|
|
3
3
|
Name must be in kebab-case (slug format):
|
|
4
4
|
✅ Valid: 'products', 'user-profiles', 'order-items'
|
|
5
|
-
❌ Invalid: 'Products', 'userProfiles', 'user_profiles'`});function validateObjectName(
|
|
5
|
+
❌ Invalid: 'Products', 'userProfiles', 'user_profiles'`});function validateObjectName(e){try{b.parse(e)}catch(e){throw e instanceof n.ZodError?new t.SchemaError(e.issues[0].message,t.SchemaErrorCode.INVALID_OBJECT_NAME):e}}function validateViewName(e){if(!e||e.length===0)throw new t.ValidationError(`View name cannot be empty`,[{path:[`name`],message:`View name cannot be empty`}]);if(e.length>63)throw new t.ValidationError(`View name is too long`,[{path:[`name`],message:`View name is too long (max 63 characters)`}]);if(!v.test(e))throw new t.ValidationError(`Invalid view name format`,[{path:[`name`],message:`View name must be in kebab-case (e.g., 'detail', 'list-view')`}])}function assertUniqueBy(e,t,n){let r=new Set;for(let i of e){let e=t(i);if(r.has(e))throw n(e);r.add(e)}}const x=n.string().min(1,`Attribute name cannot be empty`).max(63,`Attribute name is too long (max 63 characters)`).regex(_,{message:`Invalid attribute name format.
|
|
6
6
|
Name must be a valid variable identifier:
|
|
7
7
|
✅ Valid: 'firstName', 'first_name', 'FirstName', 'FIRST_NAME'
|
|
8
8
|
❌ Invalid: 'first-name', 'first name', '123name', 'first.name'`}).refine(e=>!l.includes(e),{message:`This is a reserved attribute name. Reserved names: ${l.join(`, `)}`});function validateAttributeName(e){if(!e||e.length===0)throw Error(`[AttributeBuilder] Attribute name cannot be empty`);if(e.length>63)throw Error(`[AttributeBuilder] Attribute name is too long (max 63 characters)`);if(!_.test(e))throw Error(`[AttributeBuilder] Invalid attribute name format.
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
/*! © 2025-2026 AND YOU CREATE SAS (RCS Paris 940 190 614). Proprietary — see LICENSE (Standards SDK License 1.0). */
|
|
2
|
+
const e=require("./rolldown-runtime-DETHMehu.js"),t=require("./exceptions.js");require("./zod-locale.js");const n=require("./attribute-validators-CUqsP1j_.js");let r=require("zod");r=e.__toESM(r);const i=[`text`,`number`,`boolean`,`date`,`select`,`multiselect`],a=r.object({placeholder:r.string().optional(),description:r.string().optional(),defaultValue:r.unknown().optional(),icon:r.string().optional(),order:r.number().int().optional(),hidden:r.boolean().optional(),archived:r.boolean().optional(),deprecated:r.boolean().optional(),metadata:r.record(r.string(),r.unknown()).optional()}),o=[`placeholder`,`description`,`defaultValue`,`icon`,`order`,`hidden`,`archived`,`deprecated`,`metadata`],s={relation:{icon:n.iconNameSchema.optional().describe(`Field icon from search_icons`)}},c={date:[`precision`],user:[`notifiesOnAssign`]};function wireOmittedConfigKeysFor(e){let t=s[e]??{};return[...o.filter(e=>!(e in t)),...c[e]??[]]}function wireHiddenTypeConfigMask(e){return Object.fromEntries((c[e]??[]).map(e=>[e,!0]))}function refuseForeignKeys(e,t,n=[]){let r=new Set(n);return function refuse(n,i,a,o=[]){let s=e[n];if(s!==void 0&&i!==void 0)for(let e of Object.keys(i))s.has(e)||r.has(e)||a.addIssue({code:`custom`,path:[...o,e],message:`"${e}" is not a ${n} ${t}; keys of ${n}: ${[...s].join(`, `)}`})}}const l=r.object({value:r.string().min(1).describe(`Stored value`),label:r.string().min(1).describe(`Label people see`),description:r.string().describe(`Extra context`).optional(),inverse:r.string().describe(`Paired option's value (symmetric)`).optional(),archived:r.boolean().describe(`Hides without deleting`).optional()}),u=r.enum([`idle`,`in_progress`,`finished`]).describe(`Workflow stage`),d=l.extend({color:n.colorIdSchema}).strict(),f=d,p=l.extend({color:n.colorIdSchema,group:u}).strict(),m=l.extend({color:r.string().optional().describe(`A color id`),group:u.optional()}).strict(),h=new Set(m.keyof().options),g=[`options`,`targetAttributeOptions`];function withoutUnknownOptionKeys(e){let t=e;for(let r of g){let i=e[r];if(!Array.isArray(i))continue;let a=!1,o=i.map(e=>!n.isPlainRecord(e)||Object.keys(e).every(e=>h.has(e))?e:(a=!0,Object.fromEntries(Object.entries(e).filter(([e])=>h.has(e)))));a&&(t={...t,[r]:o})}let r=e.properties;if(n.isPlainRecord(r)&&Array.isArray(r.definitions)){let e=r.definitions,i=e.map(e=>n.isPlainRecord(e)?withoutUnknownOptionKeys(e):e);i.some((t,n)=>t!==e[n])&&(t={...t,properties:{...r,definitions:i}})}return t}const _=r.array(m).min(1).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`});function writeOptionsArraySchema(e){return r.array(e).min(1).max(n.SCHEMA_LIMITS.optionsPerAttribute).refine(e=>{let t=e.map(e=>e.value);return new Set(t).size===t.length},{message:`Duplicate option values are not allowed`})}const v=writeOptionsArraySchema(d),y=writeOptionsArraySchema(f),b=writeOptionsArraySchema(p),x=r.object({object:r.string().min(1).describe(`Target object`),displayTemplate:r.string().optional().describe(`Linked record label template`),filter:r.record(r.string(),r.unknown()).optional().describe(`Restricts linkable records`)}),S=r.object({object:r.string().min(1).describe(`Other side's object`),attribute:r.string().min(1).describe(`Other side's attribute`),cardinality:r.enum([`one`,`many`]).optional().describe(`Other side's cardinality`),label:r.string().min(1).optional().describe(`Other side's label`),storageOwner:r.boolean().optional().describe(`Owns the join storage`)}),C=r.object({objectName:r.string().min(1).describe(`API name of the object whose options are mirrored`),attributeName:r.string().min(1).describe(`API name of the select/status attribute to mirror options from`),attributeId:r.string().optional().describe(`Id of the source attribute, resolved by the server`)}),w=a.extend({multiline:r.boolean().describe(`Renders as a multi-line textarea`).optional(),minLength:r.number().int().min(0).describe(`Minimum character count`).optional(),maxLength:r.number().int().min(1).describe(`Maximum character count`).optional(),pattern:r.string().describe(`Regular expression the value must match`).optional(),format:r.enum([`email`,`url`,`slug`]).describe(`Validates and renders as this format`).optional()}),T=a,E=a.extend({renderAs:r.enum([`number`,`rating`]).describe(`Plain number or a star rating`).optional(),min:r.number().describe(`Minimum allowed value`).optional(),max:r.number().describe(`Maximum allowed value`).optional(),unit:r.enum([`integer`,`decimal`,`percentage`]).describe(`How the value is stored and rendered`).optional(),decimals:r.number().int().min(0).max(10).describe(`Decimal places shown`).optional()}),D=a,O=a.extend({dateFormat:r.enum([`short`,`long`,`full`,`relative`]).describe(`How the date is rendered`).optional(),precision:r.enum([`day`,`month`,`year`]).describe(`Whether the value records a day, a month or a year`).optional(),minDate:r.string().describe(`Earliest allowed date (ISO)`).optional(),maxDate:r.string().describe(`Latest allowed date (ISO)`).optional(),includeTime:r.boolean().describe(`Also captures a time of day`).optional(),endDate:r.boolean().describe(`Paired with another date attribute as a range's end`).optional(),timeFormat:r.enum([`12h`,`24h`]).describe(`Clock format when a time is included`).optional()}),k=a.extend({defaultCountryCode:r.string().length(3).describe(`ISO country code preselected in the dialer`).optional()}),A=a.extend({defaultCurrency:r.string().length(3).describe(`ISO currency code preselected for new values`).optional(),allowedCurrencies:r.array(r.string().length(3)).describe(`ISO currency codes a value may use; any currency when omitted`).optional(),allowNegative:r.boolean().describe(`Whether a negative amount is accepted`).optional()}),j=a.extend({options:_.describe(`The workflow statuses, in order`)}),M=a.extend({granularity:r.enum([`full`,`address`,`city`,`state`,`country`,`coordinates`]).describe(`How precise a location must be captured`).optional(),defaultCountry:r.string().length(3).describe(`ISO country code preselected for new values`).optional(),allowedCountries:r.array(r.string().length(3)).describe(`ISO country codes a value may use; any country when omitted`).optional()}),N=a.extend({options:_.describe(`Options`),renderAs:r.literal(`badges`).optional().describe(`Renders the chosen option as a colored badge`)}),P=a.extend({options:_.describe(`Options`),renderAs:r.literal(`badges`).optional().describe(`Renders the chosen options as colored badges`)}),F=a.extend({types:r.array(r.enum([`user`,`agent`])).min(1).optional().describe(`Which kinds of actor can be picked; both when omitted`),multiple:r.boolean().optional().describe(`Whether more than one actor can be picked`),notifiesOnAssign:r.boolean().optional().describe(`Whether each person added to the value is notified`)}),I={name:n.ATTRIBUTE_NAME_SCHEMA.describe(`Property API name`),label:r.string().min(1).describe(`Label people see`),required:r.boolean().describe(`Required on every edge`).optional()},L={id:r.string().optional(),objectId:r.string().optional(),system:r.boolean().optional(),unique:r.boolean().optional()},R=Object.fromEntries(o.map(e=>[e,!0])),z=[`text`,`number`,`checkbox`,`date`,`phone`,`currency`,`location`],B=[...z,`select`,`multiselect`,`status`],V={text:w,number:E,checkbox:D,date:O,phone:k,currency:A,location:M,select:N,multiselect:P,status:j},H={...V,select:N.extend({options:v.describe(`Options`)}),multiselect:P.extend({options:y.describe(`Options`)}),status:j.extend({options:b.describe(`Statuses`)})},propertyWireConfigShapeFor=e=>H[e].omit(R).omit(wireHiddenTypeConfigMask(e)).shape,storedPropertyMember=e=>r.object({...I,...L,type:r.literal(e).describe(`Property type`),...V[e].shape}).strip(),U=r.discriminatedUnion(`type`,B.map(storedPropertyMember)),W=r.object({definitions:r.array(U).min(1).max(n.SCHEMA_LIMITS.optionsPerAttribute).describe(`Edge properties`)}).strip().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),G=refuseForeignKeys(Object.fromEntries(B.map(e=>[e,new Set(Object.keys(propertyWireConfigShapeFor(e)))])),`property key`,[...Object.keys(I),`type`]);function refuseForeignPropertyKeys(e,t){G(e.type,e,t)}const K=z.reduce((e,t)=>(Object.assign(e,propertyWireConfigShapeFor(t)),e),{}),optionPropertyWireMember=e=>r.object({...I,type:e.length===1?r.literal(e[0]).describe(`Property type`):r.enum(e).describe(`Property type`),...propertyWireConfigShapeFor(e[0])}).strict(),q=r.discriminatedUnion(`type`,[optionPropertyWireMember([`select`,`multiselect`]),optionPropertyWireMember([`status`]),r.object({...I,type:r.enum(z).describe(`Property type`),...K}).strict().superRefine(refuseForeignPropertyKeys)]),J=r.object({definitions:r.array(q).min(1).max(n.SCHEMA_LIMITS.optionsPerAttribute).describe(`Edge properties`)}).strict().describe(`Properties carried by the edge itself (role, share, since…), never a third object`),Y=a.extend({targets:r.array(x).min(1).describe(`Target object(s)`),cardinality:r.enum([`one`,`many`]).describe(`one or many`),maxItems:r.number().int().min(1).optional().describe(`Max linked records`),bilateral:S.optional().describe(`Syncs the other side's attribute`),properties:W.optional()}),X=a.extend({expression:r.string().min(1).describe(`The formula expression, compiled against this object's attributes`),returnType:r.enum(i).describe(`The formula's result type`),decimals:r.number().int().min(0).max(10).optional().describe(`Decimal places shown for a number result`),currencyCode:r.string().length(3).optional().describe(`ISO 4217 code a number result renders with; presentation only`),allowRelations:r.boolean().optional().describe(`Whether the expression may read across a relation`),optionsSource:C.optional().describe(`Mirrors an option set`)}),Z=a.extend({relationAttribute:r.string().min(1).optional().describe(`API name of the relation this rollup aggregates through`),relationPath:r.string().optional().describe(`Not supported yet — single-hop only`),targetAttribute:r.string().min(1).optional().describe(`API name of the attribute aggregated on the relation's target object; not read by count`),function:r.enum([`sum`,`avg`,`earliest`,`latest`,`count`,`countValues`,`countUniqueValues`,`countEmpty`,`percentEmpty`,`percentNotEmpty`,`original`]).describe(`The aggregation applied across the linked records`),decimals:r.number().int().min(0).max(10).optional().describe(`Decimal places shown for a numeric result`),targetAttributeType:r.string().optional().describe(`Server-set`),targetAttributeOptions:r.array(m).optional().describe(`Server-set`),targetCurrencyCode:r.string().length(3).optional().describe(`Server-set`),optionsSource:C.optional().describe(`Mirrors an option set`)});function rollupTargetIssue(e,t){if(e===`rollup`&&t.function!==`count`&&t.targetAttribute===void 0)return{path:[`targetAttribute`],message:`targetAttribute is required for a "${String(t.function)}" rollup`}}function datePrecisionIssues(e,t,r=[]){let i=[],a=t.precision;if(e===`date`&&a!==void 0&&a!==`day`)for(let e of[`includeTime`,`endDate`])t[e]===!0&&i.push({path:[...r,`precision`],message:`A "${String(a)}" precision cannot be combined with ${e}`});let o=t.properties;return n.isPlainRecord(o)&&Array.isArray(o.definitions)&&o.definitions.forEach((e,t)=>{n.isPlainRecord(e)&&i.push(...datePrecisionIssues(String(e.type),e,[...r,`properties`,`definitions`,t]))}),i}const Q={text:w,richtext:T,number:E,checkbox:D,date:O,phone:k,currency:A,status:j,location:M,select:N,multiselect:P,user:F,relation:Y,formula:X,rollup:Z,document:a.extend({properties:W.optional(),accepts:r.array(r.string().min(1)).optional().describe("MIME prefixes or globs a file must match (e.g. `image/*`, `*.pdf`)"),maxFileSize:r.number().int().min(1).optional().describe(`Maximum file size in bytes`)})};function getAttributeConfigSchema(e){let n=Q[e];if(!n)throw new t.ValidationError(`Unsupported attribute type: ${e}`,[]);return n}function parseAttributeConfig(e,t){let n=getAttributeConfigSchema(e).strip().parse(t),r=rollupTargetIssue(e,n);if(r)throw validationErrorFromIssues([r]);return n}function getAttributeConfigWriteSchema(e){let t=getAttributeConfigSchema(e).extend({icon:n.iconNameSchema.optional()});switch(e){case`select`:return t.extend({options:v.describe(`Options`)});case`multiselect`:return t.extend({options:y.describe(`Options`)});case`status`:return t.extend({options:b.describe(`Statuses`)});default:return t}}function validationErrorFromIssues(e){return t.ValidationError.fromZodErrors(e.map(e=>({path:e.path.map(e=>typeof e==`symbol`?String(e):e),message:e.message})))}function parseWriteSchema(e,t){let n=getAttributeConfigWriteSchema(e).strip().safeParse(t);if(!n.success)throw validationErrorFromIssues(n.error.issues);let r=rollupTargetIssue(e,n.data);if(r)throw validationErrorFromIssues([r]);let i=datePrecisionIssues(e,n.data);if(i.length>0)throw validationErrorFromIssues(i);return n.data}function parseAttributeConfigForCreate(e,t){return parseWriteSchema(e,t)}function validatePatchedIcon(e){if(!Object.prototype.hasOwnProperty.call(e,`icon`))return;let r=n.iconNameSchema.optional().safeParse(e.icon);if(!r.success)throw t.ValidationError.fromZodErrors(r.error.issues.map(e=>({path:[`icon`,...e.path.map(e=>typeof e==`symbol`?String(e):e)],message:e.message})))}function isSelectLike(e){return e===`select`||e===`multiselect`||e===`status`}function parseAttributeConfigForUpdate(e,t){let n=Object.prototype.hasOwnProperty.call(t,`options`),r=Object.prototype.hasOwnProperty.call(t,`icon`),i={...e,...t};if(validatePatchedIcon(t),n){let{icon:t,...n}=i,a=parseWriteSchema(e.type,r?i:n);return!r&&t!==void 0&&(a.icon=t),a}let a=e.options;isSelectLike(e.type)&&(i.options=[{value:`__legacy__`,label:`__legacy__`}]);let o=getAttributeConfigSchema(e.type).strip().safeParse(i);if(!o.success)throw validationErrorFromIssues(o.error.issues);let s=o.data,c=datePrecisionIssues(e.type,s);if(c.length>0)throw validationErrorFromIssues(c);return isSelectLike(e.type)&&(s.options=a),s}Object.defineProperty(exports,"COMPUTED_RETURN_TYPES",{enumerable:!0,get:function(){return i}}),Object.defineProperty(exports,"SIMPLE_PROPERTY_TYPES",{enumerable:!0,get:function(){return z}}),Object.defineProperty(exports,"WIRE_OFFERED_BASE_CONFIG",{enumerable:!0,get:function(){return s}}),Object.defineProperty(exports,"WIRE_OMITTED_CONFIG_KEYS",{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,"attributeConfigSchemas",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(exports,"datePrecisionIssues",{enumerable:!0,get:function(){return datePrecisionIssues}}),Object.defineProperty(exports,"getAttributeConfigSchema",{enumerable:!0,get:function(){return getAttributeConfigSchema}}),Object.defineProperty(exports,"getAttributeConfigWriteSchema",{enumerable:!0,get:function(){return getAttributeConfigWriteSchema}}),Object.defineProperty(exports,"multiselectOptionWriteSchema",{enumerable:!0,get:function(){return f}}),Object.defineProperty(exports,"parseAttributeConfig",{enumerable:!0,get:function(){return parseAttributeConfig}}),Object.defineProperty(exports,"parseAttributeConfigForCreate",{enumerable:!0,get:function(){return parseAttributeConfigForCreate}}),Object.defineProperty(exports,"parseAttributeConfigForUpdate",{enumerable:!0,get:function(){return parseAttributeConfigForUpdate}}),Object.defineProperty(exports,"propertyAttributeSchema",{enumerable:!0,get:function(){return U}}),Object.defineProperty(exports,"propertyAttributeWireSchema",{enumerable:!0,get:function(){return q}}),Object.defineProperty(exports,"propertySchemaSchema",{enumerable:!0,get:function(){return W}}),Object.defineProperty(exports,"propertySchemaWireSchema",{enumerable:!0,get:function(){return J}}),Object.defineProperty(exports,"refuseForeignKeys",{enumerable:!0,get:function(){return refuseForeignKeys}}),Object.defineProperty(exports,"selectOptionWriteSchema",{enumerable:!0,get:function(){return d}}),Object.defineProperty(exports,"statusGroupSchema",{enumerable:!0,get:function(){return u}}),Object.defineProperty(exports,"statusOptionWriteSchema",{enumerable:!0,get:function(){return p}}),Object.defineProperty(exports,"wireHiddenTypeConfigMask",{enumerable:!0,get:function(){return wireHiddenTypeConfigMask}}),Object.defineProperty(exports,"wireOmittedConfigKeysFor",{enumerable:!0,get:function(){return wireOmittedConfigKeysFor}}),Object.defineProperty(exports,"withoutUnknownOptionKeys",{enumerable:!0,get:function(){return withoutUnknownOptionKeys}});
|