@assemblyline-agents/google-calendar 0.1.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/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 OpenEve contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # @assemblyline-agents/google-calendar
2
+
3
+ Official Assembly Line Google Calendar connection plugin.
4
+
5
+ It exposes calendars, events, and availability through a dedicated MCP connection. Calendar authorization stays independent from Gmail and Google Drive. The package exports `defineGoogleCalendarConnection(options)` and bundles focused Calendar guidance under `skills/`.
6
+
7
+ ## Install
8
+
9
+ ```sh
10
+ npm install @assemblyline-agents/google-calendar
11
+ ```
12
+
13
+ Configure `GOOGLE_CALENDAR_MCP_URL` and `GOOGLE_CALENDAR_MCP_TOKEN`, or pass the connection URL and authentication resolver directly. New connections scaffold read-only; event changes require explicit write access and the configured approval policy.
14
+
15
+ ## Part of Assembly Line
16
+
17
+ This package is part of [Assembly Line](https://github.com/jasonbadeaux/openeve). See the [developer documentation](https://github.com/jasonbadeaux/openeve/tree/main/docs/developers) for setup, agent authoring, and deployment guides.
18
+
19
+ ## License
20
+
21
+ MIT
@@ -0,0 +1,5 @@
1
+ import { type McpPluginConnectionOptions } from "@assemblyline-agents/core";
2
+ export type GoogleCalendarConnectionOptions = McpPluginConnectionOptions;
3
+ export declare function defineGoogleCalendarConnection(options: GoogleCalendarConnectionOptions): import("@assemblyline-agents/core").McpHttpClientConnectionDefinition;
4
+ export declare const openevePlugin: import("@assemblyline-agents/core").PluginModule;
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,0BAA0B,EAChC,MAAM,2BAA2B,CAAC;AAInC,MAAM,MAAM,+BAA+B,GAAG,0BAA0B,CAAC;AAEzE,wBAAgB,8BAA8B,CAAC,OAAO,EAAE,+BAA+B,yEAEtF;AAED,eAAO,MAAM,aAAa,kDAA0C,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,7 @@
1
+ import { connectionPluginMetadata, defineMcpPluginConnection, definePlugin } from "@assemblyline-agents/core";
2
+ const PLUGIN = connectionPluginMetadata("google-calendar");
3
+ export function defineGoogleCalendarConnection(options) {
4
+ return defineMcpPluginConnection(PLUGIN, options);
5
+ }
6
+ export const openevePlugin = definePlugin({ connections: [PLUGIN] });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,yBAAyB,EACzB,YAAY,EAEb,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,GAAG,wBAAwB,CAAC,iBAAiB,CAAE,CAAC;AAI5D,MAAM,UAAU,8BAA8B,CAAC,OAAwC;IACrF,OAAO,yBAAyB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC"}
package/package.json ADDED
@@ -0,0 +1,49 @@
1
+ {
2
+ "name": "@assemblyline-agents/google-calendar",
3
+ "version": "0.1.0",
4
+ "type": "module",
5
+ "exports": {
6
+ ".": {
7
+ "types": "./dist/index.d.ts",
8
+ "default": "./dist/index.js"
9
+ }
10
+ },
11
+ "dependencies": {
12
+ "@assemblyline-agents/core": "0.1.0"
13
+ },
14
+ "description": "Official OpenEve Google Calendar connection plugin.",
15
+ "files": [
16
+ "dist",
17
+ "skills"
18
+ ],
19
+ "engines": {
20
+ "node": ">=22.19.0"
21
+ },
22
+ "license": "MIT",
23
+ "repository": {
24
+ "type": "git",
25
+ "url": "git+https://github.com/jasonbadeaux/openeve.git",
26
+ "directory": "packages/google-calendar"
27
+ },
28
+ "bugs": {
29
+ "url": "https://github.com/jasonbadeaux/openeve/issues"
30
+ },
31
+ "homepage": "https://github.com/jasonbadeaux/openeve#readme",
32
+ "author": "OpenEve contributors",
33
+ "keywords": [
34
+ "openeve",
35
+ "ai",
36
+ "agents",
37
+ "google-calendar",
38
+ "calendar",
39
+ "connection",
40
+ "plugin"
41
+ ],
42
+ "publishConfig": {
43
+ "access": "public"
44
+ },
45
+ "scripts": {
46
+ "build": "tsc -p tsconfig.json",
47
+ "check": "tsc -p tsconfig.json --noEmit"
48
+ }
49
+ }
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: google-calendar
3
+ description: Use a configured, independently authorized Google Calendar connection for events, availability, invitations, and scheduling.
4
+ ---
5
+ # Google Calendar
6
+
7
+ Use the `google-calendar` connection only for Calendar work. Its authorization is independent from Gmail and Google Drive; never assume either service is connected because Calendar is connected.
8
+
9
+ Read the exact calendar and event state before proposing a change. Interpret relative dates in the user's timezone, preserve timezone information, and resolve ambiguous matching events before editing. The deployment owner configures the Calendar OAuth grant or MCP bridge. Never request, print, or store tokens or client secrets.
10
+
11
+ The scaffold is read-only. Creating, updating, moving, deleting, or inviting through Calendar requires explicit write access and the configured approval gate. Attendee changes send real notifications, so never add attendees unless that intent is clear.
12
+
13
+ Read `references/calendar.md` when the task needs event shapes, all-day rules, timezone handling, update safety, or confirmation details.
@@ -0,0 +1,45 @@
1
+ # Google Calendar
2
+
3
+ Use the configured `google-calendar` connection for calendars, events, availability, event creation, and event updates.
4
+
5
+ Official documentation:
6
+
7
+ - https://developers.google.com/workspace/calendar/api/v3/reference
8
+ - https://developers.google.com/workspace/calendar/api/v3/reference/events/insert
9
+ - https://developers.google.com/workspace/calendar/api/guides/create-events
10
+
11
+ ## Event Reads
12
+
13
+ For agenda questions, set an explicit time range when possible, use the user's local timezone, expand recurring instances when supported, and keep the result compact unless the user asks for a detailed agenda. The default calendar id is commonly `primary`.
14
+
15
+ Important fields include the event id, title, status, start and end, timezone, location, organizer, attendees, recurrence, conference data, attachments, link, and event type.
16
+
17
+ ## Event Creation
18
+
19
+ Create events only when the intent, date, start, duration or end, timezone, calendar, and attendee behavior are clear. A timed event body commonly includes:
20
+
21
+ ```json
22
+ {
23
+ "summary": "Call with Maya",
24
+ "start": {
25
+ "dateTime": "2026-05-25T10:00:00-05:00",
26
+ "timeZone": "America/Chicago"
27
+ },
28
+ "end": {
29
+ "dateTime": "2026-05-25T10:30:00-05:00",
30
+ "timeZone": "America/Chicago"
31
+ }
32
+ }
33
+ ```
34
+
35
+ For all-day events, `end.date` is exclusive. A one-day event starts on the requested date and ends on the next date.
36
+
37
+ ## Event Updates
38
+
39
+ Resolve the exact event id before an update. Preserve fields not being changed, and be careful with attendee, recurrence, and attachment arrays because including them can replace existing values.
40
+
41
+ Do not clear calendars or mass-edit, delete, move, import, or quick-add events unless the user requested that exact action and the connection exposes a reviewed, approval-gated operation.
42
+
43
+ ## Timezones And Invitations
44
+
45
+ Interpret “today,” “tomorrow,” and weekday names relative to the user's local date rather than UTC. Include the timezone in write confirmations. Attendee edits can send invitations or updates; do not silently invite people.