@agent-native/scheduling 0.2.52 → 0.2.53-nightly-20261105110131

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.
Files changed (30) hide show
  1. package/dist/server/availability-engine.d.ts +24 -0
  2. package/dist/server/availability-engine.d.ts.map +1 -1
  3. package/dist/server/availability-engine.js +73 -5
  4. package/dist/server/availability-engine.js.map +1 -1
  5. package/dist/server/providers/errors.d.ts +22 -0
  6. package/dist/server/providers/errors.d.ts.map +1 -0
  7. package/dist/server/providers/errors.js +53 -0
  8. package/dist/server/providers/errors.js.map +1 -0
  9. package/dist/server/providers/google-calendar.d.ts +0 -11
  10. package/dist/server/providers/google-calendar.d.ts.map +1 -1
  11. package/dist/server/providers/google-calendar.js +57 -3
  12. package/dist/server/providers/google-calendar.js.map +1 -1
  13. package/dist/server/providers/index.d.ts +1 -0
  14. package/dist/server/providers/index.d.ts.map +1 -1
  15. package/dist/server/providers/index.js +1 -0
  16. package/dist/server/providers/index.js.map +1 -1
  17. package/dist/server/providers/office365.d.ts.map +1 -1
  18. package/dist/server/providers/office365.js +87 -25
  19. package/dist/server/providers/office365.js.map +1 -1
  20. package/docs/llms-full.txt +29 -8
  21. package/docs/providers.md +10 -0
  22. package/docs/skills/integrations/SKILL.md +19 -8
  23. package/package.json +4 -4
  24. package/src/server/availability-engine.test.ts +459 -23
  25. package/src/server/availability-engine.ts +110 -10
  26. package/src/server/providers/calendar-busy.test.ts +417 -0
  27. package/src/server/providers/errors.ts +66 -0
  28. package/src/server/providers/google-calendar.ts +71 -4
  29. package/src/server/providers/index.ts +1 -0
  30. package/src/server/providers/office365.ts +111 -33
@@ -1 +1 @@
1
- {"version":3,"file":"office365.js","sourceRoot":"","sources":["../../../src/server/providers/office365.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"office365.js","sourceRoot":"","sources":["../../../src/server/providers/office365.ts"],"names":[],"mappings":"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"}
@@ -337,6 +337,16 @@ registerCalendarProvider({
337
337
  });
338
338
  ```
339
339
 
340
+ `getBusy` must throw when it can't read any requested calendar, including a
341
+ 200 response that reports a per-calendar error. Returning `[]` means "no busy
342
+ time", so a failure returned as `[]` lets bookers take slots the host is busy.
343
+ When the provider rejects the credential (401/403), throw
344
+ `CalendarCredentialInvalidError` so availability reports the calendar as
345
+ needing reconnection rather than as a transient failure. When it throttles
346
+ the request (rate or quota limits, which Google can send as 403), throw
347
+ `CalendarLookupRateLimitedError` with any `Retry-After` seconds instead, and
348
+ don't mark the credential invalid.
349
+
340
350
  All methods receive a `credentialId` — use it to look up the OAuth token via
341
351
  your token store. The package's `setSchedulingContext()` doesn't touch
342
352
  tokens; consumers typically use core's `oauth_tokens` and pass a
@@ -769,9 +779,20 @@ description: Calendar + video provider integrations — Google Calendar, Office
769
779
  ## Busy-time aggregation
770
780
 
771
781
  `aggregateBusy({userEmail, rangeStart, rangeEnd})` merges:
782
+
772
783
  - Confirmed bookings hosted by the user
773
784
  - External busy from each `selected_calendars` entry via the provider
774
785
 
786
+ If any selected calendar can't be read (its `getBusy` throws, its provider
787
+ isn't registered, or its credential is `invalid`), `aggregateBusy`,
788
+ `getAvailableSlots`, and `assertSlotAvailable` throw
789
+ `CalendarAvailabilityUnavailableError` (`errorCode:
790
+ "calendar_availability_unavailable"`, status 503, or 429 with Retry-After
791
+ when every failure was a provider throttle) naming the calendar,
792
+ instead of treating it as free. Show "Couldn't check <calendar>" and offer no
793
+ times; tell the host to reconnect when the reason is `credential_invalid`.
794
+ Credentials with no selected calendars are not checked.
795
+
775
796
  Cached in `calendar_cache` (short TTL, default 5 min). Busted on any
776
797
  booking write for that host.
777
798
 
@@ -781,14 +802,14 @@ See `docs/providers.md` for the full interface.
781
802
 
782
803
  ## Common tasks
783
804
 
784
- | User | Action |
785
- |---|---|
786
- | "Connect Google Calendar" | `connect-calendar --kind google_calendar --redirectUri ...` → redirect to returned `authUrl` |
787
- | "Stop checking my vacation calendar" | `toggle-selected-calendar --include false` for that externalId |
788
- | "Default to Zoom for new bookings" | `set-default-conferencing-app --credentialId <zoom-cred>` |
789
- | "Connect Microsoft Teams" | `connect-video --kind teams_video --redirectUri ...` → complete the callback with `completeVideoOAuth()` |
790
- | "Default to Teams for new bookings" | `set-default-conferencing-app --credentialId <teams-cred>` |
791
- | "Refresh calendar cache" | `refresh-busy-times` |
805
+ | User | Action |
806
+ | ------------------------------------ | -------------------------------------------------------------------------------------------------------- |
807
+ | "Connect Google Calendar" | `connect-calendar --kind google_calendar --redirectUri ...` → redirect to returned `authUrl` |
808
+ | "Stop checking my vacation calendar" | `toggle-selected-calendar --include false` for that externalId |
809
+ | "Default to Zoom for new bookings" | `set-default-conferencing-app --credentialId <zoom-cred>` |
810
+ | "Connect Microsoft Teams" | `connect-video --kind teams_video --redirectUri ...` → complete the callback with `completeVideoOAuth()` |
811
+ | "Default to Teams for new bookings" | `set-default-conferencing-app --credentialId <teams-cred>` |
812
+ | "Refresh calendar cache" | `refresh-busy-times` |
792
813
 
793
814
  ## Microsoft Teams setup
794
815
 
package/docs/providers.md CHANGED
@@ -45,6 +45,16 @@ registerCalendarProvider({
45
45
  });
46
46
  ```
47
47
 
48
+ `getBusy` must throw when it can't read any requested calendar, including a
49
+ 200 response that reports a per-calendar error. Returning `[]` means "no busy
50
+ time", so a failure returned as `[]` lets bookers take slots the host is busy.
51
+ When the provider rejects the credential (401/403), throw
52
+ `CalendarCredentialInvalidError` so availability reports the calendar as
53
+ needing reconnection rather than as a transient failure. When it throttles
54
+ the request (rate or quota limits, which Google can send as 403), throw
55
+ `CalendarLookupRateLimitedError` with any `Retry-After` seconds instead, and
56
+ don't mark the credential invalid.
57
+
48
58
  All methods receive a `credentialId` — use it to look up the OAuth token via
49
59
  your token store. The package's `setSchedulingContext()` doesn't touch
50
60
  tokens; consumers typically use core's `oauth_tokens` and pass a
@@ -33,9 +33,20 @@ description: Calendar + video provider integrations — Google Calendar, Office
33
33
  ## Busy-time aggregation
34
34
 
35
35
  `aggregateBusy({userEmail, rangeStart, rangeEnd})` merges:
36
+
36
37
  - Confirmed bookings hosted by the user
37
38
  - External busy from each `selected_calendars` entry via the provider
38
39
 
40
+ If any selected calendar can't be read (its `getBusy` throws, its provider
41
+ isn't registered, or its credential is `invalid`), `aggregateBusy`,
42
+ `getAvailableSlots`, and `assertSlotAvailable` throw
43
+ `CalendarAvailabilityUnavailableError` (`errorCode:
44
+ "calendar_availability_unavailable"`, status 503, or 429 with Retry-After
45
+ when every failure was a provider throttle) naming the calendar,
46
+ instead of treating it as free. Show "Couldn't check <calendar>" and offer no
47
+ times; tell the host to reconnect when the reason is `credential_invalid`.
48
+ Credentials with no selected calendars are not checked.
49
+
39
50
  Cached in `calendar_cache` (short TTL, default 5 min). Busted on any
40
51
  booking write for that host.
41
52
 
@@ -45,14 +56,14 @@ See `docs/providers.md` for the full interface.
45
56
 
46
57
  ## Common tasks
47
58
 
48
- | User | Action |
49
- |---|---|
50
- | "Connect Google Calendar" | `connect-calendar --kind google_calendar --redirectUri ...` → redirect to returned `authUrl` |
51
- | "Stop checking my vacation calendar" | `toggle-selected-calendar --include false` for that externalId |
52
- | "Default to Zoom for new bookings" | `set-default-conferencing-app --credentialId <zoom-cred>` |
53
- | "Connect Microsoft Teams" | `connect-video --kind teams_video --redirectUri ...` → complete the callback with `completeVideoOAuth()` |
54
- | "Default to Teams for new bookings" | `set-default-conferencing-app --credentialId <teams-cred>` |
55
- | "Refresh calendar cache" | `refresh-busy-times` |
59
+ | User | Action |
60
+ | ------------------------------------ | -------------------------------------------------------------------------------------------------------- |
61
+ | "Connect Google Calendar" | `connect-calendar --kind google_calendar --redirectUri ...` → redirect to returned `authUrl` |
62
+ | "Stop checking my vacation calendar" | `toggle-selected-calendar --include false` for that externalId |
63
+ | "Default to Zoom for new bookings" | `set-default-conferencing-app --credentialId <zoom-cred>` |
64
+ | "Connect Microsoft Teams" | `connect-video --kind teams_video --redirectUri ...` → complete the callback with `completeVideoOAuth()` |
65
+ | "Default to Teams for new bookings" | `set-default-conferencing-app --credentialId <teams-cred>` |
66
+ | "Refresh calendar cache" | `refresh-busy-times` |
56
67
 
57
68
  ## Microsoft Teams setup
58
69
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/scheduling",
3
- "version": "0.2.52",
3
+ "version": "0.2.53-nightly-20261105110131",
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.224.0"
59
+ "@agent-native/toolkit": "^0.225.0-nightly-20261105110131"
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.224.0"
69
+ "@agent-native/core": "0.225.0-nightly-20261105110131"
70
70
  },
71
71
  "peerDependencies": {
72
- "@agent-native/core": ">=0.224.0-0",
72
+ "@agent-native/core": "0.225.0-nightly-20261105110131",
73
73
  "@tabler/icons-react": "^3.41.1",
74
74
  "drizzle-orm": ">=0.45",
75
75
  "react": ">=18",