@shin1ohno/sage 0.7.9 → 0.8.6

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 (149) hide show
  1. package/README.md +26 -8
  2. package/dist/cli/mcp-handler.d.ts.map +1 -1
  3. package/dist/cli/mcp-handler.js +141 -987
  4. package/dist/cli/mcp-handler.js.map +1 -1
  5. package/dist/config/loader.d.ts.map +1 -1
  6. package/dist/config/loader.js +30 -1
  7. package/dist/config/loader.js.map +1 -1
  8. package/dist/config/update-validation.d.ts +52 -0
  9. package/dist/config/update-validation.d.ts.map +1 -0
  10. package/dist/config/update-validation.js +133 -0
  11. package/dist/config/update-validation.js.map +1 -0
  12. package/dist/config/validation.d.ts +130 -0
  13. package/dist/config/validation.d.ts.map +1 -0
  14. package/dist/config/validation.js +53 -0
  15. package/dist/config/validation.js.map +1 -0
  16. package/dist/index.js +443 -1632
  17. package/dist/index.js.map +1 -1
  18. package/dist/integrations/calendar-event-creator.d.ts +2 -3
  19. package/dist/integrations/calendar-event-creator.d.ts.map +1 -1
  20. package/dist/integrations/calendar-event-creator.js +3 -4
  21. package/dist/integrations/calendar-event-creator.js.map +1 -1
  22. package/dist/integrations/calendar-event-deleter.d.ts +2 -3
  23. package/dist/integrations/calendar-event-deleter.d.ts.map +1 -1
  24. package/dist/integrations/calendar-event-deleter.js +3 -4
  25. package/dist/integrations/calendar-event-deleter.js.map +1 -1
  26. package/dist/integrations/calendar-event-response.d.ts +4 -17
  27. package/dist/integrations/calendar-event-response.d.ts.map +1 -1
  28. package/dist/integrations/calendar-event-response.js +3 -4
  29. package/dist/integrations/calendar-event-response.js.map +1 -1
  30. package/dist/integrations/calendar-service.d.ts +6 -3
  31. package/dist/integrations/calendar-service.d.ts.map +1 -1
  32. package/dist/integrations/calendar-service.js +26 -4
  33. package/dist/integrations/calendar-service.js.map +1 -1
  34. package/dist/integrations/calendar-source-manager.d.ts +302 -0
  35. package/dist/integrations/calendar-source-manager.d.ts.map +1 -0
  36. package/dist/integrations/calendar-source-manager.js +862 -0
  37. package/dist/integrations/calendar-source-manager.js.map +1 -0
  38. package/dist/integrations/google-calendar-service.d.ts +176 -0
  39. package/dist/integrations/google-calendar-service.d.ts.map +1 -0
  40. package/dist/integrations/google-calendar-service.js +745 -0
  41. package/dist/integrations/google-calendar-service.js.map +1 -0
  42. package/dist/integrations/notion-mcp.d.ts +28 -3
  43. package/dist/integrations/notion-mcp.d.ts.map +1 -1
  44. package/dist/integrations/notion-mcp.js +21 -5
  45. package/dist/integrations/notion-mcp.js.map +1 -1
  46. package/dist/integrations/reminder-manager.d.ts.map +1 -1
  47. package/dist/integrations/reminder-manager.js +2 -0
  48. package/dist/integrations/reminder-manager.js.map +1 -1
  49. package/dist/oauth/google-oauth-handler.d.ts +149 -0
  50. package/dist/oauth/google-oauth-handler.d.ts.map +1 -0
  51. package/dist/oauth/google-oauth-handler.js +365 -0
  52. package/dist/oauth/google-oauth-handler.js.map +1 -0
  53. package/dist/services/container.d.ts +56 -0
  54. package/dist/services/container.d.ts.map +1 -0
  55. package/dist/services/container.js +76 -0
  56. package/dist/services/container.js.map +1 -0
  57. package/dist/tools/calendar/handlers.d.ts +186 -0
  58. package/dist/tools/calendar/handlers.d.ts.map +1 -0
  59. package/dist/tools/calendar/handlers.js +525 -0
  60. package/dist/tools/calendar/handlers.js.map +1 -0
  61. package/dist/tools/calendar/index.d.ts +11 -0
  62. package/dist/tools/calendar/index.d.ts.map +1 -0
  63. package/dist/tools/calendar/index.js +10 -0
  64. package/dist/tools/calendar/index.js.map +1 -0
  65. package/dist/tools/index.d.ts +23 -0
  66. package/dist/tools/index.d.ts.map +1 -0
  67. package/dist/tools/index.js +24 -0
  68. package/dist/tools/index.js.map +1 -0
  69. package/dist/tools/integrations/handlers.d.ts +57 -0
  70. package/dist/tools/integrations/handlers.d.ts.map +1 -0
  71. package/dist/tools/integrations/handlers.js +159 -0
  72. package/dist/tools/integrations/handlers.js.map +1 -0
  73. package/dist/tools/integrations/index.d.ts +11 -0
  74. package/dist/tools/integrations/index.d.ts.map +1 -0
  75. package/dist/tools/integrations/index.js +10 -0
  76. package/dist/tools/integrations/index.js.map +1 -0
  77. package/dist/tools/registry.d.ts +8 -0
  78. package/dist/tools/registry.d.ts.map +1 -0
  79. package/dist/tools/registry.js +10 -0
  80. package/dist/tools/registry.js.map +1 -0
  81. package/dist/tools/reminders/handlers.d.ts +61 -0
  82. package/dist/tools/reminders/handlers.d.ts.map +1 -0
  83. package/dist/tools/reminders/handlers.js +148 -0
  84. package/dist/tools/reminders/handlers.js.map +1 -0
  85. package/dist/tools/reminders/index.d.ts +11 -0
  86. package/dist/tools/reminders/index.d.ts.map +1 -0
  87. package/dist/tools/reminders/index.js +10 -0
  88. package/dist/tools/reminders/index.js.map +1 -0
  89. package/dist/tools/setup/handlers.d.ts +81 -0
  90. package/dist/tools/setup/handlers.d.ts.map +1 -0
  91. package/dist/tools/setup/handlers.js +172 -0
  92. package/dist/tools/setup/handlers.js.map +1 -0
  93. package/dist/tools/setup/index.d.ts +11 -0
  94. package/dist/tools/setup/index.d.ts.map +1 -0
  95. package/dist/tools/setup/index.js +10 -0
  96. package/dist/tools/setup/index.js.map +1 -0
  97. package/dist/tools/tasks/handlers.d.ts +95 -0
  98. package/dist/tools/tasks/handlers.d.ts.map +1 -0
  99. package/dist/tools/tasks/handlers.js +197 -0
  100. package/dist/tools/tasks/handlers.js.map +1 -0
  101. package/dist/tools/tasks/index.d.ts +11 -0
  102. package/dist/tools/tasks/index.d.ts.map +1 -0
  103. package/dist/tools/tasks/index.js +10 -0
  104. package/dist/tools/tasks/index.js.map +1 -0
  105. package/dist/tools/types.d.ts +54 -0
  106. package/dist/tools/types.d.ts.map +1 -0
  107. package/dist/tools/types.js +9 -0
  108. package/dist/tools/types.js.map +1 -0
  109. package/dist/types/calendar.d.ts +41 -0
  110. package/dist/types/calendar.d.ts.map +1 -0
  111. package/dist/types/calendar.js +18 -0
  112. package/dist/types/calendar.js.map +1 -0
  113. package/dist/types/config.d.ts +15 -0
  114. package/dist/types/config.d.ts.map +1 -1
  115. package/dist/types/config.js +21 -0
  116. package/dist/types/config.js.map +1 -1
  117. package/dist/types/google-calendar-types.d.ts +139 -0
  118. package/dist/types/google-calendar-types.d.ts.map +1 -0
  119. package/dist/types/google-calendar-types.js +46 -0
  120. package/dist/types/google-calendar-types.js.map +1 -0
  121. package/dist/types/index.d.ts +1 -0
  122. package/dist/types/index.d.ts.map +1 -1
  123. package/dist/types/index.js +1 -0
  124. package/dist/types/index.js.map +1 -1
  125. package/dist/utils/estimation.d.ts +34 -0
  126. package/dist/utils/estimation.d.ts.map +1 -1
  127. package/dist/utils/estimation.js +38 -1
  128. package/dist/utils/estimation.js.map +1 -1
  129. package/dist/utils/mcp-response.d.ts +89 -0
  130. package/dist/utils/mcp-response.d.ts.map +1 -0
  131. package/dist/utils/mcp-response.js +103 -0
  132. package/dist/utils/mcp-response.js.map +1 -0
  133. package/dist/utils/task-splitter.d.ts +65 -4
  134. package/dist/utils/task-splitter.d.ts.map +1 -1
  135. package/dist/utils/task-splitter.js +69 -5
  136. package/dist/utils/task-splitter.js.map +1 -1
  137. package/dist/version.d.ts +2 -2
  138. package/dist/version.d.ts.map +1 -1
  139. package/dist/version.js +22 -4
  140. package/dist/version.js.map +1 -1
  141. package/package.json +4 -3
  142. package/dist/cli/http-server.d.ts +0 -74
  143. package/dist/cli/http-server.d.ts.map +0 -1
  144. package/dist/cli/http-server.js +0 -407
  145. package/dist/cli/http-server.js.map +0 -1
  146. package/dist/remote/remote-mcp-server.d.ts +0 -244
  147. package/dist/remote/remote-mcp-server.d.ts.map +0 -1
  148. package/dist/remote/remote-mcp-server.js +0 -507
  149. package/dist/remote/remote-mcp-server.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar-source-manager.js","sourceRoot":"","sources":["../../src/integrations/calendar-source-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,176 @@
1
+ /**
2
+ * Google Calendar Service
3
+ * Requirements: 1, 10 (Google Calendar OAuth Authentication, Health Check)
4
+ *
5
+ * Provides Google Calendar API integration with OAuth authentication,
6
+ * event CRUD operations, and calendar management.
7
+ */
8
+ import { GoogleOAuthHandler } from '../oauth/google-oauth-handler.js';
9
+ import type { CalendarEvent, CalendarInfo } from '../types/google-calendar-types.js';
10
+ /**
11
+ * Request interface for listing events
12
+ */
13
+ export interface ListEventsRequest {
14
+ startDate: string;
15
+ endDate: string;
16
+ calendarId?: string;
17
+ }
18
+ /**
19
+ * Request interface for creating events
20
+ */
21
+ export interface CreateEventRequest {
22
+ title: string;
23
+ start: string;
24
+ end: string;
25
+ isAllDay?: boolean;
26
+ location?: string;
27
+ description?: string;
28
+ attendees?: string[];
29
+ reminders?: {
30
+ useDefault: boolean;
31
+ overrides?: Array<{
32
+ method: 'email' | 'popup';
33
+ minutes: number;
34
+ }>;
35
+ };
36
+ }
37
+ /**
38
+ * Google Calendar Service Configuration
39
+ */
40
+ export interface GoogleCalendarServiceConfig {
41
+ userId?: string;
42
+ }
43
+ /**
44
+ * Google Calendar Service Class
45
+ *
46
+ * Manages Google Calendar API integration with OAuth authentication.
47
+ * Provides methods for event CRUD operations, calendar management, and health checks.
48
+ */
49
+ export declare class GoogleCalendarService {
50
+ private oauthHandler;
51
+ private calendarClient;
52
+ /**
53
+ * Constructor
54
+ *
55
+ * @param oauthHandler - GoogleOAuthHandler instance for authentication
56
+ * @param config - Optional configuration (userId, etc.)
57
+ */
58
+ constructor(oauthHandler: GoogleOAuthHandler, _config?: GoogleCalendarServiceConfig);
59
+ /**
60
+ * Authenticate and initialize Google Calendar client
61
+ *
62
+ * Calls GoogleOAuthHandler.ensureValidToken() to get a valid access token,
63
+ * then initializes the google.calendar() client with the OAuth2Client.
64
+ *
65
+ * @throws Error if authentication fails or no stored tokens found
66
+ */
67
+ authenticate(): Promise<void>;
68
+ /**
69
+ * Check if Google Calendar API is available
70
+ *
71
+ * Attempts a simple Calendar API call (calendarList.list with maxResults=1)
72
+ * to verify authentication and API availability.
73
+ *
74
+ * @returns True if API is available and authenticated, false otherwise
75
+ */
76
+ isAvailable(): Promise<boolean>;
77
+ /**
78
+ * List calendar events with pagination support
79
+ * Requirement: 2, 10 (Google Calendar event retrieval, retry with backoff)
80
+ *
81
+ * Fetches all events within the specified date range using automatic pagination.
82
+ * Collects events from all pages until no more pageToken is returned.
83
+ * Includes retry logic with exponential backoff for transient failures.
84
+ * Expands recurring events into individual instances.
85
+ *
86
+ * @param request - ListEventsRequest with date range and optional calendar ID
87
+ * @returns Array of unified CalendarEvent objects
88
+ * @throws Error if authentication fails or API request fails after retries
89
+ */
90
+ listEvents(request: ListEventsRequest): Promise<CalendarEvent[]>;
91
+ /**
92
+ * Create a calendar event
93
+ * Requirement: 3, 10 (Calendar event creation with retry logic)
94
+ *
95
+ * Creates a new event in Google Calendar with support for all-day events,
96
+ * reminders, and attendees. Includes retry logic with exponential backoff
97
+ * for transient failures.
98
+ *
99
+ * @param request - CreateEventRequest with event details
100
+ * @param calendarId - Calendar ID (optional, defaults to 'primary')
101
+ * @returns Created calendar event
102
+ * @throws Error if authentication fails or API request fails after retries
103
+ */
104
+ createEvent(request: CreateEventRequest, calendarId?: string): Promise<CalendarEvent>;
105
+ /**
106
+ * Update a calendar event
107
+ * Requirement: 4, 10 (Calendar event updates with partial updates and retry logic)
108
+ *
109
+ * Updates an existing event in Google Calendar using the patch API for partial updates.
110
+ * Supports all-day events, reminders, attendees, and recurring events.
111
+ * Includes retry logic with exponential backoff for transient failures.
112
+ *
113
+ * @param eventId - Event ID to update
114
+ * @param updates - Partial CreateEventRequest with fields to update
115
+ * @param calendarId - Calendar ID (optional, defaults to 'primary')
116
+ * @returns Updated calendar event
117
+ * @throws Error if authentication fails or API request fails after retries
118
+ */
119
+ updateEvent(eventId: string, updates: Partial<CreateEventRequest>, calendarId?: string): Promise<CalendarEvent>;
120
+ /**
121
+ * Delete a calendar event
122
+ * Requirement: 5, 10 (Calendar event deletion with retry logic)
123
+ *
124
+ * Deletes a single event from Google Calendar using the delete API.
125
+ * Includes retry logic with exponential backoff for transient failures.
126
+ * Handles 404 errors gracefully (event already deleted).
127
+ *
128
+ * @param eventId - Event ID to delete
129
+ * @param calendarId - Calendar ID (optional, defaults to 'primary')
130
+ * @throws Error if authentication fails or API request fails after retries (except 404)
131
+ */
132
+ deleteEvent(eventId: string, calendarId?: string): Promise<void>;
133
+ /**
134
+ * Delete multiple calendar events in batch
135
+ * Requirement: 5, 10 (Calendar event batch deletion with retry logic)
136
+ *
137
+ * Deletes multiple events from Google Calendar using batch API requests.
138
+ * Splits eventIds into chunks of 50 (Google API limit) if needed.
139
+ * Includes retry logic with exponential backoff for transient failures.
140
+ * Handles partial failures gracefully (continues with remaining chunks).
141
+ *
142
+ * @param eventIds - Array of event IDs to delete
143
+ * @param calendarId - Calendar ID (optional, defaults to 'primary')
144
+ * @returns Object with count of successfully deleted events
145
+ */
146
+ deleteEventsBatch(eventIds: string[], calendarId?: string): Promise<{
147
+ deleted: number;
148
+ }>;
149
+ /**
150
+ * Respond to a calendar event invitation
151
+ * Requirement: 6, 10 (Event invitation response with retry logic)
152
+ *
153
+ * Updates the current user's attendance status for an event invitation.
154
+ * Sends notification to the organizer with sendUpdates='all'.
155
+ * Includes retry logic with exponential backoff for transient failures.
156
+ *
157
+ * @param eventId - Event ID to respond to
158
+ * @param response - Response status ('accepted' | 'declined' | 'tentative')
159
+ * @param calendarId - Calendar ID (optional, defaults to 'primary')
160
+ * @throws Error if authentication fails, event not found, or user is not an attendee
161
+ */
162
+ respondToEvent(eventId: string, response: 'accepted' | 'declined' | 'tentative', calendarId?: string): Promise<void>;
163
+ /**
164
+ * List all calendars
165
+ * Requirement: 2, 9 (Calendar list retrieval, User data privacy)
166
+ *
167
+ * Fetches all calendars accessible by the user from Google Calendar API.
168
+ * Returns CalendarInfo array with id, name, isPrimary, accessRole, and color.
169
+ * Includes retry logic with exponential backoff for transient failures.
170
+ *
171
+ * @returns Array of CalendarInfo objects
172
+ * @throws Error if authentication fails or API request fails after retries
173
+ */
174
+ listCalendars(): Promise<CalendarInfo[]>;
175
+ }
176
+ //# sourceMappingURL=google-calendar-service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-calendar-service.d.ts","sourceRoot":"","sources":["../../src/integrations/google-calendar-service.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACtE,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EAEb,MAAM,mCAAmC,CAAC;AAI3C;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE;QACV,UAAU,EAAE,OAAO,CAAC;QACpB,SAAS,CAAC,EAAE,KAAK,CAAC;YAChB,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC;YAC1B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC,CAAC;KACJ,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,2BAA2B;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,cAAc,CAAqC;IAE3D;;;;;OAKG;gBAED,YAAY,EAAE,kBAAkB,EAChC,OAAO,CAAC,EAAE,2BAA2B;IAKvC;;;;;;;OAOG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BnC;;;;;;;OAOG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAoBrC;;;;;;;;;;;;OAYG;IACG,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IA4EtE;;;;;;;;;;;;OAYG;IACG,WAAW,CACf,OAAO,EAAE,kBAAkB,EAC3B,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC;IAgGzB;;;;;;;;;;;;;OAaG;IACG,WAAW,CACf,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,EACpC,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC;IA+IzB;;;;;;;;;;;OAWG;IACG,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyEtE;;;;;;;;;;;;OAYG;IACG,iBAAiB,CACrB,QAAQ,EAAE,MAAM,EAAE,EAClB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAuF/B;;;;;;;;;;;;OAYG;IACG,cAAc,CAClB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,UAAU,GAAG,UAAU,GAAG,WAAW,EAC/C,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,IAAI,CAAC;IAmLhB;;;;;;;;;;OAUG;IACG,aAAa,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;CA+D/C"}