57 lines
2.3 KiB
TypeScript
57 lines
2.3 KiB
TypeScript
// @when/calendar — external-calendar I/O for the worker (web consumes it too,
|
|
// but only the light, tree-shakeable read/build paths — never heavy provider work
|
|
// on a request).
|
|
|
|
// ICS document building.
|
|
export { buildIcs } from './ics.js';
|
|
export { icsValue, icsParameter } from './text.js';
|
|
export type { IcsInput, IcsMethod } from './ics.js';
|
|
export type { Clock } from './clock.js';
|
|
|
|
// Shared calendar event fields (Google + ICS).
|
|
export { describeAppointment } from './description.js';
|
|
export { guestContact } from './guest.js';
|
|
export type { CalendarGuest } from './guest.js';
|
|
|
|
// Which calendars block a meeting's slots. Kept apart from busy.js so the web
|
|
// availability path can import it without pulling in provider adapters.
|
|
export { busyCalendarsFor } from './busy-calendars.js';
|
|
|
|
// Worker refresh: fetch provider-expanded busy intervals, filtering our own events.
|
|
export { fetchBusyIntervals } from './busy.js';
|
|
|
|
// Pushing appointments to a destination calendar.
|
|
export { pushAppointment, deleteAppointmentFromCalendar } from './push.js';
|
|
export type { PushOptions, PushResult, DeleteResult } from './push.js';
|
|
|
|
// Adapters and shared calendar types.
|
|
export { getCalendarAdapter } from './adapter.js';
|
|
export type { CalendarAdapter } from './adapter.js';
|
|
export { getProviderAdapter } from './provider-adapter.js';
|
|
export type { ProviderAdapter, ProviderCalendar } from './provider-adapter.js';
|
|
export type { BusyEvent, BusyWindow, Interval } from './types.js';
|
|
|
|
// Provider connect + discovery — used to authenticate a provider, run the OAuth
|
|
// consent flow, and list available calendars without a calendar-bound adapter
|
|
// (the CLI today; a web connect/test UI could consume the same paths).
|
|
export {
|
|
getGoogleAccessToken,
|
|
buildGoogleAuthUrl,
|
|
exchangeGoogleAuthCode,
|
|
revokeGoogleToken,
|
|
listGoogleCalendars
|
|
} from './adapters/google.js';
|
|
export type {
|
|
GoogleConfig,
|
|
GoogleTokens,
|
|
GoogleCalendarItem,
|
|
GoogleAuthUrlOptions
|
|
} from './adapters/google.js';
|
|
export { getGoogleEvent, patchGoogleEvent } from './adapters/google-event.js';
|
|
export { verifyCalDavProvider, discoverCalDavCalendars } from './adapters/caldav.js';
|
|
export type { CalDavCalendarItem } from './adapters/caldav.js';
|
|
|
|
// Logger injection — the host installs its logger once at startup.
|
|
export { setLogger } from './logger.js';
|
|
export type { Logger } from './logger.js';
|