@proteos/sdk 0.53.0 → 0.54.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.
@@ -1613,6 +1613,7 @@ declare const LayoutElementType: {
1613
1613
  readonly RecordFilter: "record_filter";
1614
1614
  readonly List: "list";
1615
1615
  readonly WorkflowTrigger: "workflow_trigger";
1616
+ readonly SchedulingPicker: "scheduling_picker";
1616
1617
  };
1617
1618
  type LayoutElementType = (typeof LayoutElementType)[keyof typeof LayoutElementType];
1618
1619
  type RowElement = CommonProps & {
@@ -1832,13 +1833,30 @@ type WorkflowTriggerElement = CommonProps & {
1832
1833
  */
1833
1834
  execution_attribute?: string;
1834
1835
  };
1836
+ /**
1837
+ * Embeds a scheduling link's booking flow (type → time → details →
1838
+ * confirmation) in the layout — the in-page counterpart of /s/:orgId/:key.
1839
+ * `type_key` pre-selects one of the link's types (the picker shows the choice
1840
+ * otherwise), `host_user_id` pins one host, `contact_id` is a Liquid template
1841
+ * over the page scope that binds the booking to a known contact (no name /
1842
+ * email asked). Allowed on every page type; public pages book through the
1843
+ * unauthenticated surface.
1844
+ */
1845
+ type SchedulingPickerElement = CommonProps & {
1846
+ type: 'scheduling_picker';
1847
+ link_key: string;
1848
+ type_key?: string;
1849
+ host_user_id?: string;
1850
+ contact_id?: string;
1851
+ is_header_hidden?: boolean;
1852
+ };
1835
1853
  type TextVariant = 'heading' | 'subheading' | 'body' | 'caption' | 'callout';
1836
1854
  type TextElement = CommonProps & {
1837
1855
  type: 'text';
1838
1856
  variant: TextVariant;
1839
1857
  content: string;
1840
1858
  };
1841
- type LayoutElement = RowElement | ColumnElement | SectionElement | CardElement | TabsElement | FieldElement | RelatedListElement | RelatedRecordElement | ComponentElement | DividerElement | TextElement | RecordFilterElement | ListElement | WorkflowTriggerElement;
1859
+ type LayoutElement = RowElement | ColumnElement | SectionElement | CardElement | TabsElement | FieldElement | RelatedListElement | RelatedRecordElement | ComponentElement | DividerElement | TextElement | RecordFilterElement | ListElement | WorkflowTriggerElement | SchedulingPickerElement;
1842
1860
  declare const LayoutTabSchema: z.ZodType<LayoutTab>;
1843
1861
  declare const LayoutElementSchema: z.ZodType<LayoutElement>;
1844
1862
 
@@ -5706,4 +5724,4 @@ declare function isCurrentUserDefault(value: unknown): value is CurrentUserDefau
5706
5724
  /** Only the identity-valued attribute types can carry the sentinel. */
5707
5725
  declare function acceptsCurrentUserDefault(type: AttributeType): boolean;
5708
5726
 
5709
- export { type CurrencySymbolSide as $, type AuditFields as A, type ComponentService as B, CURRENT_USER_DEFAULT as C, type ContactAddressAttributeKind as D, type ContactAddressAttributeMeta as E, type FileRef as F, ContactAddressAttributeMetaSchema as G, type ContactBindingDuplicatePolicy as H, type CreateAppConfigurationRequest as I, type CreateAppRequest as J, type CreateComponentRequest as K, type ListOptions as L, type CreateDesignReferenceRequest as M, type CreateEntityExtensionRequest as N, type CreateEntityRequest as O, PageIterator as P, type CreateListExtensionRequest as Q, type CreateListRequest as R, type CreateListViewRequest as S, type CreateMenuConfigurationExtensionRequest as T, type UserRef as U, type CreateMenuConfigurationRequest as V, type CreatePageExtensionRequest as W, type CreatePageRequest as X, type CreateVariableRequest as Y, type CurrencyAttributeMeta as Z, CurrencyAttributeMetaSchema as _, type Attribute as a, MenuConfigurationExtensionPlacementSchema as a$, type CurrencyValue as a0, type CurrentUserDefault as a1, DEFAULT_OPTIONS as a2, DEFAULT_PAGE_SIZE as a3, DONE as a4, type DeployModuleRequest as a5, type DesignReference as a6, type DesignReferenceContent as a7, DesignReferenceSchema as a8, type DesignReferenceService as a9, type ListEntitiesOptions as aA, type ListEntityExtensionsOptions as aB, type ListExtension as aC, type ListExtensionColumnPlacement as aD, ListExtensionColumnPlacementSchema as aE, ListExtensionSchema as aF, type ListExtensionService as aG, type ListFn as aH, type ListListExtensionsOptions as aI, type ListListViewsOptions as aJ, type ListListsOptions as aK, type ListMenuConfigurationExtensionsOptions as aL, type ListMenuConfigurationsOptions as aM, type ListModulesOptions as aN, type ListPageExtensionsOptions as aO, type ListPagesOptions as aP, ListSchema as aQ, type ListService as aR, type ListVariablesOptions as aS, type ListView as aT, ListViewSchema as aU, type ListViewService as aV, type LogicalOperator as aW, MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS as aX, type MenuConfiguration as aY, type MenuConfigurationExtension as aZ, type MenuConfigurationExtensionPlacement as a_, type Done as aa, type Entity as ab, type EntityContactBinding as ac, EntityContactBindingSchema as ad, type EntityExtension as ae, EntityExtensionSchema as af, type EntityExtensionService as ag, EntitySchema as ah, type EntityService as ai, type EntityWithSchema as aj, EntityWithSchemaSchema as ak, type EnumAttributeMeta as al, type EnumValue as am, type ExtensionPosition as an, ExtensionPositionSchema as ao, type FileAttributeMeta as ap, FileRefSchema as aq, type FilterElement as ar, FilterElementSchema as as, type FilterGroup as at, FilterGroupSchema as au, type List as av, type ListAppConfigurationsOptions as aw, type ListAppsOptions as ax, type ListComponentsOptions as ay, type ListDesignReferencesOptions as az, type ListResult as b, type UserType as b$, type MenuConfigurationExtensionPosition as b0, MenuConfigurationExtensionPositionSchema as b1, MenuConfigurationExtensionSchema as b2, type MenuConfigurationExtensionService as b3, MenuConfigurationSchema as b4, type MenuConfigurationService as b5, type MenuItem as b6, MenuItemSchema as b7, MenuItemType as b8, MetaClient as b9, type PublicPageResponse as bA, type RelationAttributeMeta as bB, RelationAttributeMetaSchema as bC, type RequestOptions as bD, type ResolvedClientOptions as bE, type ResponseMeta as bF, ResponseMetaSchema as bG, type SortConfig as bH, SortConfigSchema as bI, type SortDirection as bJ, type Timestamps as bK, type TokenProvider as bL, type UpdateAppConfigurationRequest as bM, type UpdateAppRequest as bN, type UpdateComponentRequest as bO, type UpdateDesignReferenceRequest as bP, type UpdateEntityExtensionRequest as bQ, type UpdateEntityRequest as bR, type UpdateListExtensionRequest as bS, type UpdateListRequest as bT, type UpdateListViewRequest as bU, type UpdateMenuConfigurationExtensionRequest as bV, type UpdateMenuConfigurationRequest as bW, type UpdatePageExtensionRequest as bX, type UpdatePageRequest as bY, type UpdateVariableRequest as bZ, UserRefSchema as b_, type MetaListOptions as ba, type Module as bb, ModuleSchema as bc, type ModuleService as bd, type ModuleStatus as be, type OnDeleteAction as bf, OnDeleteActionSchema as bg, PAGE_EXTENSION_ANCHOR_MAIN as bh, PAGE_EXTENSION_ANCHOR_SIDE_PANEL as bi, PLATFORM_ATTRIBUTE_NAMES as bj, PLATFORM_USER_ID as bk, type Page as bl, type PageAction as bm, type PageActionKind as bn, PageActionSchema as bo, type PageExtension as bp, type PageExtensionPlacement as bq, PageExtensionPlacementSchema as br, PageExtensionSchema as bs, type PageExtensionService as bt, type PageLayout as bu, PageLayoutSchema as bv, PageSchema as bw, type PageService as bx, type PageType as by, type PublicPageComponent as bz, ProteosClient as c, type SizingProps as c$, type Variable as c0, VariableSchema as c1, type VariableService as c2, acceptsCurrentUserDefault as c3, allCurrencyCodes as c4, createIterator as c5, createListResultSchema as c6, currencyLabel as c7, currencySymbol as c8, currencySymbolSide as c9, type LayoutAlign as cA, type LayoutElement as cB, LayoutElementSchema as cC, LayoutElementType as cD, type LayoutGap as cE, type LayoutJustify as cF, type LayoutTab as cG, LayoutTabSchema as cH, type ListElement as cI, type NumberAttributeMeta as cJ, type ObjectAttributeMeta as cK, PAGE_BACKGROUND_TOKENS as cL, type PageBackgroundToken as cM, type PageLayoutSidePanel as cN, PageLayoutSidePanelSchema as cO, type PageStyle as cP, PageStyleSchema as cQ, type PrincipalAttributeMeta as cR, type PrincipalType as cS, type RecordFilterElement as cT, type RelatedListElement as cU, type RelatedRecordElement as cV, type ResponsiveSizing as cW, type RowElement as cX, type SectionElement as cY, type SizeValue as cZ, SizeValueSchema as c_, formatAmount as ca, formatMoney as cb, isCurrentUserDefault as cc, isPlatformAttributeName as cd, localeNumberSeparators as ce, parseAmount as cf, parseContactAddressMeta as cg, parseCurrencyMeta as ch, parseFileMeta as ci, parseRelationMeta as cj, platformAttributes as ck, resolveOptions as cl, type AttributeForLookup as cm, type AttributeMeta as cn, BUILT_IN_CONTROLS as co, type BuiltInControlSlug as cp, type CardElement as cq, type ColumnElement as cr, type CommonProps as cs, type ComponentElement as ct, type ControlBucket as cu, type DatetimeAttributeMeta as cv, type DatetimeFormat as cw, type DividerElement as cx, type FieldElement as cy, FileAttributeMetaSchema as cz, type PrincipalRef as d, type StringAttributeMeta as d0, type StringFormat as d1, type TabsElement as d2, type TextElement as d3, type TextVariant as d4, type UserAttributeMeta as d5, UserAttributeMetaSchema as d6, type WorkflowTriggerElement as d7, isBuiltInControl as d8, lookupCompatibleControls as d9, lookupControls as da, lookupPrimaryControl as db, parsePrincipalMeta as dc, parseUserMeta as dd, type PublicAccessOperation as e, type App as f, type AppConfiguration as g, AppConfigurationSchema as h, type AppConfigurationService as i, type AppHome as j, AppHomeSchema as k, type AppHomeType as l, AppSchema as m, type AppService as n, type ArrayAttributeMeta as o, type AttributeAccessRule as p, type AttributeRestrictions as q, AttributeSchema as r, type AttributeType as s, AuditFieldsSchema as t, type ClientOptions as u, type Column as v, ColumnSchema as w, type ComparisonOperator as x, type Component as y, ComponentSchema as z };
5727
+ export { CurrencyAttributeMetaSchema as $, type AuditFields as A, type ComponentService as B, CURRENT_USER_DEFAULT as C, type ContactAddressAttributeKind as D, type ContactAddressAttributeMeta as E, type FileRef as F, ContactAddressAttributeMetaSchema as G, type ContactBindingDuplicatePolicy as H, type CreateAppConfigurationRequest as I, type CreateAppRequest as J, type CreateComponentRequest as K, type ListOptions as L, type CreateDesignReferenceRequest as M, type CreateEntityExtensionRequest as N, type CreateEntityRequest as O, PageIterator as P, type CreateListExtensionRequest as Q, type ResponseMeta as R, type CreateListRequest as S, type CreateListViewRequest as T, type UserRef as U, type CreateMenuConfigurationExtensionRequest as V, type CreateMenuConfigurationRequest as W, type CreatePageExtensionRequest as X, type CreatePageRequest as Y, type CreateVariableRequest as Z, type CurrencyAttributeMeta as _, type Attribute as a, type MenuConfigurationExtensionPlacement as a$, type CurrencySymbolSide as a0, type CurrencyValue as a1, type CurrentUserDefault as a2, DEFAULT_OPTIONS as a3, DEFAULT_PAGE_SIZE as a4, DONE as a5, type DeployModuleRequest as a6, type DesignReference as a7, type DesignReferenceContent as a8, DesignReferenceSchema as a9, type ListDesignReferencesOptions as aA, type ListEntitiesOptions as aB, type ListEntityExtensionsOptions as aC, type ListExtension as aD, type ListExtensionColumnPlacement as aE, ListExtensionColumnPlacementSchema as aF, ListExtensionSchema as aG, type ListExtensionService as aH, type ListFn as aI, type ListListExtensionsOptions as aJ, type ListListViewsOptions as aK, type ListListsOptions as aL, type ListMenuConfigurationExtensionsOptions as aM, type ListMenuConfigurationsOptions as aN, type ListModulesOptions as aO, type ListPageExtensionsOptions as aP, type ListPagesOptions as aQ, ListSchema as aR, type ListService as aS, type ListVariablesOptions as aT, type ListView as aU, ListViewSchema as aV, type ListViewService as aW, type LogicalOperator as aX, MENU_CONFIGURATION_EXTENSION_ANCHOR_ITEMS as aY, type MenuConfiguration as aZ, type MenuConfigurationExtension as a_, type DesignReferenceService as aa, type Done as ab, type Entity as ac, type EntityContactBinding as ad, EntityContactBindingSchema as ae, type EntityExtension as af, EntityExtensionSchema as ag, type EntityExtensionService as ah, EntitySchema as ai, type EntityService as aj, type EntityWithSchema as ak, EntityWithSchemaSchema as al, type EnumAttributeMeta as am, type EnumValue as an, type ExtensionPosition as ao, ExtensionPositionSchema as ap, type FileAttributeMeta as aq, FileRefSchema as ar, type FilterElement as as, FilterElementSchema as at, type FilterGroup as au, FilterGroupSchema as av, type List as aw, type ListAppConfigurationsOptions as ax, type ListAppsOptions as ay, type ListComponentsOptions as az, type ListResult as b, type UserType as b$, MenuConfigurationExtensionPlacementSchema as b0, type MenuConfigurationExtensionPosition as b1, MenuConfigurationExtensionPositionSchema as b2, MenuConfigurationExtensionSchema as b3, type MenuConfigurationExtensionService as b4, MenuConfigurationSchema as b5, type MenuConfigurationService as b6, type MenuItem as b7, MenuItemSchema as b8, MenuItemType as b9, type PublicPageComponent as bA, type PublicPageResponse as bB, type RelationAttributeMeta as bC, RelationAttributeMetaSchema as bD, type RequestOptions as bE, type ResolvedClientOptions as bF, ResponseMetaSchema as bG, type SortConfig as bH, SortConfigSchema as bI, type SortDirection as bJ, type Timestamps as bK, type TokenProvider as bL, type UpdateAppConfigurationRequest as bM, type UpdateAppRequest as bN, type UpdateComponentRequest as bO, type UpdateDesignReferenceRequest as bP, type UpdateEntityExtensionRequest as bQ, type UpdateEntityRequest as bR, type UpdateListExtensionRequest as bS, type UpdateListRequest as bT, type UpdateListViewRequest as bU, type UpdateMenuConfigurationExtensionRequest as bV, type UpdateMenuConfigurationRequest as bW, type UpdatePageExtensionRequest as bX, type UpdatePageRequest as bY, type UpdateVariableRequest as bZ, UserRefSchema as b_, MetaClient as ba, type MetaListOptions as bb, type Module as bc, ModuleSchema as bd, type ModuleService as be, type ModuleStatus as bf, type OnDeleteAction as bg, OnDeleteActionSchema as bh, PAGE_EXTENSION_ANCHOR_MAIN as bi, PAGE_EXTENSION_ANCHOR_SIDE_PANEL as bj, PLATFORM_ATTRIBUTE_NAMES as bk, PLATFORM_USER_ID as bl, type Page as bm, type PageAction as bn, type PageActionKind as bo, PageActionSchema as bp, type PageExtension as bq, type PageExtensionPlacement as br, PageExtensionPlacementSchema as bs, PageExtensionSchema as bt, type PageExtensionService as bu, type PageLayout as bv, PageLayoutSchema as bw, PageSchema as bx, type PageService as by, type PageType as bz, ProteosClient as c, SizeValueSchema as c$, type Variable as c0, VariableSchema as c1, type VariableService as c2, acceptsCurrentUserDefault as c3, allCurrencyCodes as c4, createIterator as c5, createListResultSchema as c6, currencyLabel as c7, currencySymbol as c8, currencySymbolSide as c9, type LayoutAlign as cA, type LayoutElement as cB, LayoutElementSchema as cC, LayoutElementType as cD, type LayoutGap as cE, type LayoutJustify as cF, type LayoutTab as cG, LayoutTabSchema as cH, type ListElement as cI, type NumberAttributeMeta as cJ, type ObjectAttributeMeta as cK, PAGE_BACKGROUND_TOKENS as cL, type PageBackgroundToken as cM, type PageLayoutSidePanel as cN, PageLayoutSidePanelSchema as cO, type PageStyle as cP, PageStyleSchema as cQ, type PrincipalAttributeMeta as cR, type PrincipalType as cS, type RecordFilterElement as cT, type RelatedListElement as cU, type RelatedRecordElement as cV, type ResponsiveSizing as cW, type RowElement as cX, type SchedulingPickerElement as cY, type SectionElement as cZ, type SizeValue as c_, formatAmount as ca, formatMoney as cb, isCurrentUserDefault as cc, isPlatformAttributeName as cd, localeNumberSeparators as ce, parseAmount as cf, parseContactAddressMeta as cg, parseCurrencyMeta as ch, parseFileMeta as ci, parseRelationMeta as cj, platformAttributes as ck, resolveOptions as cl, type AttributeForLookup as cm, type AttributeMeta as cn, BUILT_IN_CONTROLS as co, type BuiltInControlSlug as cp, type CardElement as cq, type ColumnElement as cr, type CommonProps as cs, type ComponentElement as ct, type ControlBucket as cu, type DatetimeAttributeMeta as cv, type DatetimeFormat as cw, type DividerElement as cx, type FieldElement as cy, FileAttributeMetaSchema as cz, type PrincipalRef as d, type SizingProps as d0, type StringAttributeMeta as d1, type StringFormat as d2, type TabsElement as d3, type TextElement as d4, type TextVariant as d5, type UserAttributeMeta as d6, UserAttributeMetaSchema as d7, type WorkflowTriggerElement as d8, isBuiltInControl as d9, lookupCompatibleControls as da, lookupControls as db, lookupPrimaryControl as dc, parsePrincipalMeta as dd, parseUserMeta as de, type PublicAccessOperation as e, type App as f, type AppConfiguration as g, AppConfigurationSchema as h, type AppConfigurationService as i, type AppHome as j, AppHomeSchema as k, type AppHomeType as l, AppSchema as m, type AppService as n, type ArrayAttributeMeta as o, type AttributeAccessRule as p, type AttributeRestrictions as q, AttributeSchema as r, type AttributeType as s, AuditFieldsSchema as t, type ClientOptions as u, type Column as v, ColumnSchema as w, type ComparisonOperator as x, type Component as y, ComponentSchema as z };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@proteos/sdk",
3
- "version": "0.53.0",
3
+ "version": "0.54.0",
4
4
  "license": "Apache-2.0",
5
5
  "description": "TypeScript SDK for the Proteos platform",
6
6
  "repository": {
@@ -66,8 +66,8 @@
66
66
  "tsup": "^8.3.0",
67
67
  "typescript": "^5.7.0",
68
68
  "vitest": "^3.0.0",
69
- "@proteos/tsconfig": "0.0.0",
70
- "@proteos/biome-config": "0.0.0"
69
+ "@proteos/biome-config": "0.0.0",
70
+ "@proteos/tsconfig": "0.0.0"
71
71
  },
72
72
  "scripts": {
73
73
  "build": "tsup",
@@ -108,6 +108,14 @@ export const PLATFORM_ENTITIES: readonly PlatformEntity[] = [
108
108
  // Connectors (connector-service). `connections` above is shared; this is the
109
109
  // manifest catalog.
110
110
  { slug: 'connectors', name: 'Connectors' },
111
+ // Scheduling (scheduling-service)
112
+ { slug: 'calendar-connections', name: 'Calendar Connections' },
113
+ { slug: 'calendars', name: 'Calendars' },
114
+ { slug: 'calendar-events', name: 'Calendar Events' },
115
+ { slug: 'calendar-event-types', name: 'Calendar Event Types' },
116
+ { slug: 'scheduling-links', name: 'Scheduling Links' },
117
+ { slug: 'scheduling-profiles', name: 'Scheduling Profiles' },
118
+ { slug: 'availability-constraints', name: 'Availability Constraints' },
111
119
  ] as const
112
120
 
113
121
  /** Just the platform entity slugs, in canonical order. */
@@ -81,6 +81,12 @@ export interface Connector {
81
81
  has_default_app_credentials?: boolean
82
82
  config_schema?: Attribute[]
83
83
  methods: ConnectorMethod[]
84
+ /**
85
+ * Coarse, provider-neutral tags a first-party service filters the catalog
86
+ * by (`calendar`: the grant can drive the platform calendar mirror).
87
+ * snake_case, declared by the manifest.
88
+ */
89
+ capabilities?: string[]
84
90
  origin: 'pre_built' | 'custom'
85
91
  module_slug?: string
86
92
  status: 'active' | 'inactive'
@@ -152,6 +158,8 @@ export interface ListConnectorsQuery {
152
158
  page?: number
153
159
  page_size?: number
154
160
  status?: string
161
+ /** Only connectors declaring this capability (e.g. `calendar`). */
162
+ capability?: string
155
163
  }
156
164
 
157
165
  export interface ListConnectorConnectionsQuery {
package/src/index.ts CHANGED
@@ -792,6 +792,93 @@ export {
792
792
  SortConfigSchema,
793
793
  VariableSchema,
794
794
  } from './meta/index.js'
795
+ // Scheduling types (scheduling-service: calendar connections, calendars,
796
+ // scheduling profiles, the calendar_event mirror)
797
+ export type {
798
+ Assignment,
799
+ AvailabilityConstraint,
800
+ AvailabilityConstraintService,
801
+ AvailabilityKind,
802
+ BookingContact,
803
+ BookSchedulingLinkRequest,
804
+ BookSchedulingLinkResponse,
805
+ Calendar,
806
+ CalendarAttendee,
807
+ CalendarAttendeeRequest,
808
+ CalendarConnection,
809
+ CalendarConnectionService,
810
+ CalendarConnectionStatus,
811
+ CalendarEvent,
812
+ CalendarEventService,
813
+ CalendarEventType,
814
+ CalendarEventTypeService,
815
+ CalendarEventsResponse,
816
+ CalendarProvider,
817
+ CalendarService,
818
+ CalendarSync,
819
+ CalendarSyncStatus,
820
+ CalendarVisibility,
821
+ CalendarWatch,
822
+ ConferencingProvider,
823
+ CreateAvailabilityConstraintRequest,
824
+ CreateCalendarConnectionRequest,
825
+ CancelPublicCalendarEventRequest,
826
+ CreateCalendarEventRequest,
827
+ CreateSchedulingLinkRequest,
828
+ EventLocation,
829
+ EventSource,
830
+ EventStatus,
831
+ EventTransparency,
832
+ EventVisibility,
833
+ EventWriteStatus,
834
+ GetPublicSlotsQuery,
835
+ GetSlotsRequest,
836
+ GetSlotsResponse,
837
+ HostsRequest,
838
+ ListAvailabilityConstraintsQuery,
839
+ ListCalendarConnectionsQuery,
840
+ ListCalendarEventTypesQuery,
841
+ ListCalendarEventsQuery,
842
+ ListCalendarsQuery,
843
+ ListSchedulingLinksQuery,
844
+ LocationKind,
845
+ // Aliased: the conversation module already exports its own ListResponse.
846
+ ListResponse as SchedulingListResponse,
847
+ NotifyMode,
848
+ ParticipationStatus,
849
+ PublicBookSchedulingLinkResponse,
850
+ PublicCalendarEvent,
851
+ PublicCalendarEventType,
852
+ PublicEventLocation,
853
+ PublicHost,
854
+ PublicSchedulingLink,
855
+ PublicSchedulingService,
856
+ PutCalendarEventTypeRequest,
857
+ PutSchedulingProfileRequest,
858
+ RecordRef,
859
+ RecurrenceScope,
860
+ ReschedulePublicCalendarEventRequest,
861
+ RescheduleHost,
862
+ RespondCalendarEventRequest,
863
+ SchedulingLink,
864
+ SchedulingLinkService,
865
+ SchedulingProfile,
866
+ SchedulingProfileService,
867
+ Slot,
868
+ SlotParameters,
869
+ SlotService,
870
+ SlotUnavailability,
871
+ SlotUnavailabilityReason,
872
+ UpdateCalendarSyncRequest,
873
+ UpdateAvailabilityConstraintRequest,
874
+ UpdateCalendarConnectionRequest,
875
+ UpdateCalendarEventRequest,
876
+ UpdateCalendarEventTypeRequest,
877
+ UpdateCalendarRequest,
878
+ UpdateSchedulingLinkRequest,
879
+ } from './scheduling/index.js'
880
+ // Scheduling client (scheduling-service)
881
+ export { SchedulingClient } from './scheduling/index.js'
795
882
  export type {
796
883
  CreateFileMetadata,
797
884
  FileService,
@@ -23,6 +23,7 @@ export const LayoutElementType = {
23
23
  RecordFilter: 'record_filter',
24
24
  List: 'list',
25
25
  WorkflowTrigger: 'workflow_trigger',
26
+ SchedulingPicker: 'scheduling_picker',
26
27
  } as const
27
28
  export type LayoutElementType = (typeof LayoutElementType)[keyof typeof LayoutElementType]
28
29
 
@@ -257,6 +258,24 @@ export type WorkflowTriggerElement = CommonProps & {
257
258
  execution_attribute?: string
258
259
  }
259
260
 
261
+ /**
262
+ * Embeds a scheduling link's booking flow (type → time → details →
263
+ * confirmation) in the layout — the in-page counterpart of /s/:orgId/:key.
264
+ * `type_key` pre-selects one of the link's types (the picker shows the choice
265
+ * otherwise), `host_user_id` pins one host, `contact_id` is a Liquid template
266
+ * over the page scope that binds the booking to a known contact (no name /
267
+ * email asked). Allowed on every page type; public pages book through the
268
+ * unauthenticated surface.
269
+ */
270
+ export type SchedulingPickerElement = CommonProps & {
271
+ type: 'scheduling_picker'
272
+ link_key: string
273
+ type_key?: string
274
+ host_user_id?: string
275
+ contact_id?: string
276
+ is_header_hidden?: boolean
277
+ }
278
+
260
279
  export type TextVariant = 'heading' | 'subheading' | 'body' | 'caption' | 'callout'
261
280
 
262
281
  export type TextElement = CommonProps & {
@@ -280,6 +299,7 @@ export type LayoutElement =
280
299
  | RecordFilterElement
281
300
  | ListElement
282
301
  | WorkflowTriggerElement
302
+ | SchedulingPickerElement
283
303
 
284
304
  // ──────────────────────────────────────────────────────────── Schemas ──
285
305
 
@@ -410,5 +430,14 @@ export const LayoutElementSchema: z.ZodType<LayoutElement> = z.lazy(() =>
410
430
  variant: z.enum(['heading', 'subheading', 'body', 'caption', 'callout']),
411
431
  content: z.string().min(1),
412
432
  }),
433
+ z.object({
434
+ type: z.literal('scheduling_picker'),
435
+ ...commonPropsShape,
436
+ link_key: z.string().min(1),
437
+ type_key: z.string().min(1).optional(),
438
+ host_user_id: z.string().min(1).optional(),
439
+ contact_id: z.string().optional(),
440
+ is_header_hidden: z.boolean().optional(),
441
+ }),
413
442
  ]),
414
443
  ) as unknown as z.ZodType<LayoutElement>
@@ -29,6 +29,7 @@ export {
29
29
  LayoutTabSchema,
30
30
  type ListElement,
31
31
  type RecordFilterElement,
32
+ type SchedulingPickerElement,
32
33
  type WorkflowTriggerElement,
33
34
  type RelatedListElement,
34
35
  type RelatedRecordElement,