@sentry/junior-google 0.238.1 → 0.240.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +41 -13
- package/dist/credentials.d.ts +5 -0
- package/dist/index.js +625 -236
- package/dist/tools/cancel-event.d.ts +158 -0
- package/dist/tools/create-event.d.ts +48 -6
- package/dist/tools/find-meeting-times.d.ts +53 -16
- package/dist/tools/list-events.d.ts +26 -6
- package/dist/tools/shared.d.ts +144 -5
- package/dist/tools/update-event.d.ts +31 -7
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -8,18 +8,39 @@ This version supports Calendar only. Drive and Gmail are out of scope.
|
|
|
8
8
|
|
|
9
9
|
## Surfaces
|
|
10
10
|
|
|
11
|
-
- `findMeetingTimes` finds times when every attendee is free
|
|
12
|
-
|
|
11
|
+
- `findMeetingTimes` finds times when every required attendee is free and
|
|
12
|
+
inside working hours (09:00 to 17:00 by default) in the time zone of their
|
|
13
|
+
own calendar. It reads free/busy data and calendar time zones only. It never
|
|
14
|
+
reads event titles or details. Optional attendees do not block a slot.
|
|
15
|
+
Slots where they are free come first, and each slot names the optional
|
|
16
|
+
attendees who are busy or off hours. Slots are spread across days and
|
|
17
|
+
across each day, so the requester gets a real choice.
|
|
18
|
+
- Every Calendar tool takes an optional `timeZone` for the times it reads and
|
|
19
|
+
shows. Without it, the tool uses the requester's timezone from
|
|
20
|
+
`ctx.users.resolveTimezone()`, so Junior does not have to ask for one.
|
|
13
21
|
- `createCalendarEvent` creates an event on Junior's own calendar. It sends
|
|
14
|
-
invites and
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
invites and always adds a Google Meet link. It can add a location, optional
|
|
23
|
+
attendees, and a simple repeat rule (weekdays, weekly, or monthly). A retry of the same
|
|
24
|
+
tool call returns the same event. It does not create a second invite.
|
|
25
|
+
- `listCalendarEvents` reads the events on one colleague's calendar, or on
|
|
26
|
+
Junior's own calendar when no calendar is given. It shows only what the
|
|
27
|
+
calendar's Google sharing settings let Junior's account see. A calendar
|
|
28
|
+
shared as free/busy only shows busy blocks without titles. It never returns
|
|
29
|
+
event descriptions. Each event says whether Junior organizes it, and gives
|
|
30
|
+
attendee responses and the series id of a repeating event.
|
|
31
|
+
- `updateCalendarEvent` and `cancelCalendarEvent` accept an event id or a
|
|
32
|
+
Google Calendar event link.
|
|
33
|
+
- `updateCalendarEvent` changes the title, description, time, location, video
|
|
34
|
+
call, or attendees of an event that Junior organizes. Google emails the
|
|
35
|
+
attendees about the change. Only people invited to the event can ask for a
|
|
36
|
+
change.
|
|
37
|
+
- `cancelCalendarEvent` deletes an event that Junior organizes. Google removes
|
|
38
|
+
it from every attendee's calendar and emails them a cancellation. Only
|
|
39
|
+
people invited to the event can ask to cancel it.
|
|
40
|
+
- `createCalendarEvent` and `updateCalendarEvent` save a Calendar event
|
|
41
|
+
annotation on the Conversation. Junior shows its card with the next reply.
|
|
42
|
+
The card shows the title, time, and attendees, and links to the event. A
|
|
43
|
+
change to an event replaces its card.
|
|
23
44
|
- The **Google account** page on the dashboard Admin page shows whether the
|
|
24
45
|
account is connected. Its Connect button starts Google sign-in.
|
|
25
46
|
- `junior google connect` and `junior google status` are the operator CLI.
|
|
@@ -56,8 +77,9 @@ admin to reconnect.
|
|
|
56
77
|
- Junior checks and invites only people in the allowed domains. By default,
|
|
57
78
|
the allowed domain is the domain of the account email.
|
|
58
79
|
- Junior adds the requester to the attendees when it knows their email.
|
|
59
|
-
- Junior changes only events that it organizes, and only for a
|
|
60
|
-
is invited to the event.
|
|
80
|
+
- Junior changes or cancels only events that it organizes, and only for a
|
|
81
|
+
requester who is invited to the event. The `calendar.events.owned` scope
|
|
82
|
+
also keeps events that other people organize out of reach.
|
|
61
83
|
- Calendar scopes are `calendar.events.freebusy`, `calendar.events.readonly`,
|
|
62
84
|
and `calendar.events.owned`. Junior also requests `openid email` to verify
|
|
63
85
|
the account during sign-in.
|
|
@@ -104,5 +126,11 @@ variables are set. The Admin page shows **Not configured** until then.
|
|
|
104
126
|
- Anyone who can talk to Junior can ask it to read a colleague's calendar.
|
|
105
127
|
Junior returns what its own account can see, so set the sharing default
|
|
106
128
|
with that in mind.
|
|
129
|
+
- Google does not expose the working hours that people set in Calendar.
|
|
130
|
+
Junior uses each calendar's time zone and one shared workday instead.
|
|
131
|
+
- Junior cannot find or book meeting rooms. Room discovery needs the Admin
|
|
132
|
+
SDK `admin.directory.resource.calendar.readonly` scope and a Workspace
|
|
133
|
+
admin role on Junior's account. Room emails are also outside the allowed
|
|
134
|
+
domains. It cannot accept or decline invites for other people.
|
|
107
135
|
- No disconnect command. To revoke access, remove the app grant from the
|
|
108
136
|
Junior account in Google.
|
package/dist/credentials.d.ts
CHANGED
|
@@ -14,6 +14,11 @@ export declare const GOOGLE_OPERATIONS: {
|
|
|
14
14
|
readonly method: "POST";
|
|
15
15
|
readonly path: RegExp;
|
|
16
16
|
};
|
|
17
|
+
readonly "google.calendar.event.delete": {
|
|
18
|
+
readonly access: "write";
|
|
19
|
+
readonly method: "DELETE";
|
|
20
|
+
readonly path: RegExp;
|
|
21
|
+
};
|
|
17
22
|
readonly "google.calendar.event.get": {
|
|
18
23
|
readonly access: "read";
|
|
19
24
|
readonly method: "GET";
|