@corsair-dev/cal 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +191 -0
- package/dist/client.d.ts +11 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/endpoints/bookings.d.ts +9 -0
- package/dist/endpoints/bookings.d.ts.map +1 -0
- package/dist/endpoints/index.d.ts +1530 -0
- package/dist/endpoints/index.d.ts.map +1 -0
- package/dist/endpoints/types.d.ts +4747 -0
- package/dist/endpoints/types.d.ts.map +1 -0
- package/dist/error-handlers.d.ts +40 -0
- package/dist/error-handlers.d.ts.map +1 -0
- package/dist/index.d.ts +4857 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1 -0
- package/dist/schema/database.d.ts +154 -0
- package/dist/schema/database.d.ts.map +1 -0
- package/dist/schema/index.d.ts +157 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/tsup.config.d.ts +3 -0
- package/dist/tsup.config.d.ts.map +1 -0
- package/dist/webhooks/bookings.d.ts +6 -0
- package/dist/webhooks/bookings.d.ts.map +1 -0
- package/dist/webhooks/index.d.ts +322 -0
- package/dist/webhooks/index.d.ts.map +1 -0
- package/dist/webhooks/ping.d.ts +3 -0
- package/dist/webhooks/ping.d.ts.map +1 -0
- package/dist/webhooks/types.d.ts +997 -0
- package/dist/webhooks/types.d.ts.map +1 -0
- package/package.json +40 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,aAAa,EACb,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,cAAc,EACd,iBAAiB,EAEjB,uBAAuB,EAIvB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAExD,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAM/E,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,KAAK,EACX,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,EACT,MAAM,kBAAkB,CAAC;AAS1B,MAAM,MAAM,gBAAgB,GAAG;IAC9B,QAAQ,CAAC,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,iBAAiB,CAAC,OAAO,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,WAAW,CAAC,EAAE,uBAAuB,CAAC,OAAO,kBAAkB,CAAC,CAAC;CACjE,CAAC;AAEF,MAAM,MAAM,UAAU,GAAG,oBAAoB,CAC5C,OAAO,SAAS,EAChB,gBAAgB,CAChB,CAAC;AAEF,MAAM,MAAM,oBAAoB,GAAG,iBAAiB,CAAC,gBAAgB,CAAC,CAAC;AAEvE,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAEzE,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,kBAAkB,EAAE,KAAK,IAAI,eAAe,CAC5E,UAAU,EACV,KAAK,EACL,kBAAkB,CAAC,CAAC,CAAC,CACrB,CAAC;AAEF,MAAM,MAAM,YAAY,GAAG;IAC1B,YAAY,EAAE,WAAW,CAAC,cAAc,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7E,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC1E,cAAc,EAAE,WAAW,CAC1B,gBAAgB,EAChB,iBAAiB,CAAC,gBAAgB,CAAC,CACnC,CAAC;IACF,cAAc,EAAE,WAAW,CAC1B,gBAAgB,EAChB,iBAAiB,CAAC,gBAAgB,CAAC,CACnC,CAAC;IACF,kBAAkB,EAAE,WAAW,CAC9B,oBAAoB,EACpB,iBAAiB,CAAC,oBAAoB,CAAC,CACvC,CAAC;IACF,eAAe,EAAE,WAAW,CAC3B,iBAAiB,EACjB,iBAAiB,CAAC,iBAAiB,CAAC,CACpC,CAAC;IACF,eAAe,EAAE,WAAW,CAC3B,iBAAiB,EACjB,iBAAiB,CAAC,iBAAiB,CAAC,CACpC,CAAC;CACF,CAAC;AAEF,KAAK,UAAU,CAAC,CAAC,SAAS,MAAM,iBAAiB,EAAE,MAAM,IAAI,cAAc,CAC1E,UAAU,EACV,MAAM,EACN,iBAAiB,CAAC,CAAC,CAAC,CACpB,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG;IACzB,cAAc,EAAE,UAAU,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC;IAClE,gBAAgB,EAAE,UAAU,CAAC,kBAAkB,EAAE,qBAAqB,CAAC,CAAC;IACxE,kBAAkB,EAAE,UAAU,CAAC,oBAAoB,EAAE,uBAAuB,CAAC,CAAC;IAC9E,YAAY,EAAE,UAAU,CAAC,cAAc,EAAE,iBAAiB,CAAC,CAAC;IAC5D,IAAI,EAAE,UAAU,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;AAEzD,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUd,CAAC;AAEX,QAAA,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAUb,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6BrB,CAAC;AAEX,QAAA,MAAM,eAAe,EAAE,SAA8B,CAAC;AA6DtD,eAAO,MAAM,aAAa;;;;CAIW,CAAC;AAEtC,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,gBAAgB,IAAI,aAAa,CACpE,KAAK,EACL,OAAO,SAAS,EAChB,OAAO,kBAAkB,EACzB,OAAO,iBAAiB,EACxB,CAAC,EACD,OAAO,eAAe,CACtB,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;AAEhE,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,gBAAgB,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC;AAE7E,wBAAgB,GAAG,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EACnD,eAAe,GAAE,gBAAgB,GAAG,CAA8B,GAChE,iBAAiB,CAAC,CAAC,CAAC,CA0DtB;AAED,YAAY,EACX,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,mBAAmB,EACnB,sBAAsB,EACtB,oBAAoB,EACpB,uBAAuB,EACvB,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,EACpB,uBAAuB,EACvB,0BAA0B,EAC1B,iBAAiB,EACjB,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EACX,qBAAqB,EACrB,mBAAmB,EACnB,uBAAuB,EACvB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,SAAS,GACT,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{logEventFromContext as h}from"corsair/core";import{ApiError as Z}from"corsair/http";import{request as V}from"corsair/http";var f=class extends Error{constructor(n,a,i){super(n);this.code=a;this.body=i;this.name="CalAPIError"}},J="https://api.cal.com/v2";async function c(e,t,n={}){let{method:a="GET",body:i,query:l}=n,d={BASE:J,VERSION:"2024-08-13",WITH_CREDENTIALS:!1,CREDENTIALS:"omit",TOKEN:t,HEADERS:{"Content-Type":"application/json","cal-api-version":"2024-08-13"}},$={method:a,url:e,body:a==="POST"||a==="PUT"||a==="PATCH"?i:void 0,mediaType:"application/json; charset=utf-8",query:a==="GET"?l:void 0};try{return await V(d,$)}catch(p){if(p instanceof Z){let q=p.body?.error?.message||p.body?.message||p.body?.error||p.message;throw new f(q,String(p.status),p.body)}throw p instanceof Error?new f(p.message):new f("Unknown error")}}var A=async(e,t)=>{let n=await c("/bookings",e.key,{method:"GET",query:t});if(n.data&&e.db.bookings)try{for(let a of n.data)a.uid&&await e.db.bookings.upsertByEntityId(a.uid,{...a})}catch(a){console.warn("Failed to save bookings to database:",a)}return await h(e,"cal.bookings.list",{...t},"completed"),n},T=async(e,t)=>{let n=await c(`/bookings/${t.uid}`,e.key,{method:"GET"});if(n.data&&e.db.bookings)try{await e.db.bookings.upsertByEntityId(n.data.uid,{...n.data})}catch(a){console.warn("Failed to save booking to database:",a)}return await h(e,"cal.bookings.get",{...t},"completed"),n},P=async(e,t)=>{let n=await c("/bookings",e.key,{method:"POST",body:t});if(n.data&&e.db.bookings)try{await e.db.bookings.upsertByEntityId(n.data.uid,{...n.data})}catch(a){console.warn("Failed to save booking to database:",a)}return await h(e,"cal.bookings.create",{...t},"completed"),n},L=async(e,t)=>{let{uid:n,...a}=t,i=await c(`/bookings/${n}/cancel`,e.key,{method:"POST",body:a});if(i.data&&e.db.bookings)try{await e.db.bookings.upsertByEntityId(i.data.uid,{...i.data})}catch(l){console.warn("Failed to save booking to database:",l)}return await h(e,"cal.bookings.cancel",{...t},"completed"),i},W=async(e,t)=>{let{uid:n,...a}=t,i=await c(`/bookings/${n}/reschedule`,e.key,{method:"POST",body:a});if(i.data&&e.db.bookings)try{await e.db.bookings.upsertByEntityId(i.data.uid,{...i.data})}catch(l){console.warn("Failed to save booking to database:",l)}return await h(e,"cal.bookings.reschedule",{...t},"completed"),i},D=async(e,t)=>{let n=await c(`/bookings/${t.uid}/confirm`,e.key,{method:"POST"});if(n.data&&e.db.bookings)try{await e.db.bookings.upsertByEntityId(n.data.uid,{...n.data})}catch(a){console.warn("Failed to save booking to database:",a)}return await h(e,"cal.bookings.confirm",{...t},"completed"),n},_=async(e,t)=>{let{uid:n,...a}=t,i=await c(`/bookings/${n}/decline`,e.key,{method:"POST",body:a});if(i.data&&e.db.bookings)try{await e.db.bookings.upsertByEntityId(i.data.uid,{...i.data})}catch(l){console.warn("Failed to save booking to database:",l)}return await h(e,"cal.bookings.decline",{...t},"completed"),i};import{z as o}from"zod";var Q=o.object({status:o.enum(["upcoming","recurring","past","cancelled","unconfirmed"]).optional(),attendeeEmail:o.string().optional(),attendeeName:o.string().optional(),eventTypeIds:o.string().optional(),eventTypeId:o.number().optional(),teamsIds:o.string().optional(),teamId:o.number().optional(),afterStart:o.string().optional(),beforeEnd:o.string().optional(),sortStart:o.enum(["asc","desc"]).optional(),sortEnd:o.enum(["asc","desc"]).optional(),sortCreated:o.enum(["asc","desc"]).optional(),take:o.number().optional(),skip:o.number().optional()}),X=o.object({uid:o.string()}),Y=o.object({start:o.string(),eventTypeId:o.number(),attendee:o.object({name:o.string(),email:o.string(),timeZone:o.string()}),meetingUrl:o.string().optional(),lengthInMinutes:o.number().optional(),bookingFieldsResponses:o.record(o.unknown()).optional(),metadata:o.record(o.unknown()).optional()}),ee=o.object({uid:o.string(),cancellationReason:o.string().optional(),allRemainingBookings:o.boolean().optional()}),oe=o.object({uid:o.string(),start:o.string(),rescheduledBy:o.string().optional()}),ne=o.object({uid:o.string()}),te=o.object({uid:o.string(),reason:o.string().optional()}),ie=o.object({name:o.string(),email:o.string(),timeZone:o.string(),language:o.string().optional(),absent:o.boolean().optional()}).passthrough(),ae=o.object({id:o.number(),name:o.string(),email:o.string().optional(),username:o.string().optional(),timeZone:o.string().optional()}).passthrough(),m=o.object({id:o.number(),uid:o.string(),title:o.string().optional(),description:o.string().nullable().optional(),status:o.string(),start:o.string().optional(),end:o.string().optional(),duration:o.number().optional(),eventTypeId:o.number().optional(),eventType:o.object({id:o.number(),slug:o.string().optional()}).passthrough().optional(),meetingUrl:o.string().nullable().optional(),location:o.string().nullable().optional(),absentHost:o.boolean().optional(),createdAt:o.string().optional(),updatedAt:o.string().optional(),cancellationReason:o.string().nullable().optional(),reschedulingReason:o.string().nullable().optional(),rescheduledFromUid:o.string().nullable().optional(),attendees:o.array(ie).optional(),hosts:o.array(ae).optional(),guests:o.array(o.string()).optional(),metadata:o.record(o.unknown()).nullable().optional(),bookingFieldsResponses:o.record(o.unknown()).nullable().optional()}).passthrough(),y=o.object({status:o.string(),data:o.unknown().optional()}).passthrough(),se=y.extend({data:o.array(m).optional()}).passthrough(),re=y.extend({data:m.optional()}).passthrough(),le=y.extend({data:m.optional()}).passthrough(),de=y.extend({data:m.optional()}).passthrough(),pe=y.extend({data:m.optional()}).passthrough(),ce=y.extend({data:m.optional()}).passthrough(),ge=y.extend({data:m.optional()}).passthrough(),g={bookingsList:Q,bookingsGet:X,bookingsCreate:Y,bookingsCancel:ee,bookingsReschedule:oe,bookingsConfirm:ne,bookingsDecline:te},u={bookingsList:se,bookingsGet:re,bookingsCreate:le,bookingsCancel:de,bookingsReschedule:pe,bookingsConfirm:ce,bookingsDecline:ge};var k={list:A,get:T,create:P,cancel:L,reschedule:W,confirm:D,decline:_};import{ApiError as E}from"corsair/http";var N={RATE_LIMIT_ERROR:{match:(e,t)=>{if(e instanceof E&&e.status===429)return!0;let n=e.message.toLowerCase();return n.includes("rate_limited")||n.includes("ratelimited")||e.message.includes("429")},handler:async(e,t)=>{let n;return e instanceof E&&e.retryAfter!==void 0&&(n=e.retryAfter),{maxRetries:5,headersRetryAfterMs:n}}},AUTH_ERROR:{match:(e,t)=>{if(e instanceof E&&e.status===401)return!0;let n=e.message.toLowerCase();return n.includes("invalid_auth")||n.includes("unauthorized")||n.includes("authentication failed")||n.includes("token_expired")||n.includes("not_authenticated")},handler:async(e,t)=>(console.log(`[CAL:${t.operation}] Authentication failed - check your API key`),{maxRetries:0})},PERMISSION_ERROR:{match:(e,t)=>{if(e instanceof E&&e.status===403)return!0;let n=e.message.toLowerCase();return n.includes("permission_denied")||n.includes("forbidden")||n.includes("access_denied")||n.includes("insufficient_permissions")},handler:async(e,t)=>(console.warn(`[CAL:${t.operation}] Permission denied: ${e.message}`),{maxRetries:0})},NETWORK_ERROR:{match:(e,t)=>{let n=e.message.toLowerCase();return n.includes("network")||n.includes("connection")||n.includes("econnrefused")||n.includes("enotfound")||n.includes("etimedout")||n.includes("fetch failed")||n.includes("network error")},handler:async(e,t)=>(console.warn(`[CAL:${t.operation}] Network error: ${e.message}`),{maxRetries:3})},NOT_FOUND_ERROR:{match:(e,t)=>{if(e instanceof E&&e.status===404)return!0;let n=e.message.toLowerCase();return n.includes("not_found")||n.includes("booking_not_found")||n.includes("event_type_not_found")},handler:async(e,t)=>(console.warn(`[CAL:${t.operation}] Resource not found: ${e.message}`),{maxRetries:0})},DEFAULT:{match:(e,t)=>!0,handler:async(e,t)=>(console.error(`[CAL:${t.operation}] Unhandled error: ${e.message}`),{maxRetries:0})}};import{z as r}from"zod";var G=r.object({id:r.number().optional(),bookingId:r.number().optional(),uid:r.string(),title:r.string().optional(),description:r.string().nullable().optional(),status:r.string().optional(),start:r.string().optional(),startTime:r.string().optional(),end:r.string().optional(),endTime:r.string().optional(),duration:r.number().optional(),length:r.number().optional(),eventTypeId:r.number().optional(),meetingUrl:r.string().nullable().optional(),location:r.string().nullable().optional(),createdAt:r.string().nullable().optional(),updatedAt:r.string().nullable().optional(),cancellationReason:r.string().nullable().optional(),reschedulingReason:r.string().nullable().optional(),attendees:r.array(r.object({name:r.string(),email:r.string(),timeZone:r.string().optional()}).passthrough()).optional(),hosts:r.array(r.object({id:r.number(),name:r.string(),email:r.string().optional(),timeZone:r.string().optional()}).passthrough()).optional(),metadata:r.record(r.unknown()).nullable().optional()}).passthrough();var M={version:"1.0.0",entities:{bookings:G}};import{logEventFromContext as v}from"corsair/core";import{z as s}from"zod";import{verifyHmacSignature as ue}from"corsair/http";var ke=s.object({name:s.string(),email:s.string(),timeZone:s.string().optional(),language:s.record(s.unknown()).optional(),absent:s.boolean().optional()}).passthrough(),be=s.object({id:s.number(),name:s.string(),email:s.string().optional(),username:s.string().optional(),timeZone:s.string().optional()}).passthrough(),R=s.object({bookingId:s.number().optional(),uid:s.string(),title:s.string().optional(),description:s.string().nullable().optional(),status:s.string().optional(),startTime:s.string().optional(),endTime:s.string().optional(),length:s.number().optional(),eventTypeId:s.number().optional(),meetingUrl:s.string().nullable().optional(),location:s.string().nullable().optional(),cancellationReason:s.string().nullable().optional(),reschedulingReason:s.string().nullable().optional(),rescheduledFromUid:s.string().nullable().optional(),attendees:s.array(ke).optional(),hosts:s.array(be).optional(),metadata:s.record(s.unknown()).nullable().optional()}).passthrough(),w=s.object({triggerEvent:s.literal("BOOKING_CREATED"),createdAt:s.string(),payload:R}),S=s.object({triggerEvent:s.literal("BOOKING_CANCELLED"),createdAt:s.string(),payload:R}),I=s.object({triggerEvent:s.literal("BOOKING_RESCHEDULED"),createdAt:s.string(),payload:R}),x=s.object({triggerEvent:s.literal("MEETING_ENDED"),createdAt:s.string(),payload:R}),O=s.object({triggerEvent:s.literal("PING"),createdAt:s.string().optional(),payload:s.record(s.unknown()).optional()});function he(e){return typeof e=="string"?JSON.parse(e):e}function b(e){return t=>he(t.body).triggerEvent===e}function C(e,t){if(!t)return{valid:!1,error:"No secret provided"};let n=e.rawBody;if(!n)return{valid:!1,error:"Missing raw body for signature verification"};let a=e.headers,i=Array.isArray(a["x-cal-signature-256"])?a["x-cal-signature-256"][0]:a["x-cal-signature-256"];return i?ue(n,t,i,"sha256")?{valid:!0}:{valid:!1,error:"Invalid signature"}:{valid:!1,error:"Missing x-cal-signature-256 header"}}var j={match:b("BOOKING_CREATED"),handler:async(e,t)=>{let n=e.key,a=C(t,n);if(!a.valid)return{success:!1,statusCode:401,error:a.error||"Signature verification failed"};let i=t.payload;if(i.triggerEvent!=="BOOKING_CREATED")return{success:!0,data:void 0};let l="";if(e.db.bookings&&i.payload?.uid)try{l=(await e.db.bookings.upsertByEntityId(i.payload.uid,{...i.payload,createdAt:i.createdAt,updatedAt:i.createdAt}))?.id||""}catch(d){console.warn("Failed to save booking to database:",d)}return await v(e,"cal.webhook.bookingCreated",{...i},"completed"),{success:!0,corsairEntityId:l,data:i}}},z={match:b("BOOKING_CANCELLED"),handler:async(e,t)=>{let n=e.key,a=C(t,n);if(!a.valid)return{success:!1,statusCode:401,error:a.error||"Signature verification failed"};let i=t.payload;if(i.triggerEvent!=="BOOKING_CANCELLED")return{success:!0,data:void 0};let l="";if(e.db.bookings&&i.payload?.uid)try{l=(await e.db.bookings.upsertByEntityId(i.payload.uid,{...i.payload,createdAt:i.createdAt,updatedAt:i.createdAt}))?.id||""}catch(d){console.warn("Failed to save booking to database:",d)}return await v(e,"cal.webhook.bookingCancelled",{...i},"completed"),{success:!0,corsairEntityId:l,data:i}}},H={match:b("BOOKING_RESCHEDULED"),handler:async(e,t)=>{let n=e.key,a=C(t,n);if(!a.valid)return{success:!1,statusCode:401,error:a.error||"Signature verification failed"};let i=t.payload;if(i.triggerEvent!=="BOOKING_RESCHEDULED")return{success:!0,data:void 0};let l="";if(e.db.bookings&&i.payload?.uid)try{l=(await e.db.bookings.upsertByEntityId(i.payload.uid,{...i.payload,createdAt:i.createdAt,updatedAt:i.createdAt}))?.id||""}catch(d){console.warn("Failed to save booking to database:",d)}return await v(e,"cal.webhook.bookingRescheduled",{...i},"completed"),{success:!0,corsairEntityId:l,data:i}}},K={match:b("MEETING_ENDED"),handler:async(e,t)=>{let n=e.key,a=C(t,n);if(!a.valid)return{success:!1,statusCode:401,error:a.error||"Signature verification failed"};let i=t.payload;if(i.triggerEvent!=="MEETING_ENDED")return{success:!0,data:void 0};let l="";if(e.db.bookings&&i.payload?.uid)try{l=(await e.db.bookings.upsertByEntityId(i.payload.uid,{...i.payload,createdAt:i.createdAt,updatedAt:i.createdAt}))?.id||""}catch(d){console.warn("Failed to save booking to database:",d)}return await v(e,"cal.webhook.meetingEnded",{...i},"completed"),{success:!0,corsairEntityId:l,data:i}}};var F={match:b("PING"),handler:async(e,t)=>{let n=e.key,a=C(t,n);return a.valid?{success:!0,data:t.payload}:{success:!1,statusCode:401,error:a.error||"Signature verification failed"}}};var B={bookingCreated:j,bookingCancelled:z,bookingRescheduled:H,meetingEnded:K},U={ping:F};var me={bookings:{list:k.list,get:k.get,create:k.create,cancel:k.cancel,reschedule:k.reschedule,confirm:k.confirm,decline:k.decline}},ye={bookings:{bookingCreated:B.bookingCreated,bookingCancelled:B.bookingCancelled,bookingRescheduled:B.bookingRescheduled,meetingEnded:B.meetingEnded},system:{ping:U.ping}},Ce={"bookings.list":{input:g.bookingsList,output:u.bookingsList},"bookings.get":{input:g.bookingsGet,output:u.bookingsGet},"bookings.create":{input:g.bookingsCreate,output:u.bookingsCreate},"bookings.cancel":{input:g.bookingsCancel,output:u.bookingsCancel},"bookings.reschedule":{input:g.bookingsReschedule,output:u.bookingsReschedule},"bookings.confirm":{input:g.bookingsConfirm,output:u.bookingsConfirm},"bookings.decline":{input:g.bookingsDecline,output:u.bookingsDecline}},fe="api_key",Ee={"bookings.list":{riskLevel:"read",description:"List all bookings"},"bookings.get":{riskLevel:"read",description:"Get a booking by UID"},"bookings.create":{riskLevel:"write",description:"Create a new booking"},"bookings.cancel":{riskLevel:"destructive",description:"Cancel a booking [DESTRUCTIVE]"},"bookings.reschedule":{riskLevel:"write",description:"Reschedule a booking to a new time"},"bookings.confirm":{riskLevel:"write",description:"Confirm a pending booking"},"bookings.decline":{riskLevel:"write",description:"Decline a pending booking"}},Be={"bookings.bookingCreated":{description:"A new booking was created",payload:w,response:w},"bookings.bookingCancelled":{description:"A booking was cancelled",payload:S,response:S},"bookings.bookingRescheduled":{description:"A booking was rescheduled",payload:I,response:I},"bookings.meetingEnded":{description:"A meeting ended",payload:x,response:x},"system.ping":{description:"Ping test to verify webhook endpoint",payload:O,response:O}},io={api_key:{account:["one"]}};function ao(e={}){let t={...e,authType:e.authType??fe};return{id:"cal",schema:M,options:t,hooks:t.hooks,webhookHooks:t.webhookHooks,endpoints:me,webhooks:ye,endpointMeta:Ee,endpointSchemas:Ce,webhookSchemas:Be,pluginWebhookMatcher:n=>{let i="x-cal-signature-256"in n.headers;return i},errorHandlers:{...N,...t.errorHandlers},keyBuilder:async(n,a)=>{if(a==="webhook"&&t.webhookSecret)return t.webhookSecret;if(a==="webhook"){let i=await n.keys.get_webhook_signature();return i||""}if(a==="endpoint"&&t.key)return t.key;if(a==="endpoint"&&n.authType==="api_key"){let i=await n.keys.get_api_key();return i||""}return""}}}export{ao as cal,io as calAuthConfig,Ce as calEndpointSchemas,b as createCalMatch};
|
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const CalBooking: z.ZodObject<{
|
|
3
|
+
id: z.ZodOptional<z.ZodNumber>;
|
|
4
|
+
bookingId: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
uid: z.ZodString;
|
|
6
|
+
title: z.ZodOptional<z.ZodString>;
|
|
7
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
8
|
+
status: z.ZodOptional<z.ZodString>;
|
|
9
|
+
start: z.ZodOptional<z.ZodString>;
|
|
10
|
+
startTime: z.ZodOptional<z.ZodString>;
|
|
11
|
+
end: z.ZodOptional<z.ZodString>;
|
|
12
|
+
endTime: z.ZodOptional<z.ZodString>;
|
|
13
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
14
|
+
length: z.ZodOptional<z.ZodNumber>;
|
|
15
|
+
eventTypeId: z.ZodOptional<z.ZodNumber>;
|
|
16
|
+
meetingUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
17
|
+
location: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
18
|
+
createdAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
19
|
+
updatedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
cancellationReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
21
|
+
reschedulingReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
22
|
+
attendees: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
23
|
+
name: z.ZodString;
|
|
24
|
+
email: z.ZodString;
|
|
25
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
26
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
27
|
+
name: z.ZodString;
|
|
28
|
+
email: z.ZodString;
|
|
29
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
30
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
31
|
+
name: z.ZodString;
|
|
32
|
+
email: z.ZodString;
|
|
33
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
34
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
35
|
+
hosts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
36
|
+
id: z.ZodNumber;
|
|
37
|
+
name: z.ZodString;
|
|
38
|
+
email: z.ZodOptional<z.ZodString>;
|
|
39
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
40
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
41
|
+
id: z.ZodNumber;
|
|
42
|
+
name: z.ZodString;
|
|
43
|
+
email: z.ZodOptional<z.ZodString>;
|
|
44
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
45
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
46
|
+
id: z.ZodNumber;
|
|
47
|
+
name: z.ZodString;
|
|
48
|
+
email: z.ZodOptional<z.ZodString>;
|
|
49
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
50
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
51
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
52
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
53
|
+
id: z.ZodOptional<z.ZodNumber>;
|
|
54
|
+
bookingId: z.ZodOptional<z.ZodNumber>;
|
|
55
|
+
uid: z.ZodString;
|
|
56
|
+
title: z.ZodOptional<z.ZodString>;
|
|
57
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
58
|
+
status: z.ZodOptional<z.ZodString>;
|
|
59
|
+
start: z.ZodOptional<z.ZodString>;
|
|
60
|
+
startTime: z.ZodOptional<z.ZodString>;
|
|
61
|
+
end: z.ZodOptional<z.ZodString>;
|
|
62
|
+
endTime: z.ZodOptional<z.ZodString>;
|
|
63
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
64
|
+
length: z.ZodOptional<z.ZodNumber>;
|
|
65
|
+
eventTypeId: z.ZodOptional<z.ZodNumber>;
|
|
66
|
+
meetingUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
67
|
+
location: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
68
|
+
createdAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
69
|
+
updatedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
70
|
+
cancellationReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
71
|
+
reschedulingReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
72
|
+
attendees: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
73
|
+
name: z.ZodString;
|
|
74
|
+
email: z.ZodString;
|
|
75
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
76
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
77
|
+
name: z.ZodString;
|
|
78
|
+
email: z.ZodString;
|
|
79
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
80
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
81
|
+
name: z.ZodString;
|
|
82
|
+
email: z.ZodString;
|
|
83
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
84
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
85
|
+
hosts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
86
|
+
id: z.ZodNumber;
|
|
87
|
+
name: z.ZodString;
|
|
88
|
+
email: z.ZodOptional<z.ZodString>;
|
|
89
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
90
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
91
|
+
id: z.ZodNumber;
|
|
92
|
+
name: z.ZodString;
|
|
93
|
+
email: z.ZodOptional<z.ZodString>;
|
|
94
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
95
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
96
|
+
id: z.ZodNumber;
|
|
97
|
+
name: z.ZodString;
|
|
98
|
+
email: z.ZodOptional<z.ZodString>;
|
|
99
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
100
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
101
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
102
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
103
|
+
id: z.ZodOptional<z.ZodNumber>;
|
|
104
|
+
bookingId: z.ZodOptional<z.ZodNumber>;
|
|
105
|
+
uid: z.ZodString;
|
|
106
|
+
title: z.ZodOptional<z.ZodString>;
|
|
107
|
+
description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
108
|
+
status: z.ZodOptional<z.ZodString>;
|
|
109
|
+
start: z.ZodOptional<z.ZodString>;
|
|
110
|
+
startTime: z.ZodOptional<z.ZodString>;
|
|
111
|
+
end: z.ZodOptional<z.ZodString>;
|
|
112
|
+
endTime: z.ZodOptional<z.ZodString>;
|
|
113
|
+
duration: z.ZodOptional<z.ZodNumber>;
|
|
114
|
+
length: z.ZodOptional<z.ZodNumber>;
|
|
115
|
+
eventTypeId: z.ZodOptional<z.ZodNumber>;
|
|
116
|
+
meetingUrl: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
117
|
+
location: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
118
|
+
createdAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
119
|
+
updatedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
120
|
+
cancellationReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
121
|
+
reschedulingReason: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
122
|
+
attendees: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
123
|
+
name: z.ZodString;
|
|
124
|
+
email: z.ZodString;
|
|
125
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
126
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
127
|
+
name: z.ZodString;
|
|
128
|
+
email: z.ZodString;
|
|
129
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
130
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
131
|
+
name: z.ZodString;
|
|
132
|
+
email: z.ZodString;
|
|
133
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
134
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
135
|
+
hosts: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
136
|
+
id: z.ZodNumber;
|
|
137
|
+
name: z.ZodString;
|
|
138
|
+
email: z.ZodOptional<z.ZodString>;
|
|
139
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
140
|
+
}, "passthrough", z.ZodTypeAny, z.objectOutputType<{
|
|
141
|
+
id: z.ZodNumber;
|
|
142
|
+
name: z.ZodString;
|
|
143
|
+
email: z.ZodOptional<z.ZodString>;
|
|
144
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
145
|
+
}, z.ZodTypeAny, "passthrough">, z.objectInputType<{
|
|
146
|
+
id: z.ZodNumber;
|
|
147
|
+
name: z.ZodString;
|
|
148
|
+
email: z.ZodOptional<z.ZodString>;
|
|
149
|
+
timeZone: z.ZodOptional<z.ZodString>;
|
|
150
|
+
}, z.ZodTypeAny, "passthrough">>, "many">>;
|
|
151
|
+
metadata: z.ZodOptional<z.ZodNullable<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
152
|
+
}, z.ZodTypeAny, "passthrough">>;
|
|
153
|
+
export type CalBooking = z.infer<typeof CalBooking>;
|
|
154
|
+
//# sourceMappingURL=database.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"database.d.ts","sourceRoot":"","sources":["../../schema/database.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;gCA+CR,CAAC;AAEhB,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
export declare const CalSchema: {
|
|
2
|
+
readonly version: "1.0.0";
|
|
3
|
+
readonly entities: {
|
|
4
|
+
readonly bookings: import("zod").ZodObject<{
|
|
5
|
+
id: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
6
|
+
bookingId: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
7
|
+
uid: import("zod").ZodString;
|
|
8
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
9
|
+
description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
10
|
+
status: import("zod").ZodOptional<import("zod").ZodString>;
|
|
11
|
+
start: import("zod").ZodOptional<import("zod").ZodString>;
|
|
12
|
+
startTime: import("zod").ZodOptional<import("zod").ZodString>;
|
|
13
|
+
end: import("zod").ZodOptional<import("zod").ZodString>;
|
|
14
|
+
endTime: import("zod").ZodOptional<import("zod").ZodString>;
|
|
15
|
+
duration: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
16
|
+
length: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
17
|
+
eventTypeId: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
18
|
+
meetingUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
19
|
+
location: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
20
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
21
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
22
|
+
cancellationReason: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
23
|
+
reschedulingReason: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
24
|
+
attendees: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
25
|
+
name: import("zod").ZodString;
|
|
26
|
+
email: import("zod").ZodString;
|
|
27
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
28
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
29
|
+
name: import("zod").ZodString;
|
|
30
|
+
email: import("zod").ZodString;
|
|
31
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
32
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
33
|
+
name: import("zod").ZodString;
|
|
34
|
+
email: import("zod").ZodString;
|
|
35
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
36
|
+
}, import("zod").ZodTypeAny, "passthrough">>, "many">>;
|
|
37
|
+
hosts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
38
|
+
id: import("zod").ZodNumber;
|
|
39
|
+
name: import("zod").ZodString;
|
|
40
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
41
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
42
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
43
|
+
id: import("zod").ZodNumber;
|
|
44
|
+
name: import("zod").ZodString;
|
|
45
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
46
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
47
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
48
|
+
id: import("zod").ZodNumber;
|
|
49
|
+
name: import("zod").ZodString;
|
|
50
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
51
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
52
|
+
}, import("zod").ZodTypeAny, "passthrough">>, "many">>;
|
|
53
|
+
metadata: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
|
|
54
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
55
|
+
id: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
56
|
+
bookingId: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
57
|
+
uid: import("zod").ZodString;
|
|
58
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
59
|
+
description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
60
|
+
status: import("zod").ZodOptional<import("zod").ZodString>;
|
|
61
|
+
start: import("zod").ZodOptional<import("zod").ZodString>;
|
|
62
|
+
startTime: import("zod").ZodOptional<import("zod").ZodString>;
|
|
63
|
+
end: import("zod").ZodOptional<import("zod").ZodString>;
|
|
64
|
+
endTime: import("zod").ZodOptional<import("zod").ZodString>;
|
|
65
|
+
duration: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
66
|
+
length: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
67
|
+
eventTypeId: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
68
|
+
meetingUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
69
|
+
location: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
70
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
71
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
72
|
+
cancellationReason: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
73
|
+
reschedulingReason: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
74
|
+
attendees: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
75
|
+
name: import("zod").ZodString;
|
|
76
|
+
email: import("zod").ZodString;
|
|
77
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
78
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
79
|
+
name: import("zod").ZodString;
|
|
80
|
+
email: import("zod").ZodString;
|
|
81
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
82
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
83
|
+
name: import("zod").ZodString;
|
|
84
|
+
email: import("zod").ZodString;
|
|
85
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
86
|
+
}, import("zod").ZodTypeAny, "passthrough">>, "many">>;
|
|
87
|
+
hosts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
88
|
+
id: import("zod").ZodNumber;
|
|
89
|
+
name: import("zod").ZodString;
|
|
90
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
91
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
92
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
93
|
+
id: import("zod").ZodNumber;
|
|
94
|
+
name: import("zod").ZodString;
|
|
95
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
96
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
97
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
98
|
+
id: import("zod").ZodNumber;
|
|
99
|
+
name: import("zod").ZodString;
|
|
100
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
101
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
102
|
+
}, import("zod").ZodTypeAny, "passthrough">>, "many">>;
|
|
103
|
+
metadata: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
|
|
104
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
105
|
+
id: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
106
|
+
bookingId: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
107
|
+
uid: import("zod").ZodString;
|
|
108
|
+
title: import("zod").ZodOptional<import("zod").ZodString>;
|
|
109
|
+
description: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
110
|
+
status: import("zod").ZodOptional<import("zod").ZodString>;
|
|
111
|
+
start: import("zod").ZodOptional<import("zod").ZodString>;
|
|
112
|
+
startTime: import("zod").ZodOptional<import("zod").ZodString>;
|
|
113
|
+
end: import("zod").ZodOptional<import("zod").ZodString>;
|
|
114
|
+
endTime: import("zod").ZodOptional<import("zod").ZodString>;
|
|
115
|
+
duration: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
116
|
+
length: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
117
|
+
eventTypeId: import("zod").ZodOptional<import("zod").ZodNumber>;
|
|
118
|
+
meetingUrl: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
119
|
+
location: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
120
|
+
createdAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
121
|
+
updatedAt: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
122
|
+
cancellationReason: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
123
|
+
reschedulingReason: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodString>>;
|
|
124
|
+
attendees: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
125
|
+
name: import("zod").ZodString;
|
|
126
|
+
email: import("zod").ZodString;
|
|
127
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
128
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
129
|
+
name: import("zod").ZodString;
|
|
130
|
+
email: import("zod").ZodString;
|
|
131
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
132
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
133
|
+
name: import("zod").ZodString;
|
|
134
|
+
email: import("zod").ZodString;
|
|
135
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
136
|
+
}, import("zod").ZodTypeAny, "passthrough">>, "many">>;
|
|
137
|
+
hosts: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodObject<{
|
|
138
|
+
id: import("zod").ZodNumber;
|
|
139
|
+
name: import("zod").ZodString;
|
|
140
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
141
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
142
|
+
}, "passthrough", import("zod").ZodTypeAny, import("zod").objectOutputType<{
|
|
143
|
+
id: import("zod").ZodNumber;
|
|
144
|
+
name: import("zod").ZodString;
|
|
145
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
146
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
147
|
+
}, import("zod").ZodTypeAny, "passthrough">, import("zod").objectInputType<{
|
|
148
|
+
id: import("zod").ZodNumber;
|
|
149
|
+
name: import("zod").ZodString;
|
|
150
|
+
email: import("zod").ZodOptional<import("zod").ZodString>;
|
|
151
|
+
timeZone: import("zod").ZodOptional<import("zod").ZodString>;
|
|
152
|
+
}, import("zod").ZodTypeAny, "passthrough">>, "many">>;
|
|
153
|
+
metadata: import("zod").ZodOptional<import("zod").ZodNullable<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>>;
|
|
154
|
+
}, import("zod").ZodTypeAny, "passthrough">>;
|
|
155
|
+
};
|
|
156
|
+
};
|
|
157
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../schema/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAKZ,CAAC"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const _default: import("tsup").Options | import("tsup").Options[] | ((overrideOptions: import("tsup").Options) => import("tsup").Options | import("tsup").Options[] | Promise<import("tsup").Options | import("tsup").Options[]>);
|
|
2
|
+
export default _default;
|
|
3
|
+
//# sourceMappingURL=tsup.config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tsup.config.d.ts","sourceRoot":"","sources":["../tsup.config.ts"],"names":[],"mappings":";AAEA,wBAYG"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { CalWebhooks } from '..';
|
|
2
|
+
export declare const bookingCreated: CalWebhooks['bookingCreated'];
|
|
3
|
+
export declare const bookingCancelled: CalWebhooks['bookingCancelled'];
|
|
4
|
+
export declare const bookingRescheduled: CalWebhooks['bookingRescheduled'];
|
|
5
|
+
export declare const meetingEnded: CalWebhooks['meetingEnded'];
|
|
6
|
+
//# sourceMappingURL=bookings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bookings.d.ts","sourceRoot":"","sources":["../../webhooks/bookings.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,IAAI,CAAC;AAGtC,eAAO,MAAM,cAAc,EAAE,WAAW,CAAC,gBAAgB,CAsDxD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,kBAAkB,CAsD5D,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,WAAW,CAAC,oBAAoB,CAsDhE,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,WAAW,CAAC,cAAc,CAsDpD,CAAC"}
|