@agent-native/scheduling 0.2.1 → 0.2.2-nightly-20260927023146
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/actions/_helpers.d.ts +0 -13
- package/dist/actions/_helpers.d.ts.map +1 -1
- package/dist/actions/_helpers.js +0 -16
- package/dist/actions/_helpers.js.map +1 -1
- package/dist/actions/create-team.js +0 -1
- package/dist/actions/create-team.js.map +1 -1
- package/dist/actions/list-bookings.js +0 -4
- package/dist/actions/list-bookings.js.map +1 -1
- package/dist/actions/refresh-busy-times.js +0 -1
- package/dist/actions/refresh-busy-times.js.map +1 -1
- package/dist/actions/revoke-private-link.js +0 -2
- package/dist/actions/revoke-private-link.js.map +1 -1
- package/dist/actions/update-profile.js +0 -5
- package/dist/actions/update-profile.js.map +1 -1
- package/dist/core/buffers.d.ts +0 -18
- package/dist/core/buffers.d.ts.map +1 -1
- package/dist/core/buffers.js +0 -6
- package/dist/core/buffers.js.map +1 -1
- package/dist/core/conflicts.d.ts +0 -4
- package/dist/core/conflicts.d.ts.map +1 -1
- package/dist/core/conflicts.js +0 -1
- package/dist/core/conflicts.js.map +1 -1
- package/dist/core/limits.d.ts +0 -8
- package/dist/core/limits.d.ts.map +1 -1
- package/dist/core/limits.js.map +1 -1
- package/dist/core/round-robin.d.ts +0 -17
- package/dist/core/round-robin.d.ts.map +1 -1
- package/dist/core/round-robin.js.map +1 -1
- package/dist/core/rrule.d.ts.map +1 -1
- package/dist/core/rrule.js +0 -7
- package/dist/core/rrule.js.map +1 -1
- package/dist/core/rules.d.ts +0 -17
- package/dist/core/rules.d.ts.map +1 -1
- package/dist/core/rules.js +0 -8
- package/dist/core/rules.js.map +1 -1
- package/dist/core/slots.d.ts +0 -31
- package/dist/core/slots.d.ts.map +1 -1
- package/dist/core/slots.js +0 -9
- package/dist/core/slots.js.map +1 -1
- package/dist/core/time.d.ts +0 -24
- package/dist/core/time.d.ts.map +1 -1
- package/dist/core/time.js +0 -37
- package/dist/core/time.js.map +1 -1
- package/dist/index.d.ts +0 -10
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -10
- package/dist/index.js.map +1 -1
- package/dist/manifest.d.ts +0 -9
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +0 -18
- package/dist/manifest.js.map +1 -1
- package/dist/react/components/SlotPicker.d.ts +0 -8
- package/dist/react/components/SlotPicker.d.ts.map +1 -1
- package/dist/react/components/SlotPicker.js.map +1 -1
- package/dist/react/components/TimezoneSelect.d.ts.map +1 -1
- package/dist/react/components/TimezoneSelect.js +0 -2
- package/dist/react/components/TimezoneSelect.js.map +1 -1
- package/dist/react/components/booking-links/AvailabilityEditor.d.ts +0 -4
- package/dist/react/components/booking-links/AvailabilityEditor.d.ts.map +1 -1
- package/dist/react/components/booking-links/AvailabilityEditor.js +0 -15
- package/dist/react/components/booking-links/AvailabilityEditor.js.map +1 -1
- package/dist/react/components/booking-links/BookingLinkCreateDialog.d.ts +0 -6
- package/dist/react/components/booking-links/BookingLinkCreateDialog.d.ts.map +1 -1
- package/dist/react/components/booking-links/BookingLinkCreateDialog.js +0 -16
- package/dist/react/components/booking-links/BookingLinkCreateDialog.js.map +1 -1
- package/dist/react/components/booking-links/ConferencingSelector.d.ts +0 -2
- package/dist/react/components/booking-links/ConferencingSelector.d.ts.map +1 -1
- package/dist/react/components/booking-links/ConferencingSelector.js +0 -24
- package/dist/react/components/booking-links/ConferencingSelector.js.map +1 -1
- package/dist/react/components/booking-links/CustomFieldsEditor.d.ts +0 -1
- package/dist/react/components/booking-links/CustomFieldsEditor.d.ts.map +1 -1
- package/dist/react/components/booking-links/CustomFieldsEditor.js +0 -14
- package/dist/react/components/booking-links/CustomFieldsEditor.js.map +1 -1
- package/dist/react/components/booking-links/DurationPicker.d.ts +0 -1
- package/dist/react/components/booking-links/DurationPicker.d.ts.map +1 -1
- package/dist/react/components/booking-links/DurationPicker.js +1 -11
- package/dist/react/components/booking-links/DurationPicker.js.map +1 -1
- package/dist/react/components/booking-links/SlugEditor.d.ts +0 -3
- package/dist/react/components/booking-links/SlugEditor.d.ts.map +1 -1
- package/dist/react/components/booking-links/SlugEditor.js +0 -11
- package/dist/react/components/booking-links/SlugEditor.js.map +1 -1
- package/dist/react/components/booking-links/index.d.ts +0 -9
- package/dist/react/components/booking-links/index.d.ts.map +1 -1
- package/dist/react/components/booking-links/index.js +0 -9
- package/dist/react/components/booking-links/index.js.map +1 -1
- package/dist/react/components/index.d.ts +0 -10
- package/dist/react/components/index.d.ts.map +1 -1
- package/dist/react/components/index.js +0 -10
- package/dist/react/components/index.js.map +1 -1
- package/dist/react/hooks/useBookingFlow.d.ts.map +1 -1
- package/dist/react/hooks/useBookingFlow.js +0 -10
- package/dist/react/hooks/useBookingFlow.js.map +1 -1
- package/dist/react/hooks/useEventType.d.ts.map +1 -1
- package/dist/react/hooks/useEventType.js +0 -4
- package/dist/react/hooks/useEventType.js.map +1 -1
- package/dist/react/hooks/useReschedule.d.ts.map +1 -1
- package/dist/react/hooks/useReschedule.js +0 -4
- package/dist/react/hooks/useReschedule.js.map +1 -1
- package/dist/react/hooks/useSlots.d.ts +0 -2
- package/dist/react/hooks/useSlots.d.ts.map +1 -1
- package/dist/react/hooks/useSlots.js +0 -8
- package/dist/react/hooks/useSlots.js.map +1 -1
- package/dist/react/hooks/useTimezone.d.ts.map +1 -1
- package/dist/react/hooks/useTimezone.js +0 -4
- package/dist/react/hooks/useTimezone.js.map +1 -1
- package/dist/react/index.d.ts +0 -5
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +0 -5
- package/dist/react/index.js.map +1 -1
- package/dist/schema/bookings.d.ts +0 -7
- package/dist/schema/bookings.d.ts.map +1 -1
- package/dist/schema/bookings.js +0 -29
- package/dist/schema/bookings.js.map +1 -1
- package/dist/schema/calendar-cache.d.ts.map +1 -1
- package/dist/schema/calendar-cache.js +0 -11
- package/dist/schema/calendar-cache.js.map +1 -1
- package/dist/schema/credentials.d.ts +0 -8
- package/dist/schema/credentials.d.ts.map +1 -1
- package/dist/schema/credentials.js +0 -28
- package/dist/schema/credentials.js.map +1 -1
- package/dist/schema/event-types.d.ts +0 -10
- package/dist/schema/event-types.d.ts.map +1 -1
- package/dist/schema/event-types.js +0 -42
- package/dist/schema/event-types.js.map +1 -1
- package/dist/schema/index.d.ts +0 -11
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +0 -11
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/routing-forms.d.ts.map +1 -1
- package/dist/schema/routing-forms.js +0 -17
- package/dist/schema/routing-forms.js.map +1 -1
- package/dist/schema/schedules.d.ts +0 -12
- package/dist/schema/schedules.d.ts.map +1 -1
- package/dist/schema/schedules.js +0 -25
- package/dist/schema/schedules.js.map +1 -1
- package/dist/schema/teams.d.ts.map +1 -1
- package/dist/schema/teams.js +0 -7
- package/dist/schema/teams.js.map +1 -1
- package/dist/schema/workflows.d.ts +0 -7
- package/dist/schema/workflows.d.ts.map +1 -1
- package/dist/schema/workflows.js +0 -19
- package/dist/schema/workflows.js.map +1 -1
- package/dist/server/availability-engine.d.ts +0 -12
- package/dist/server/availability-engine.d.ts.map +1 -1
- package/dist/server/availability-engine.js +0 -20
- package/dist/server/availability-engine.js.map +1 -1
- package/dist/server/booking-service.d.ts +0 -14
- package/dist/server/booking-service.d.ts.map +1 -1
- package/dist/server/booking-service.js +0 -8
- package/dist/server/booking-service.js.map +1 -1
- package/dist/server/bookings-repo.d.ts +0 -7
- package/dist/server/bookings-repo.d.ts.map +1 -1
- package/dist/server/bookings-repo.js +0 -3
- package/dist/server/bookings-repo.js.map +1 -1
- package/dist/server/context.d.ts +0 -16
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/context.js.map +1 -1
- package/dist/server/db-types.d.ts +0 -11
- package/dist/server/db-types.d.ts.map +1 -1
- package/dist/server/event-types-repo.d.ts +0 -10
- package/dist/server/event-types-repo.d.ts.map +1 -1
- package/dist/server/event-types-repo.js +0 -21
- package/dist/server/event-types-repo.js.map +1 -1
- package/dist/server/hooks.d.ts.map +1 -1
- package/dist/server/hooks.js +0 -11
- package/dist/server/hooks.js.map +1 -1
- package/dist/server/ics.d.ts +0 -7
- package/dist/server/ics.d.ts.map +1 -1
- package/dist/server/ics.js.map +1 -1
- package/dist/server/providers/builtin-video.d.ts +0 -5
- package/dist/server/providers/builtin-video.d.ts.map +1 -1
- package/dist/server/providers/builtin-video.js.map +1 -1
- package/dist/server/providers/google-calendar.d.ts +0 -3
- package/dist/server/providers/google-calendar.d.ts.map +1 -1
- package/dist/server/providers/google-calendar.js +0 -2
- package/dist/server/providers/google-calendar.js.map +1 -1
- package/dist/server/providers/google-meet.d.ts +0 -7
- package/dist/server/providers/google-meet.d.ts.map +1 -1
- package/dist/server/providers/google-meet.js.map +1 -1
- package/dist/server/providers/office365.d.ts +0 -6
- package/dist/server/providers/office365.d.ts.map +1 -1
- package/dist/server/providers/office365.js.map +1 -1
- package/dist/server/providers/registry.d.ts +0 -4
- package/dist/server/providers/registry.d.ts.map +1 -1
- package/dist/server/providers/registry.js.map +1 -1
- package/dist/server/providers/teams.d.ts +0 -6
- package/dist/server/providers/teams.d.ts.map +1 -1
- package/dist/server/providers/teams.js +0 -2
- package/dist/server/providers/teams.js.map +1 -1
- package/dist/server/providers/types.d.ts +0 -27
- package/dist/server/providers/types.d.ts.map +1 -1
- package/dist/server/providers/zoom.d.ts +0 -19
- package/dist/server/providers/zoom.d.ts.map +1 -1
- package/dist/server/providers/zoom.js +0 -2
- package/dist/server/providers/zoom.js.map +1 -1
- package/dist/server/schedules-repo.d.ts.map +1 -1
- package/dist/server/schedules-repo.js +0 -4
- package/dist/server/schedules-repo.js.map +1 -1
- package/dist/server/video-oauth-state.d.ts +0 -5
- package/dist/server/video-oauth-state.d.ts.map +1 -1
- package/dist/server/video-oauth-state.js +1 -9
- package/dist/server/video-oauth-state.js.map +1 -1
- package/dist/server/video-oauth.d.ts +0 -4
- package/dist/server/video-oauth.d.ts.map +1 -1
- package/dist/server/video-oauth.js +0 -23
- package/dist/server/video-oauth.js.map +1 -1
- package/dist/shared/index.d.ts +0 -37
- package/dist/shared/index.d.ts.map +1 -1
- package/dist/shared/index.js +0 -4
- package/dist/shared/index.js.map +1 -1
- package/package.json +4 -4
- package/src/actions/_helpers.ts +0 -16
- package/src/actions/booking-authz.spec.ts +0 -6
- package/src/actions/create-team.ts +0 -1
- package/src/actions/event-type-authz.spec.ts +0 -11
- package/src/actions/list-bookings.ts +0 -4
- package/src/actions/refresh-busy-times.ts +0 -1
- package/src/actions/revoke-private-link.ts +0 -2
- package/src/actions/update-profile.ts +0 -5
- package/src/core/buffers.ts +0 -18
- package/src/core/conflicts.ts +0 -4
- package/src/core/limits.ts +0 -8
- package/src/core/round-robin.test.ts +0 -1
- package/src/core/round-robin.ts +0 -17
- package/src/core/rrule.ts +0 -7
- package/src/core/rules.ts +0 -17
- package/src/core/slots.test.ts +1 -11
- package/src/core/slots.ts +0 -40
- package/src/core/time.ts +0 -37
- package/src/index.ts +0 -11
- package/src/manifest.ts +0 -19
- package/src/react/components/SlotPicker.tsx +0 -8
- package/src/react/components/TimezoneSelect.tsx +0 -2
- package/src/react/components/_shadcn-shims.d.ts +0 -35
- package/src/react/components/booking-links/AvailabilityEditor.tsx +0 -15
- package/src/react/components/booking-links/BookingLinkCreateDialog.tsx +0 -22
- package/src/react/components/booking-links/ConferencingSelector.tsx +0 -26
- package/src/react/components/booking-links/CustomFieldsEditor.tsx +0 -15
- package/src/react/components/booking-links/DurationPicker.tsx +1 -12
- package/src/react/components/booking-links/SlugEditor.tsx +0 -14
- package/src/react/components/booking-links/index.ts +0 -9
- package/src/react/components/index.ts +0 -10
- package/src/react/hooks/useBookingFlow.ts +0 -10
- package/src/react/hooks/useEventType.ts +0 -4
- package/src/react/hooks/useReschedule.ts +0 -4
- package/src/react/hooks/useSlots.ts +0 -10
- package/src/react/hooks/useTimezone.ts +0 -4
- package/src/react/index.ts +0 -5
- package/src/schema/bookings.ts +0 -29
- package/src/schema/calendar-cache.ts +0 -11
- package/src/schema/credentials.ts +0 -28
- package/src/schema/event-types.ts +0 -42
- package/src/schema/index.ts +0 -11
- package/src/schema/routing-forms.ts +0 -17
- package/src/schema/schedules.ts +0 -25
- package/src/schema/teams.ts +0 -7
- package/src/schema/workflows.ts +0 -19
- package/src/server/availability-engine.test.ts +0 -1
- package/src/server/availability-engine.ts +0 -22
- package/src/server/booking-service.spec.ts +0 -15
- package/src/server/booking-service.ts +0 -22
- package/src/server/bookings-repo.ts +0 -10
- package/src/server/context.ts +0 -16
- package/src/server/db-types.ts +0 -11
- package/src/server/event-types-repo.ts +0 -31
- package/src/server/hooks.ts +0 -11
- package/src/server/ics.ts +0 -7
- package/src/server/providers/builtin-video.ts +0 -5
- package/src/server/providers/google-calendar.ts +0 -5
- package/src/server/providers/google-meet.ts +0 -7
- package/src/server/providers/office365.ts +0 -6
- package/src/server/providers/registry.ts +0 -4
- package/src/server/providers/teams.ts +0 -8
- package/src/server/providers/types.ts +0 -27
- package/src/server/providers/zoom.ts +0 -21
- package/src/server/schedules-repo.ts +0 -4
- package/src/server/video-oauth-state.ts +1 -10
- package/src/server/video-oauth.ts +0 -23
- package/src/shared/index.ts +0 -38
|
@@ -1,27 +1,13 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Pluggable provider interfaces for calendar reads and video-meeting writes.
|
|
3
|
-
*
|
|
4
|
-
* Consumers register providers via the registry. Each provider owns its own
|
|
5
|
-
* OAuth/credential lifecycle; this package is agnostic to how the tokens
|
|
6
|
-
* are stored (typically in core `oauth_tokens`).
|
|
7
|
-
*/
|
|
8
1
|
import type { BusyInterval, Booking } from "../../shared/index.js";
|
|
9
2
|
export interface CalendarProvider {
|
|
10
|
-
/** Unique provider slug, e.g. "google_calendar" */
|
|
11
3
|
kind: string;
|
|
12
|
-
/** Human-friendly display name, e.g. "Google Calendar" */
|
|
13
4
|
label: string;
|
|
14
|
-
/**
|
|
15
|
-
* Start the OAuth flow — return an authorization URL for the user to visit.
|
|
16
|
-
* `redirectUri` is the server's OAuth callback path for this provider.
|
|
17
|
-
*/
|
|
18
5
|
startOAuth(opts: {
|
|
19
6
|
redirectUri: string;
|
|
20
7
|
state: string;
|
|
21
8
|
}): Promise<{
|
|
22
9
|
authUrl: string;
|
|
23
10
|
}>;
|
|
24
|
-
/** Complete the OAuth flow with the received code; persist the credential. */
|
|
25
11
|
completeOAuth(opts: {
|
|
26
12
|
credentialId: string;
|
|
27
13
|
userEmail: string;
|
|
@@ -35,7 +21,6 @@ export interface CalendarProvider {
|
|
|
35
21
|
primary: boolean;
|
|
36
22
|
}[];
|
|
37
23
|
}>;
|
|
38
|
-
/** List the calendars the user has access to (for Selected Calendars UI). */
|
|
39
24
|
listCalendars(opts: {
|
|
40
25
|
credentialId: string;
|
|
41
26
|
}): Promise<{
|
|
@@ -43,14 +28,12 @@ export interface CalendarProvider {
|
|
|
43
28
|
name: string;
|
|
44
29
|
primary: boolean;
|
|
45
30
|
}[]>;
|
|
46
|
-
/** Read busy intervals across the user's selected calendars. */
|
|
47
31
|
getBusy(opts: {
|
|
48
32
|
credentialId: string;
|
|
49
33
|
calendarExternalIds: string[];
|
|
50
34
|
start: Date;
|
|
51
35
|
end: Date;
|
|
52
36
|
}): Promise<BusyInterval[]>;
|
|
53
|
-
/** Create a calendar event; return the external id. */
|
|
54
37
|
createEvent(opts: {
|
|
55
38
|
credentialId: string;
|
|
56
39
|
calendarExternalId: string;
|
|
@@ -61,7 +44,6 @@ export interface CalendarProvider {
|
|
|
61
44
|
meetingUrl?: string;
|
|
62
45
|
icalUid?: string;
|
|
63
46
|
}>;
|
|
64
|
-
/** Update (e.g. after reschedule). Returns the new iCalSequence. */
|
|
65
47
|
updateEvent(opts: {
|
|
66
48
|
credentialId: string;
|
|
67
49
|
externalId: string;
|
|
@@ -69,7 +51,6 @@ export interface CalendarProvider {
|
|
|
69
51
|
}): Promise<{
|
|
70
52
|
iCalSequence: number;
|
|
71
53
|
}>;
|
|
72
|
-
/** Delete/cancel an event. */
|
|
73
54
|
deleteEvent(opts: {
|
|
74
55
|
credentialId: string;
|
|
75
56
|
externalId: string;
|
|
@@ -90,12 +71,6 @@ export interface VideoProvider {
|
|
|
90
71
|
}): Promise<{
|
|
91
72
|
authUrl: string;
|
|
92
73
|
}>;
|
|
93
|
-
/**
|
|
94
|
-
* Complete the OAuth flow — optional. Paired with `startOAuth`. Consumers
|
|
95
|
-
* call this from their OAuth callback handler to exchange the `code` for
|
|
96
|
-
* tokens and return identifying info so a `scheduling_credentials` row
|
|
97
|
-
* can be written.
|
|
98
|
-
*/
|
|
99
74
|
completeOAuth?(opts: {
|
|
100
75
|
credentialId: string;
|
|
101
76
|
userEmail: string;
|
|
@@ -106,7 +81,6 @@ export interface VideoProvider {
|
|
|
106
81
|
externalAccountId: string;
|
|
107
82
|
displayName?: string;
|
|
108
83
|
}>;
|
|
109
|
-
/** Create a meeting room for a booking. */
|
|
110
84
|
createMeeting(opts: {
|
|
111
85
|
credentialId?: string;
|
|
112
86
|
booking: Booking;
|
|
@@ -115,7 +89,6 @@ export interface VideoProvider {
|
|
|
115
89
|
meetingId: string;
|
|
116
90
|
meetingPassword?: string;
|
|
117
91
|
}>;
|
|
118
|
-
/** Delete the meeting when the booking is cancelled. */
|
|
119
92
|
deleteMeeting?(opts: {
|
|
120
93
|
credentialId?: string;
|
|
121
94
|
meetingId: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/providers/types.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/server/providers/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Zoom provider — OAuth-based; creates a Zoom meeting per booking.
|
|
3
|
-
*
|
|
4
|
-
* Tokens are stored via the consumer's callback (typically core's
|
|
5
|
-
* oauth_tokens), keyed by credentialId. Consumers wire up
|
|
6
|
-
* `getAccessToken` + `updateTokens` against their token store.
|
|
7
|
-
*
|
|
8
|
-
* OAuth:
|
|
9
|
-
* - Auth URL: https://zoom.us/oauth/authorize?response_type=code&...
|
|
10
|
-
* - Token URL: https://zoom.us/oauth/token (basic-auth client_id:secret)
|
|
11
|
-
* - Scopes: meeting:write meeting:read (so we can create + delete)
|
|
12
|
-
* - User info: GET https://api.zoom.us/v2/users/me (returns account_id + email)
|
|
13
|
-
*/
|
|
14
1
|
import type { VideoProvider } from "./types.js";
|
|
15
2
|
export declare class ZoomProviderError extends Error {
|
|
16
3
|
readonly statusCode: number;
|
|
@@ -20,18 +7,12 @@ export interface ZoomProviderConfig {
|
|
|
20
7
|
clientId: string;
|
|
21
8
|
clientSecret: string;
|
|
22
9
|
getAccessToken: (credentialId: string) => Promise<string>;
|
|
23
|
-
/**
|
|
24
|
-
* Persist tokens after `completeOAuth` (and any later refresh). Optional —
|
|
25
|
-
* if omitted, the consumer is responsible for doing the write inside their
|
|
26
|
-
* own callback handler.
|
|
27
|
-
*/
|
|
28
10
|
updateTokens?: (credentialId: string, tokens: {
|
|
29
11
|
accessToken: string;
|
|
30
12
|
refreshToken?: string;
|
|
31
13
|
expiresAt?: Date;
|
|
32
14
|
rawResponse?: Record<string, unknown>;
|
|
33
15
|
}) => Promise<void>;
|
|
34
|
-
/** Called when the API returns 401/403; mark credential invalid in UI. */
|
|
35
16
|
markInvalid?: (credentialId: string) => Promise<void>;
|
|
36
17
|
}
|
|
37
18
|
export declare function createZoomProvider(config: ZoomProviderConfig): VideoProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../../src/server/providers/zoom.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"zoom.d.ts","sourceRoot":"","sources":["../../../src/server/providers/zoom.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD,qBAAa,iBAAkB,SAAQ,KAAK;IAExC,QAAQ,CAAC,UAAU,EAAE,MAAM;IAD7B,YACW,UAAU,EAAE,MAAM,EAC3B,YAAY,EAAE,MAAM,EAIrB;CACF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1D,YAAY,CAAC,EAAE,CACb,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE;QACN,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,SAAS,CAAC,EAAE,IAAI,CAAC;QACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACvC,KACE,OAAO,CAAC,IAAI,CAAC,CAAC;IACnB,WAAW,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACvD;AAID,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,aAAa,CAwI5E"}
|
|
@@ -6,7 +6,6 @@ export class ZoomProviderError extends Error {
|
|
|
6
6
|
this.name = "ZoomProviderError";
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
// Minimum scope needed to create + read meetings on the user's behalf.
|
|
10
9
|
const SCOPES = ["meeting:write", "meeting:read", "user:read"];
|
|
11
10
|
export function createZoomProvider(config) {
|
|
12
11
|
return {
|
|
@@ -49,7 +48,6 @@ export function createZoomProvider(config) {
|
|
|
49
48
|
expiresAt: new Date(Date.now() + (tokens.expires_in ?? 3600) * 1000),
|
|
50
49
|
rawResponse: tokens,
|
|
51
50
|
});
|
|
52
|
-
// Pull user info to label the credential.
|
|
53
51
|
const userRes = await fetch("https://api.zoom.us/v2/users/me", {
|
|
54
52
|
headers: { authorization: `Bearer ${tokens.access_token}` },
|
|
55
53
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zoom.js","sourceRoot":"","sources":["../../../src/server/providers/zoom.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zoom.js","sourceRoot":"","sources":["../../../src/server/providers/zoom.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules-repo.d.ts","sourceRoot":"","sources":["../../src/server/schedules-repo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schedules-repo.d.ts","sourceRoot":"","sources":["../../src/server/schedules-repo.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EACV,QAAQ,EACR,kBAAkB,EAClB,YAAY,EACZ,oBAAoB,EACrB,MAAM,oBAAoB,CAAC;AAG5B,wBAAsB,aAAa,CACjC,kBAAkB,EACd,MAAM,GACN;IACE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B,GACJ,OAAO,CAAC,QAAQ,EAAE,CAAC,CA2BrB;AAED,wBAAsB,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC,CAiB1E;AAED,wBAAsB,cAAc,CAAC,KAAK,EAAE;IAC1C,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;CAC3C,GAAG,OAAO,CAAC,QAAQ,CAAC,CA+BpB;AAED,wBAAsB,cAAc,CAClC,EAAE,EAAE,MAAM,EACV,KAAK,EAAE;IACL,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kBAAkB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IAC1C,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,GACA,OAAO,CAAC,QAAQ,CAAC,CA+CnB;AAED,wBAAsB,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAU9D;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAcf;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,SAAS,EAAE,oBAAoB,EAAE,GAChC,OAAO,CAAC,IAAI,CAAC,CAmBf;AAED,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAUf"}
|
|
@@ -1,8 +1,4 @@
|
|
|
1
1
|
import { accessFilter } from "@agent-native/core/sharing";
|
|
2
|
-
/**
|
|
3
|
-
* Data access for schedules — the weekly-hours + date-override definitions
|
|
4
|
-
* that event types reference.
|
|
5
|
-
*/
|
|
6
2
|
import { eq, and, inArray } from "drizzle-orm";
|
|
7
3
|
import { nanoid } from "nanoid";
|
|
8
4
|
import { getSchedulingContext } from "./context.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schedules-repo.js","sourceRoot":"","sources":["../../src/server/schedules-repo.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D
|
|
1
|
+
{"version":3,"file":"schedules-repo.js","sourceRoot":"","sources":["../../src/server/schedules-repo.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Mint a fresh signed state value bound to the current authenticated user
|
|
3
|
-
* and the requested OAuth `kind`.
|
|
4
|
-
*/
|
|
5
1
|
export declare function signVideoOAuthState(opts: {
|
|
6
2
|
kind: string;
|
|
7
3
|
userEmail: string;
|
|
@@ -22,7 +18,6 @@ export declare function verifyVideoOAuthState(opts: {
|
|
|
22
18
|
state: string | undefined | null;
|
|
23
19
|
kind: string;
|
|
24
20
|
userEmail: string;
|
|
25
|
-
/** Override default 10-minute TTL (for tests). */
|
|
26
21
|
ttlMs?: number;
|
|
27
22
|
}): boolean;
|
|
28
23
|
//# sourceMappingURL=video-oauth-state.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-oauth-state.d.ts","sourceRoot":"","sources":["../../src/server/video-oauth-state.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"video-oauth-state.d.ts","sourceRoot":"","sources":["../../src/server/video-oauth-state.ts"],"names":[],"mappings":"AAmDA,wBAAgB,mBAAmB,CAAC,IAAI,EAAE;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,GAAG,MAAM,CAQT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE;IAC1C,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAyBV"}
|
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
*/
|
|
18
18
|
import crypto from "node:crypto";
|
|
19
19
|
const SEPARATOR = ".";
|
|
20
|
-
const STATE_TTL_MS = 10 * 60 * 1000;
|
|
20
|
+
const STATE_TTL_MS = 10 * 60 * 1000;
|
|
21
21
|
function getStateSecret() {
|
|
22
22
|
const secret = process.env.SCHEDULING_OAUTH_STATE_SECRET ||
|
|
23
23
|
process.env.BETTER_AUTH_SECRET ||
|
|
@@ -38,15 +38,8 @@ function hmac(message, secret) {
|
|
|
38
38
|
return b64url(crypto.createHmac("sha256", secret).update(message).digest());
|
|
39
39
|
}
|
|
40
40
|
function safeFragment(value) {
|
|
41
|
-
// The encoded payload uses dots as separators, so any literal dot in the
|
|
42
|
-
// user email would corrupt parsing. Replace dots and any non-printable
|
|
43
|
-
// characters before signing.
|
|
44
41
|
return value.replace(/[^A-Za-z0-9_@-]/g, "_");
|
|
45
42
|
}
|
|
46
|
-
/**
|
|
47
|
-
* Mint a fresh signed state value bound to the current authenticated user
|
|
48
|
-
* and the requested OAuth `kind`.
|
|
49
|
-
*/
|
|
50
43
|
export function signVideoOAuthState(opts) {
|
|
51
44
|
const nonce = crypto.randomBytes(12).toString("hex");
|
|
52
45
|
const timestamp = Date.now().toString(36);
|
|
@@ -89,7 +82,6 @@ export function verifyVideoOAuthState(opts) {
|
|
|
89
82
|
return false;
|
|
90
83
|
if (!crypto.timingSafeEqual(a, b))
|
|
91
84
|
return false;
|
|
92
|
-
// Freshness check.
|
|
93
85
|
const ttl = opts.ttlMs ?? STATE_TTL_MS;
|
|
94
86
|
const issuedAt = Number.parseInt(timestamp, 36);
|
|
95
87
|
if (!Number.isFinite(issuedAt))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-oauth-state.js","sourceRoot":"","sources":["../../src/server/video-oauth-state.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,MAAM,MAAM,aAAa,CAAC;AAEjC,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC
|
|
1
|
+
{"version":3,"file":"video-oauth-state.js","sourceRoot":"","sources":["../../src/server/video-oauth-state.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,6 @@ export interface CompleteVideoOAuthResult {
|
|
|
5
5
|
externalAccountId: string;
|
|
6
6
|
displayName?: string;
|
|
7
7
|
}
|
|
8
|
-
/**
|
|
9
|
-
* Complete a video-provider OAuth callback. Throws on any failure so the
|
|
10
|
-
* caller can decide how to render the error (HTML page, JSON, redirect).
|
|
11
|
-
*/
|
|
12
8
|
export declare function completeVideoOAuth(opts: {
|
|
13
9
|
kind: string;
|
|
14
10
|
userEmail: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-oauth.d.ts","sourceRoot":"","sources":["../../src/server/video-oauth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"video-oauth.d.ts","sourceRoot":"","sources":["../../src/server/video-oauth.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,wBAAwB;IACvC,YAAY,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,kBAAkB,CAAC,IAAI,EAAE;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;CACrB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAyDpC"}
|
|
@@ -1,26 +1,7 @@
|
|
|
1
1
|
import { eq } from "drizzle-orm";
|
|
2
|
-
/**
|
|
3
|
-
* Server-side helper for completing video conferencing OAuth callbacks.
|
|
4
|
-
*
|
|
5
|
-
* Templates mount this under `/_agent-native/oauth/<kind>/callback.get.ts`
|
|
6
|
-
* and forward the h3 event. The helper:
|
|
7
|
-
* 1. Looks up the video provider by kind
|
|
8
|
-
* 2. Allocates a `scheduling_credentials` row (so `credentialId` is stable)
|
|
9
|
-
* 3. Calls the provider's `completeOAuth` (tokens get persisted via the
|
|
10
|
-
* provider's `updateTokens` callback, typically against core's
|
|
11
|
-
* `oauth_tokens` table, keyed by `credentialId`)
|
|
12
|
-
* 4. Updates the credential row with display metadata
|
|
13
|
-
*
|
|
14
|
-
* It is intentionally agnostic to the consumer's auth/session plumbing —
|
|
15
|
-
* pass in `userEmail` explicitly.
|
|
16
|
-
*/
|
|
17
2
|
import { nanoid } from "nanoid";
|
|
18
3
|
import { getSchedulingContext } from "./context.js";
|
|
19
4
|
import { getVideoProvider } from "./providers/registry.js";
|
|
20
|
-
/**
|
|
21
|
-
* Complete a video-provider OAuth callback. Throws on any failure so the
|
|
22
|
-
* caller can decide how to render the error (HTML page, JSON, redirect).
|
|
23
|
-
*/
|
|
24
5
|
export async function completeVideoOAuth(opts) {
|
|
25
6
|
const { kind, userEmail, code, redirectUri } = opts;
|
|
26
7
|
const provider = getVideoProvider(kind);
|
|
@@ -33,8 +14,6 @@ export async function completeVideoOAuth(opts) {
|
|
|
33
14
|
const { getDb, schema } = getSchedulingContext();
|
|
34
15
|
const now = new Date().toISOString();
|
|
35
16
|
const credentialId = nanoid();
|
|
36
|
-
// Insert row up-front so `updateTokens(credentialId, ...)` inside
|
|
37
|
-
// completeOAuth has a stable key to write against.
|
|
38
17
|
await getDb().insert(schema.schedulingCredentials).values({
|
|
39
18
|
id: credentialId,
|
|
40
19
|
type: kind,
|
|
@@ -56,13 +35,11 @@ export async function completeVideoOAuth(opts) {
|
|
|
56
35
|
});
|
|
57
36
|
}
|
|
58
37
|
catch (err) {
|
|
59
|
-
// Roll back the credentials row on failure.
|
|
60
38
|
await getDb()
|
|
61
39
|
.delete(schema.schedulingCredentials)
|
|
62
40
|
.where(eq(schema.schedulingCredentials.id, credentialId));
|
|
63
41
|
throw err;
|
|
64
42
|
}
|
|
65
|
-
// Update the credential row with external identity metadata.
|
|
66
43
|
await getDb()
|
|
67
44
|
.update(schema.schedulingCredentials)
|
|
68
45
|
.set({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"video-oauth.js","sourceRoot":"","sources":["../../src/server/video-oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC
|
|
1
|
+
{"version":3,"file":"video-oauth.js","sourceRoot":"","sources":["../../src/server/video-oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAU3D,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,IAKxC;IACC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IACpD,MAAM,QAAQ,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,oCAAoC,IAAI,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,yBAAyB,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,oBAAoB,EAAE,CAAC;IACjD,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,YAAY,GAAG,MAAM,EAAE,CAAC;IAE9B,MAAM,KAAK,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC;QACxD,EAAE,EAAE,YAAY;QAChB,IAAI,EAAE,IAAI;QACV,SAAS;QACT,KAAK,EAAE,IAAI;QACX,YAAY,EAAE,YAAY;QAC1B,SAAS,EAAE,KAAK;QAChB,OAAO,EAAE,KAAK;QACd,SAAS,EAAE,GAAG;QACd,SAAS,EAAE,GAAG;KACf,CAAC,CAAC;IAEH,IAAI,MAAuE,CAAC;IAC5E,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC;YACpC,YAAY;YACZ,SAAS;YACT,IAAI;YACJ,WAAW;SACZ,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,KAAK,EAAE;aACV,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;aACpC,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;QAC5D,MAAM,GAAG,CAAC;IACZ,CAAC;IAED,MAAM,KAAK,EAAE;SACV,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC;SACpC,GAAG,CAAC;QACH,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,IAAI;QAC3C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;QACvC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;KACpC,CAAC;SACD,KAAK,CAAC,EAAE,CAAC,MAAM,CAAC,qBAAqB,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;IAE5D,OAAO;QACL,YAAY;QACZ,IAAI;QACJ,aAAa,EAAE,MAAM,CAAC,aAAa;QACnC,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;QAC3C,WAAW,EAAE,MAAM,CAAC,WAAW;KAChC,CAAC;AACJ,CAAC"}
|
package/dist/shared/index.d.ts
CHANGED
|
@@ -1,32 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Wire-level types shared between server, actions, and React client.
|
|
3
|
-
* These are the primary stable contract of the package.
|
|
4
|
-
*/
|
|
5
1
|
export type SchedulingType = "personal" | "collective" | "round-robin" | "managed";
|
|
6
2
|
export type BookingStatus = "pending" | "confirmed" | "cancelled" | "rejected" | "rescheduled";
|
|
7
3
|
export type LocationKind = "builtin-video" | "zoom" | "google-meet" | "teams" | "phone" | "in-person" | "custom-link" | "attendee-phone" | "organizer-phone" | "attendee-choice";
|
|
8
4
|
export interface Location {
|
|
9
5
|
kind: LocationKind;
|
|
10
|
-
/** Provider credential id, if applicable */
|
|
11
6
|
credentialId?: string;
|
|
12
|
-
/** Meeting link override */
|
|
13
7
|
link?: string;
|
|
14
|
-
/** Street address for in-person */
|
|
15
8
|
address?: string;
|
|
16
|
-
/** Phone number for phone/organizer-phone */
|
|
17
9
|
phone?: string;
|
|
18
|
-
/** Display name shown in booking UI */
|
|
19
10
|
label?: string;
|
|
20
11
|
}
|
|
21
12
|
export type PeriodType = "unlimited" | "rolling" | "range";
|
|
22
13
|
export interface BookingLimits {
|
|
23
|
-
/** Max bookings in one day */
|
|
24
14
|
perDay?: number;
|
|
25
|
-
/** Max bookings in one week (starting on user's configured start of week) */
|
|
26
15
|
perWeek?: number;
|
|
27
|
-
/** Max bookings in one month */
|
|
28
16
|
perMonth?: number;
|
|
29
|
-
/** Max bookings in one year */
|
|
30
17
|
perYear?: number;
|
|
31
18
|
}
|
|
32
19
|
export interface CustomField {
|
|
@@ -36,17 +23,12 @@ export interface CustomField {
|
|
|
36
23
|
placeholder?: string;
|
|
37
24
|
required: boolean;
|
|
38
25
|
options?: string[];
|
|
39
|
-
/** Default/preset value for this field */
|
|
40
26
|
defaultValue?: string | number | boolean;
|
|
41
|
-
/** Internal identifier stored on booking responses */
|
|
42
27
|
name: string;
|
|
43
28
|
}
|
|
44
29
|
export interface RecurringEventRule {
|
|
45
|
-
/** iCal RRULE format, e.g. "FREQ=WEEKLY;COUNT=4" */
|
|
46
30
|
rrule: string;
|
|
47
|
-
/** Max number of occurrences */
|
|
48
31
|
count?: number;
|
|
49
|
-
/** How occurrences are labeled on the booker ("Weekly for 4 weeks") */
|
|
50
32
|
description?: string;
|
|
51
33
|
}
|
|
52
34
|
export interface EventType {
|
|
@@ -55,15 +37,12 @@ export interface EventType {
|
|
|
55
37
|
slug: string;
|
|
56
38
|
description?: string;
|
|
57
39
|
length: number;
|
|
58
|
-
/** Optional additional duration choices */
|
|
59
40
|
durations?: number[];
|
|
60
41
|
hidden: boolean;
|
|
61
42
|
position: number;
|
|
62
43
|
schedulingType: SchedulingType;
|
|
63
|
-
/** If personal, the owner; if team, null (team event types) */
|
|
64
44
|
ownerEmail?: string;
|
|
65
45
|
teamId?: string;
|
|
66
|
-
/** Default schedule ID if not set at event level */
|
|
67
46
|
scheduleId?: string;
|
|
68
47
|
locations: Location[];
|
|
69
48
|
customFields: CustomField[];
|
|
@@ -90,32 +69,22 @@ export interface EventType {
|
|
|
90
69
|
updatedAt: string;
|
|
91
70
|
}
|
|
92
71
|
export interface Slot {
|
|
93
|
-
/** ISO 8601 start time in UTC */
|
|
94
72
|
start: string;
|
|
95
|
-
/** ISO 8601 end time in UTC */
|
|
96
73
|
end: string;
|
|
97
|
-
/** True if this slot can still be booked (not full for seated events) */
|
|
98
74
|
available: boolean;
|
|
99
|
-
/** Seats remaining, for seated events */
|
|
100
75
|
seatsRemaining?: number;
|
|
101
|
-
/** Assigned host for round-robin events (email) */
|
|
102
76
|
hostEmail?: string;
|
|
103
77
|
}
|
|
104
78
|
export interface AvailabilityInterval {
|
|
105
|
-
/** "HH:MM" in schedule's timezone */
|
|
106
79
|
startTime: string;
|
|
107
|
-
/** "HH:MM" in schedule's timezone */
|
|
108
80
|
endTime: string;
|
|
109
81
|
}
|
|
110
82
|
export interface WeeklyAvailability {
|
|
111
|
-
/** 0=Sunday … 6=Saturday, ISO-like */
|
|
112
83
|
day: number;
|
|
113
84
|
intervals: AvailabilityInterval[];
|
|
114
85
|
}
|
|
115
86
|
export interface DateOverride {
|
|
116
|
-
/** YYYY-MM-DD in schedule's timezone */
|
|
117
87
|
date: string;
|
|
118
|
-
/** Empty array = fully blocked */
|
|
119
88
|
intervals: AvailabilityInterval[];
|
|
120
89
|
}
|
|
121
90
|
export interface Schedule {
|
|
@@ -180,9 +149,7 @@ export interface Host {
|
|
|
180
149
|
priority: number;
|
|
181
150
|
}
|
|
182
151
|
export interface BusyInterval {
|
|
183
|
-
/** ISO 8601 UTC */
|
|
184
152
|
start: string;
|
|
185
|
-
/** ISO 8601 UTC */
|
|
186
153
|
end: string;
|
|
187
154
|
source?: string;
|
|
188
155
|
}
|
|
@@ -213,7 +180,6 @@ export interface WorkflowStep {
|
|
|
213
180
|
id: string;
|
|
214
181
|
order: number;
|
|
215
182
|
action: WorkflowStepAction;
|
|
216
|
-
/** Minutes from trigger; negative = before (for before-event), positive = after */
|
|
217
183
|
offsetMinutes: number;
|
|
218
184
|
sendTo?: string;
|
|
219
185
|
emailSubject?: string;
|
|
@@ -245,7 +211,6 @@ export interface RoutingFormField {
|
|
|
245
211
|
}
|
|
246
212
|
export interface RoutingFormRule {
|
|
247
213
|
id: string;
|
|
248
|
-
/** Array of `{fieldId, op, value}` expressions ANDed together */
|
|
249
214
|
conditions: {
|
|
250
215
|
fieldId: string;
|
|
251
216
|
op: "equals" | "not-equals" | "contains" | "starts-with" | "in";
|
|
@@ -271,7 +236,6 @@ export interface RoutingForm {
|
|
|
271
236
|
teamId?: string;
|
|
272
237
|
fields: RoutingFormField[];
|
|
273
238
|
rules: RoutingFormRule[];
|
|
274
|
-
/** Action taken when no rules match */
|
|
275
239
|
fallback: {
|
|
276
240
|
kind: "event-type";
|
|
277
241
|
eventTypeId: string;
|
|
@@ -293,6 +257,5 @@ export interface HashedLink {
|
|
|
293
257
|
isSingleUse: boolean;
|
|
294
258
|
usedAt?: string;
|
|
295
259
|
}
|
|
296
|
-
/** Round-robin assignment strategy */
|
|
297
260
|
export type RoundRobinStrategy = "lowest-recent-bookings" | "weighted" | "calibrated";
|
|
298
261
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"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"}
|
package/dist/shared/index.js
CHANGED
package/dist/shared/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/shared/index.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agent-native/scheduling",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.2-nightly-20260927023146",
|
|
4
4
|
"description": "Scheduling primitives for agent-native apps — event types, availability, bookings, team scheduling, workflows, and routing forms.",
|
|
5
5
|
"homepage": "https://github.com/BuilderIO/agent-native#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"nanoid": "^5.1.9",
|
|
57
57
|
"rrule": "^2.8.1",
|
|
58
58
|
"zod": "^4.3.6",
|
|
59
|
-
"@agent-native/toolkit": "^0.22.
|
|
59
|
+
"@agent-native/toolkit": "^0.22.2-nightly-20260927023146"
|
|
60
60
|
},
|
|
61
61
|
"devDependencies": {
|
|
62
62
|
"@tabler/icons-react": "3.44.0",
|
|
@@ -66,10 +66,10 @@
|
|
|
66
66
|
"react": "^19.2.5",
|
|
67
67
|
"typescript-7": "npm:typescript@^7.0.2",
|
|
68
68
|
"vitest": "^4.1.5",
|
|
69
|
-
"@agent-native/core": "0.193.
|
|
69
|
+
"@agent-native/core": "0.193.1-nightly-20260927023146"
|
|
70
70
|
},
|
|
71
71
|
"peerDependencies": {
|
|
72
|
-
"@agent-native/core": "
|
|
72
|
+
"@agent-native/core": "0.193.1-nightly-20260927023146",
|
|
73
73
|
"@tabler/icons-react": "^3.41.1",
|
|
74
74
|
"drizzle-orm": ">=0.45",
|
|
75
75
|
"react": ">=18",
|