@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
package/dist/core/time.d.ts
CHANGED
|
@@ -1,26 +1,11 @@
|
|
|
1
|
-
/** Parse an ISO 8601 string to a UTC Date. */
|
|
2
1
|
export declare function parseISO(iso: string): Date;
|
|
3
|
-
/** Format a Date to an ISO 8601 UTC string ending in "Z". */
|
|
4
2
|
export declare function toISO(d: Date): string;
|
|
5
|
-
/** Add minutes to a Date (UTC-safe; DST-safe because we stay in UTC). */
|
|
6
3
|
export declare function addMinutes(d: Date, minutes: number): Date;
|
|
7
|
-
/** Minutes between two Dates (end - start). Can be negative. */
|
|
8
4
|
export declare function minutesBetween(start: Date, end: Date): number;
|
|
9
|
-
/**
|
|
10
|
-
* Build a UTC Date from a local date + time of day + timezone.
|
|
11
|
-
*
|
|
12
|
-
* Example:
|
|
13
|
-
* zonedTimeToUtc("2026-04-04", "09:00", "America/Los_Angeles")
|
|
14
|
-
* → Date where UTC hour depends on whether PDT or PST is active.
|
|
15
|
-
*/
|
|
16
5
|
export declare function zonedTimeToUtc(localDate: string, localTime: string, timezone: string): Date;
|
|
17
|
-
/** Format a UTC Date into a "YYYY-MM-DD" string in the target timezone. */
|
|
18
6
|
export declare function formatLocalDate(d: Date, timezone: string): string;
|
|
19
|
-
/** Format a UTC Date into a "HH:MM" string in the target timezone. */
|
|
20
7
|
export declare function formatLocalTime(d: Date, timezone: string): string;
|
|
21
|
-
/** Day of week (0=Sun, 6=Sat) for a UTC Date in the target timezone. */
|
|
22
8
|
export declare function getDayOfWeek(d: Date, timezone: string): number;
|
|
23
|
-
/** True if two intervals overlap (end-exclusive). */
|
|
24
9
|
export declare function overlaps(a: {
|
|
25
10
|
start: Date;
|
|
26
11
|
end: Date;
|
|
@@ -28,7 +13,6 @@ export declare function overlaps(a: {
|
|
|
28
13
|
start: Date;
|
|
29
14
|
end: Date;
|
|
30
15
|
}): boolean;
|
|
31
|
-
/** Clamp a date range to a window. Returns null if they don't intersect. */
|
|
32
16
|
export declare function clampRange(range: {
|
|
33
17
|
start: Date;
|
|
34
18
|
end: Date;
|
|
@@ -39,14 +23,6 @@ export declare function clampRange(range: {
|
|
|
39
23
|
start: Date;
|
|
40
24
|
end: Date;
|
|
41
25
|
} | null;
|
|
42
|
-
/**
|
|
43
|
-
* Iterate UTC Date objects from start (inclusive) to end (exclusive) by
|
|
44
|
-
* stepping `stepMinutes`. Safe across DST because we never touch local time.
|
|
45
|
-
*/
|
|
46
26
|
export declare function steppedDates(start: Date, end: Date, stepMinutes: number): Generator<Date>;
|
|
47
|
-
/**
|
|
48
|
-
* Enumerate "YYYY-MM-DD" local dates in `timezone` from `startUtc` to `endUtc`.
|
|
49
|
-
* Useful for iterating per-day availability over a booking window.
|
|
50
|
-
*/
|
|
51
27
|
export declare function localDatesInRange(startUtc: Date, endUtc: Date, timezone: string): string[];
|
|
52
28
|
//# sourceMappingURL=time.d.ts.map
|
package/dist/core/time.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/core/time.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"time.d.ts","sourceRoot":"","sources":["../../src/core/time.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAE1C;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,CAErC;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,GAAG,MAAM,CAE7D;AAED,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,GACf,IAAI,CAKN;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAMjE;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAKjE;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAG9D;AAED,wBAAgB,QAAQ,CACtB,CAAC,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,EAC7B,CAAC,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAC5B,OAAO,CAET;AAED,wBAAgB,UAAU,CACxB,KAAK,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,EACjC,MAAM,EAAE;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GACjC;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,GAAG,EAAE,IAAI,CAAA;CAAE,GAAG,IAAI,CAKnC;AAED,wBAAiB,YAAY,CAC3B,KAAK,EAAE,IAAI,EACX,GAAG,EAAE,IAAI,EACT,WAAW,EAAE,MAAM,GAClB,SAAS,CAAC,IAAI,CAAC,CAMjB;AAED,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,IAAI,EACd,MAAM,EAAE,IAAI,EACZ,QAAQ,EAAE,MAAM,GACf,MAAM,EAAE,CAeV"}
|
package/dist/core/time.js
CHANGED
|
@@ -1,47 +1,23 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DST-safe time math.
|
|
3
|
-
*
|
|
4
|
-
* Rules:
|
|
5
|
-
* - Never use raw `Date` arithmetic for anything timezone-aware.
|
|
6
|
-
* - Always work in UTC internally; convert at the edges.
|
|
7
|
-
* - Date strings are ISO-8601 (UTC). Local-day strings are "YYYY-MM-DD".
|
|
8
|
-
* - Times of day are "HH:MM" (24h, no seconds).
|
|
9
|
-
* - Timezones are IANA identifiers like "America/Los_Angeles".
|
|
10
|
-
*/
|
|
11
1
|
import { TZDate } from "@date-fns/tz";
|
|
12
2
|
import { addMinutes as _addMinutes, differenceInMinutes } from "date-fns";
|
|
13
|
-
/** Parse an ISO 8601 string to a UTC Date. */
|
|
14
3
|
export function parseISO(iso) {
|
|
15
4
|
return new Date(iso);
|
|
16
5
|
}
|
|
17
|
-
/** Format a Date to an ISO 8601 UTC string ending in "Z". */
|
|
18
6
|
export function toISO(d) {
|
|
19
7
|
return d.toISOString();
|
|
20
8
|
}
|
|
21
|
-
/** Add minutes to a Date (UTC-safe; DST-safe because we stay in UTC). */
|
|
22
9
|
export function addMinutes(d, minutes) {
|
|
23
10
|
return _addMinutes(d, minutes);
|
|
24
11
|
}
|
|
25
|
-
/** Minutes between two Dates (end - start). Can be negative. */
|
|
26
12
|
export function minutesBetween(start, end) {
|
|
27
13
|
return differenceInMinutes(end, start);
|
|
28
14
|
}
|
|
29
|
-
/**
|
|
30
|
-
* Build a UTC Date from a local date + time of day + timezone.
|
|
31
|
-
*
|
|
32
|
-
* Example:
|
|
33
|
-
* zonedTimeToUtc("2026-04-04", "09:00", "America/Los_Angeles")
|
|
34
|
-
* → Date where UTC hour depends on whether PDT or PST is active.
|
|
35
|
-
*/
|
|
36
15
|
export function zonedTimeToUtc(localDate, localTime, timezone) {
|
|
37
16
|
const [y, m, d] = localDate.split("-").map(Number);
|
|
38
17
|
const [h, mm] = localTime.split(":").map(Number);
|
|
39
|
-
// TZDate constructor takes local-in-timezone components and produces a
|
|
40
|
-
// Date whose UTC value is correct for that wall-clock time in `timezone`.
|
|
41
18
|
const tz = new TZDate(y, (m ?? 1) - 1, d ?? 1, h ?? 0, mm ?? 0, 0, timezone);
|
|
42
19
|
return new Date(tz.getTime());
|
|
43
20
|
}
|
|
44
|
-
/** Format a UTC Date into a "YYYY-MM-DD" string in the target timezone. */
|
|
45
21
|
export function formatLocalDate(d, timezone) {
|
|
46
22
|
const tz = new TZDate(d.getTime(), timezone);
|
|
47
23
|
const yyyy = tz.getFullYear();
|
|
@@ -49,23 +25,19 @@ export function formatLocalDate(d, timezone) {
|
|
|
49
25
|
const dd = String(tz.getDate()).padStart(2, "0");
|
|
50
26
|
return `${yyyy}-${mm}-${dd}`;
|
|
51
27
|
}
|
|
52
|
-
/** Format a UTC Date into a "HH:MM" string in the target timezone. */
|
|
53
28
|
export function formatLocalTime(d, timezone) {
|
|
54
29
|
const tz = new TZDate(d.getTime(), timezone);
|
|
55
30
|
const hh = String(tz.getHours()).padStart(2, "0");
|
|
56
31
|
const mm = String(tz.getMinutes()).padStart(2, "0");
|
|
57
32
|
return `${hh}:${mm}`;
|
|
58
33
|
}
|
|
59
|
-
/** Day of week (0=Sun, 6=Sat) for a UTC Date in the target timezone. */
|
|
60
34
|
export function getDayOfWeek(d, timezone) {
|
|
61
35
|
const tz = new TZDate(d.getTime(), timezone);
|
|
62
36
|
return tz.getDay();
|
|
63
37
|
}
|
|
64
|
-
/** True if two intervals overlap (end-exclusive). */
|
|
65
38
|
export function overlaps(a, b) {
|
|
66
39
|
return a.start < b.end && b.start < a.end;
|
|
67
40
|
}
|
|
68
|
-
/** Clamp a date range to a window. Returns null if they don't intersect. */
|
|
69
41
|
export function clampRange(range, window) {
|
|
70
42
|
const start = range.start > window.start ? range.start : window.start;
|
|
71
43
|
const end = range.end < window.end ? range.end : window.end;
|
|
@@ -73,10 +45,6 @@ export function clampRange(range, window) {
|
|
|
73
45
|
return null;
|
|
74
46
|
return { start, end };
|
|
75
47
|
}
|
|
76
|
-
/**
|
|
77
|
-
* Iterate UTC Date objects from start (inclusive) to end (exclusive) by
|
|
78
|
-
* stepping `stepMinutes`. Safe across DST because we never touch local time.
|
|
79
|
-
*/
|
|
80
48
|
export function* steppedDates(start, end, stepMinutes) {
|
|
81
49
|
let cursor = new Date(start.getTime());
|
|
82
50
|
while (cursor < end) {
|
|
@@ -84,10 +52,6 @@ export function* steppedDates(start, end, stepMinutes) {
|
|
|
84
52
|
cursor = addMinutes(cursor, stepMinutes);
|
|
85
53
|
}
|
|
86
54
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Enumerate "YYYY-MM-DD" local dates in `timezone` from `startUtc` to `endUtc`.
|
|
89
|
-
* Useful for iterating per-day availability over a booking window.
|
|
90
|
-
*/
|
|
91
55
|
export function localDatesInRange(startUtc, endUtc, timezone) {
|
|
92
56
|
const out = [];
|
|
93
57
|
let cursor = startUtc;
|
|
@@ -100,7 +64,6 @@ export function localDatesInRange(startUtc, endUtc, timezone) {
|
|
|
100
64
|
}
|
|
101
65
|
cursor = addMinutes(cursor, 60);
|
|
102
66
|
}
|
|
103
|
-
// Include final local day even if loop stopped exactly at midnight boundary
|
|
104
67
|
const endLocal = formatLocalDate(new Date(endUtc.getTime() - 1), timezone);
|
|
105
68
|
if (out[out.length - 1] !== endLocal)
|
|
106
69
|
out.push(endLocal);
|
package/dist/core/time.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/core/time.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"time.js","sourceRoot":"","sources":["../../src/core/time.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agent-native/scheduling
|
|
3
|
-
*
|
|
4
|
-
* Root entry — re-exports shared types and constants only.
|
|
5
|
-
* Subpath imports are the primary API surface:
|
|
6
|
-
*
|
|
7
|
-
* import { eventTypes, bookings } from "@agent-native/scheduling/schema";
|
|
8
|
-
* import { computeAvailableSlots } from "@agent-native/scheduling/core";
|
|
9
|
-
* import { useSlots } from "@agent-native/scheduling/react";
|
|
10
|
-
*/
|
|
11
1
|
export * from "./shared/index.js";
|
|
12
2
|
export { MANIFEST } from "./manifest.js";
|
|
13
3
|
export { VERSION } from "./version.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,13 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @agent-native/scheduling
|
|
3
|
-
*
|
|
4
|
-
* Root entry — re-exports shared types and constants only.
|
|
5
|
-
* Subpath imports are the primary API surface:
|
|
6
|
-
*
|
|
7
|
-
* import { eventTypes, bookings } from "@agent-native/scheduling/schema";
|
|
8
|
-
* import { computeAvailableSlots } from "@agent-native/scheduling/core";
|
|
9
|
-
* import { useSlots } from "@agent-native/scheduling/react";
|
|
10
|
-
*/
|
|
11
1
|
export * from "./shared/index.js";
|
|
12
2
|
export { MANIFEST } from "./manifest.js";
|
|
13
3
|
export { VERSION } from "./version.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/manifest.d.ts
CHANGED
|
@@ -1,12 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Machine-readable manifest of what this package ships.
|
|
3
|
-
*
|
|
4
|
-
* Consumed by `agent-native add scheduling` (or the template scaffolder) to:
|
|
5
|
-
* - generate stub action files in the consumer's `actions/` folder
|
|
6
|
-
* - symlink/copy skill files into the consumer's `.agents/skills/`
|
|
7
|
-
* - append required secret declarations
|
|
8
|
-
* - print the list in `agent-native info @agent-native/scheduling`
|
|
9
|
-
*/
|
|
10
1
|
export interface SchedulingManifest {
|
|
11
2
|
manifestVersion: 1;
|
|
12
3
|
name: string;
|
package/dist/manifest.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,CAAC,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAC3D,eAAe,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;IACtE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,KAAK,CAAC,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;CACzD;AAED,eAAO,MAAM,QAAQ,EAAE,kBAiJtB,CAAC"}
|
package/dist/manifest.js
CHANGED
|
@@ -1,17 +1,7 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Machine-readable manifest of what this package ships.
|
|
3
|
-
*
|
|
4
|
-
* Consumed by `agent-native add scheduling` (or the template scaffolder) to:
|
|
5
|
-
* - generate stub action files in the consumer's `actions/` folder
|
|
6
|
-
* - symlink/copy skill files into the consumer's `.agents/skills/`
|
|
7
|
-
* - append required secret declarations
|
|
8
|
-
* - print the list in `agent-native info @agent-native/scheduling`
|
|
9
|
-
*/
|
|
10
1
|
export const MANIFEST = {
|
|
11
2
|
manifestVersion: 1,
|
|
12
3
|
name: "@agent-native/scheduling",
|
|
13
4
|
actions: [
|
|
14
|
-
// Event types
|
|
15
5
|
"list-event-types",
|
|
16
6
|
"get-event-type",
|
|
17
7
|
"create-event-type",
|
|
@@ -23,7 +13,6 @@ export const MANIFEST = {
|
|
|
23
13
|
"set-event-type-location",
|
|
24
14
|
"add-private-link",
|
|
25
15
|
"revoke-private-link",
|
|
26
|
-
// Availability / schedules
|
|
27
16
|
"list-schedules",
|
|
28
17
|
"create-schedule",
|
|
29
18
|
"update-schedule",
|
|
@@ -34,7 +23,6 @@ export const MANIFEST = {
|
|
|
34
23
|
"get-availability",
|
|
35
24
|
"check-availability",
|
|
36
25
|
"find-available-slot",
|
|
37
|
-
// Bookings
|
|
38
26
|
"list-bookings",
|
|
39
27
|
"get-booking",
|
|
40
28
|
"create-booking",
|
|
@@ -47,7 +35,6 @@ export const MANIFEST = {
|
|
|
47
35
|
"send-reschedule-link",
|
|
48
36
|
"add-booking-note",
|
|
49
37
|
"export-bookings-csv",
|
|
50
|
-
// Integrations
|
|
51
38
|
"list-calendar-integrations",
|
|
52
39
|
"connect-calendar",
|
|
53
40
|
"connect-video",
|
|
@@ -57,29 +44,24 @@ export const MANIFEST = {
|
|
|
57
44
|
"set-destination-calendar",
|
|
58
45
|
"refresh-busy-times",
|
|
59
46
|
"install-conferencing-app",
|
|
60
|
-
// Team
|
|
61
47
|
"create-team",
|
|
62
48
|
"invite-team-member",
|
|
63
49
|
"accept-team-invite",
|
|
64
50
|
"remove-team-member",
|
|
65
51
|
"update-member-role",
|
|
66
52
|
"set-team-branding",
|
|
67
|
-
// Round-robin / hosts
|
|
68
53
|
"assign-round-robin-host",
|
|
69
54
|
"set-event-type-hosts",
|
|
70
55
|
"set-host-availability-override",
|
|
71
56
|
"create-host-group",
|
|
72
|
-
// Settings / profile
|
|
73
57
|
"update-profile",
|
|
74
58
|
"set-appearance",
|
|
75
59
|
"set-default-conferencing-app",
|
|
76
|
-
// Workflows
|
|
77
60
|
"list-workflows",
|
|
78
61
|
"create-workflow",
|
|
79
62
|
"update-workflow",
|
|
80
63
|
"delete-workflow",
|
|
81
64
|
"toggle-workflow",
|
|
82
|
-
// Routing forms
|
|
83
65
|
"list-routing-forms",
|
|
84
66
|
"create-routing-form",
|
|
85
67
|
"update-routing-form",
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* SlotPicker — minimal, unstyled primitive that renders a vertical list of
|
|
3
|
-
* available slots grouped by date. Consumers style the buttons via their
|
|
4
|
-
* own Tailwind class layer.
|
|
5
|
-
*
|
|
6
|
-
* This is the "headless" spec: consumers can wrap it with their app's design
|
|
7
|
-
* system for a fully styled picker.
|
|
8
|
-
*/
|
|
9
1
|
import type { Slot } from "../../shared/index.js";
|
|
10
2
|
export interface SlotPickerProps {
|
|
11
3
|
slots: Slot[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlotPicker.d.ts","sourceRoot":"","sources":["../../../src/react/components/SlotPicker.tsx"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"SlotPicker.d.ts","sourceRoot":"","sources":["../../../src/react/components/SlotPicker.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAGlD,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,+BAmDhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlotPicker.js","sourceRoot":"","sources":["../../../src/react/components/SlotPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"SlotPicker.js","sourceRoot":"","sources":["../../../src/react/components/SlotPicker.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAa5C,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,CAAC,GAAG,cAAc,EAAE,CAAC;IAC3B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAC1C,KAAK,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,MAAM,CACrB,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvD,YAAY,CACb,CAAC;QACF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACtD,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC;IACD,MAAM,GAAG,GAAG,KAAK,CAAC,UAAU,KAAK,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAE3D,OAAO,CACL,cAAK,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,YAClC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CACvD,mBAAoB,SAAS,EAAE,KAAK,CAAC,YAAY,IAAI,EAAE,aACrD,2BACG,MAAM,CACL,IAAI,MAAM,CAAC,GAAG,IAAI,YAAY,EAAE,KAAK,CAAC,QAAQ,CAAC,EAC/C,aAAa,CACd,GACM,EACT,uBACG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CACnB,uBACE,kBACE,IAAI,EAAC,QAAQ,EACb,SAAS,EAAE,KAAK,CAAC,aAAa,IAAI,EAAE,kBACtB,KAAK,CAAC,aAAa,KAAK,CAAC,CAAC,KAAK,EAC7C,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,EACtB,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAE/B,MAAM,CACL,IAAI,MAAM,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,QAAQ,CAAC,EACvD,GAAG,CACJ,EACA,CAAC,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,CAAC,cAAc,GAAG,CAAC,IAAI,CACnD,2BACG,GAAG,aACD,CAAC,CAAC,cAAc,OAAG,CAAC,CAAC,eAAe,CAAC,IACnC,CACR,IACM,IAlBF,CAAC,CAAC,KAAK,CAmBX,CACN,CAAC,GACC,KA9BO,IAAI,CA+BR,CACX,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimezoneSelect.d.ts","sourceRoot":"","sources":["../../../src/react/components/TimezoneSelect.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;
|
|
1
|
+
{"version":3,"file":"TimezoneSelect.d.ts","sourceRoot":"","sources":["../../../src/react/components/TimezoneSelect.tsx"],"names":[],"mappings":"AAAA,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAwBD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,+BAkBxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TimezoneSelect.js","sourceRoot":"","sources":["../../../src/react/components/TimezoneSelect.tsx"],"names":[],"mappings":";AAMA,
|
|
1
|
+
{"version":3,"file":"TimezoneSelect.js","sourceRoot":"","sources":["../../../src/react/components/TimezoneSelect.tsx"],"names":[],"mappings":";AAMA,MAAM,YAAY,GAAG;IACnB,KAAK;IACL,kBAAkB;IAClB,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,mBAAmB;IACnB,eAAe;IACf,cAAc;IACd,eAAe;IACf,eAAe;IACf,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,cAAc;IACd,gBAAgB;IAChB,YAAY;IACZ,eAAe;IACf,kBAAkB;IAClB,kBAAkB;CACnB,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,SAAS,GACb,OAAO,IAAI,KAAK,WAAW,IAAI,OAAO,IAAI,CAAC,iBAAiB,KAAK,UAAU;QACzE,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC;QACpC,CAAC,CAAC,YAAY,CAAC;IACnB,OAAO,CACL,iBACE,KAAK,EAAE,KAAK,CAAC,KAAK,EAClB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,EACtD,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,EAAE,YAE/B,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CACrB,iBAAiB,KAAK,EAAE,EAAE,YACvB,EAAE,IADQ,EAAE,CAEN,CACV,CAAC,GACK,CACV,CAAC;AACJ,CAAC"}
|
|
@@ -14,9 +14,5 @@ export interface AvailabilityEditorProps {
|
|
|
14
14
|
onChange: (next: WeeklySchedule) => void;
|
|
15
15
|
}
|
|
16
16
|
export declare function AvailabilityEditor({ value, onChange, }: AvailabilityEditorProps): import("react").JSX.Element;
|
|
17
|
-
/**
|
|
18
|
-
* Summarize a `WeeklySchedule` in a short phrase, e.g. "Weekdays, 9 am - 5 pm".
|
|
19
|
-
* Useful for list-row subtitles.
|
|
20
|
-
*/
|
|
21
17
|
export declare function summarizeAvailability(ws: WeeklySchedule, locale?: LocaleCode): string;
|
|
22
18
|
//# sourceMappingURL=AvailabilityEditor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvailabilityEditor.d.ts","sourceRoot":"","sources":["../../../../src/react/components/booking-links/AvailabilityEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"AvailabilityEditor.d.ts","sourceRoot":"","sources":["../../../../src/react/components/booking-links/AvailabilityEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAKjE,MAAM,MAAM,MAAM,GACd,QAAQ,GACR,SAAS,GACT,WAAW,GACX,UAAU,GACV,QAAQ,GACR,UAAU,GACV,QAAQ,CAAC;AAEb,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAgBzD,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,cAAc,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,IAAI,CAAC;CAC1C;AAED,wBAAgB,kBAAkB,CAAC,EACjC,KAAK,EACL,QAAQ,GACT,EAAE,uBAAuB,+BAwEzB;AAED,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,cAAc,EAClB,MAAM,GAAE,UAAoB,GAC3B,MAAM,CA+CR"}
|
|
@@ -1,15 +1,4 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
/**
|
|
3
|
-
* AvailabilityEditor — weekly schedule grid with per-day toggles and time
|
|
4
|
-
* pickers. Matches the calendar template's visual baseline.
|
|
5
|
-
*
|
|
6
|
-
* This is the "schedule body" — for the full per-day intervals +
|
|
7
|
-
* date-override grid, compose this with a `DateOverridesEditor`
|
|
8
|
-
* (not included yet; scheduling's existing per-page implementation
|
|
9
|
-
* remains canonical for v0.1).
|
|
10
|
-
*
|
|
11
|
-
* Shadcn primitives expected in the consumer: input, switch.
|
|
12
|
-
*/
|
|
13
2
|
import { Input, Switch } from "@agent-native/toolkit/ui";
|
|
14
3
|
import { schedulingMessage, useSchedulingT } from "../../i18n.js";
|
|
15
4
|
const DAYS = [
|
|
@@ -49,10 +38,6 @@ export function AvailabilityEditor({ value, onChange, }) {
|
|
|
49
38
|
return (_jsxs("div", { className: "flex flex-wrap items-center gap-3 rounded-lg border border-border px-3 py-3 sm:gap-4 sm:px-4", children: [_jsxs("div", { className: "flex w-28 items-center gap-3 sm:w-40", children: [_jsx(Switch, { checked: day.enabled, onCheckedChange: (checked) => setDay(key, { enabled: checked }), "aria-label": t("toggleDay", { day: label }) }), _jsxs("span", { className: "text-sm font-medium", children: [_jsx("span", { className: "hidden sm:inline", children: label }), _jsx("span", { className: "sm:hidden", children: short })] })] }), day.enabled ? (_jsxs("div", { className: "flex items-center gap-2", children: [_jsx(Input, { type: "time", value: slot.start, onChange: (e) => setSlot(key, "start", e.target.value), className: "w-28 sm:w-32" }), _jsx("span", { className: "text-muted-foreground", children: t("to") }), _jsx(Input, { type: "time", value: slot.end, onChange: (e) => setSlot(key, "end", e.target.value), className: "w-28 sm:w-32" })] })) : (_jsx("span", { className: "text-sm text-muted-foreground", children: t("unavailable") }))] }, key));
|
|
50
39
|
}) }));
|
|
51
40
|
}
|
|
52
|
-
/**
|
|
53
|
-
* Summarize a `WeeklySchedule` in a short phrase, e.g. "Weekdays, 9 am - 5 pm".
|
|
54
|
-
* Useful for list-row subtitles.
|
|
55
|
-
*/
|
|
56
41
|
export function summarizeAvailability(ws, locale = "en-US") {
|
|
57
42
|
const weekdayKeys = [
|
|
58
43
|
"monday",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AvailabilityEditor.js","sourceRoot":"","sources":["../../../../src/react/components/booking-links/AvailabilityEditor.tsx"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"AvailabilityEditor.js","sourceRoot":"","sources":["../../../../src/react/components/booking-links/AvailabilityEditor.tsx"],"names":[],"mappings":"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"}
|
|
@@ -7,15 +7,9 @@ export interface BookingLinkCreateDraft {
|
|
|
7
7
|
export interface BookingLinkCreateDialogProps {
|
|
8
8
|
open: boolean;
|
|
9
9
|
onOpenChange: (open: boolean) => void;
|
|
10
|
-
/**
|
|
11
|
-
* URL prefix shown before the slug input, e.g.
|
|
12
|
-
* "calendar.app/meet/alice/" or "cal.local/steve@foo.com/"
|
|
13
|
-
*/
|
|
14
10
|
slugPrefix: string;
|
|
15
|
-
/** Default duration in minutes. Defaults to 30. */
|
|
16
11
|
defaultLength?: number;
|
|
17
12
|
onSubmit: (draft: BookingLinkCreateDraft) => void | Promise<void>;
|
|
18
|
-
/** Button label — defaults to "Continue". */
|
|
19
13
|
submitLabel?: string;
|
|
20
14
|
}
|
|
21
15
|
export declare function BookingLinkCreateDialog(props: BookingLinkCreateDialogProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingLinkCreateDialog.d.ts","sourceRoot":"","sources":["../../../../src/react/components/booking-links/BookingLinkCreateDialog.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BookingLinkCreateDialog.d.ts","sourceRoot":"","sources":["../../../../src/react/components/booking-links/BookingLinkCreateDialog.tsx"],"names":[],"mappings":"AAgBA,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAClE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAUD,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,4BAA4B,+BAsI1E"}
|
|
@@ -1,16 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Button, Dialog, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, Input, Label, Textarea, } from "@agent-native/toolkit/ui";
|
|
3
|
-
/**
|
|
4
|
-
* BookingLinkCreateDialog — dialog prompting for Title / URL / Duration
|
|
5
|
-
* when creating a new booking link (a.k.a. event type).
|
|
6
|
-
*
|
|
7
|
-
* The consumer owns the mutation — this component just collects the four
|
|
8
|
-
* inputs and calls `onSubmit` once the user clicks Continue. It stays
|
|
9
|
-
* dumb: no data fetching, no optimistic UI.
|
|
10
|
-
*
|
|
11
|
-
* Shadcn primitives expected in the consumer: dialog, button, input,
|
|
12
|
-
* label, textarea.
|
|
13
|
-
*/
|
|
14
3
|
import { useEffect, useState } from "react";
|
|
15
4
|
import { useSchedulingT } from "../../i18n.js";
|
|
16
5
|
function slugify(value) {
|
|
@@ -31,7 +20,6 @@ export function BookingLinkCreateDialog(props) {
|
|
|
31
20
|
});
|
|
32
21
|
const [submitting, setSubmitting] = useState(false);
|
|
33
22
|
const [slugEdited, setSlugEdited] = useState(false);
|
|
34
|
-
// Reset form when the dialog reopens
|
|
35
23
|
useEffect(() => {
|
|
36
24
|
if (open) {
|
|
37
25
|
setForm({
|
|
@@ -63,10 +51,6 @@ export function BookingLinkCreateDialog(props) {
|
|
|
63
51
|
slug: slugEdited ? prev.slug : slugify(title),
|
|
64
52
|
}));
|
|
65
53
|
}, autoFocus: true })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx(Label, { htmlFor: "blc-slug", children: t("url") }), _jsxs("div", { className: "flex rounded-md border border-input focus-within:ring-2 focus-within:ring-ring", children: [_jsx("span", { className: "flex items-center rounded-l-md bg-muted px-3 text-xs text-muted-foreground", children: slugPrefix }), _jsx(Input, { id: "blc-slug", placeholder: t("quickChatSlugPlaceholder"), className: "rounded-l-none border-0 focus-visible:ring-0 focus-visible:ring-offset-0", value: form.slug, onChange: (e) => {
|
|
66
|
-
// Capture before setForm — React nulls e.currentTarget once
|
|
67
|
-
// the event finishes synchronous propagation, so reading it
|
|
68
|
-
// inside the updater closure throws "Cannot read properties
|
|
69
|
-
// of null (reading 'value')".
|
|
70
54
|
const next = e.currentTarget.value;
|
|
71
55
|
setSlugEdited(true);
|
|
72
56
|
setForm((prev) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BookingLinkCreateDialog.js","sourceRoot":"","sources":["../../../../src/react/components/booking-links/BookingLinkCreateDialog.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EACN,MAAM,EACN,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,KAAK,EACL,KAAK,EACL,QAAQ,GACT,MAAM,0BAA0B,CAAC;AAClC
|
|
1
|
+
{"version":3,"file":"BookingLinkCreateDialog.js","sourceRoot":"","sources":["../../../../src/react/components/booking-links/BookingLinkCreateDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export type ConferencingType = "none" | "google_meet" | "zoom" | "custom";
|
|
2
2
|
export interface ConferencingValue {
|
|
3
3
|
type: ConferencingType;
|
|
4
|
-
/** Used for `custom` — the meeting URL. Ignored for `zoom` (OAuth-created). */
|
|
5
4
|
url?: string;
|
|
6
5
|
}
|
|
7
6
|
export type ProviderStatus = "connected" | "disconnected" | "not-configured";
|
|
@@ -12,7 +11,6 @@ export interface ConferencingSelectorProps {
|
|
|
12
11
|
googleStatus?: ProviderStatus;
|
|
13
12
|
onConnectZoom?: () => void;
|
|
14
13
|
onConnectGoogle?: () => void;
|
|
15
|
-
/** Hide the label above the grid (for use inside a card with its own title). */
|
|
16
14
|
hideLabel?: boolean;
|
|
17
15
|
}
|
|
18
16
|
export declare function ConferencingSelector(props: ConferencingSelectorProps): import("react").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConferencingSelector.d.ts","sourceRoot":"","sources":["../../../../src/react/components/booking-links/ConferencingSelector.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ConferencingSelector.d.ts","sourceRoot":"","sources":["../../../../src/react/components/booking-links/ConferencingSelector.tsx"],"names":[],"mappings":"AAsBA,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,aAAa,GAAG,MAAM,GAAG,QAAQ,CAAC;AAE1E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,gBAAgB,CAAC;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,cAAc,GAAG,WAAW,GAAG,cAAc,GAAG,gBAAgB,CAAC;AAE7E,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,iBAAiB,CAAC;IACzB,QAAQ,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC5C,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,eAAe,CAAC,EAAE,MAAM,IAAI,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAkCD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,yBAAyB,+BA0LpE"}
|
|
@@ -1,30 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Badge, Button, Input, Label, Select, SelectContent, SelectItem, SelectTrigger, } from "@agent-native/toolkit/ui";
|
|
3
3
|
import { IconBrandGoogle, IconBrandZoom, IconCheck, IconLink, IconVideo, IconVideoOff, } from "@tabler/icons-react";
|
|
4
|
-
/**
|
|
5
|
-
* ConferencingSelector — choose how a booking's video meeting is set up.
|
|
6
|
-
*
|
|
7
|
-
* Renders a grid of options (no conferencing, Google Meet, Zoom, custom
|
|
8
|
-
* link). Each option is fully styled with the consumer's shadcn
|
|
9
|
-
* primitives. The Zoom option does NOT accept a pasted personal meeting
|
|
10
|
-
* URL — the user connects their Zoom account via OAuth instead, and the
|
|
11
|
-
* app auto-creates a meeting per booking. See `connect-video` action.
|
|
12
|
-
*
|
|
13
|
-
* Shadcn primitives expected in the consumer: button, input, label,
|
|
14
|
-
* badge. Icons from `@tabler/icons-react`.
|
|
15
|
-
*
|
|
16
|
-
* Props:
|
|
17
|
-
* - `value` — current conferencing config { type, url? }
|
|
18
|
-
* - `onChange` — called with the next config (call instantly — the
|
|
19
|
-
* caller owns persistence, typically optimistic)
|
|
20
|
-
* - `zoomStatus` — 'connected' | 'disconnected' | 'not-configured'
|
|
21
|
-
* drives the Connect Zoom button / installed chip
|
|
22
|
-
* - `onConnectZoom` — optional callback that starts the OAuth flow; if
|
|
23
|
-
* omitted, the button is hidden (useful for preview)
|
|
24
|
-
* - `googleConnected` — whether Google Meet is available (depends on
|
|
25
|
-
* Google Calendar credential)
|
|
26
|
-
* - `onConnectGoogle` — optional, same shape as onConnectZoom
|
|
27
|
-
*/
|
|
28
4
|
import { useId } from "react";
|
|
29
5
|
import { useSchedulingT } from "../../i18n.js";
|
|
30
6
|
const OPTIONS = [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ConferencingSelector.js","sourceRoot":"","sources":["../../../../src/react/components/booking-links/ConferencingSelector.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,KAAK,EACL,MAAM,EACN,KAAK,EACL,KAAK,EACL,MAAM,EACN,aAAa,EACb,UAAU,EACV,aAAa,GACd,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,eAAe,EACf,aAAa,EACb,SAAS,EACT,QAAQ,EACR,SAAS,EACT,YAAY,GACb,MAAM,qBAAqB,CAAC;AAC7B
|
|
1
|
+
{"version":3,"file":"ConferencingSelector.js","sourceRoot":"","sources":["../../../../src/react/components/booking-links/ConferencingSelector.tsx"],"names":[],"mappings":"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"}
|