@shin1ohno/sage 0.2.4 → 0.5.3
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/cli/http-server-with-config.d.ts +38 -0
- package/dist/cli/http-server-with-config.d.ts.map +1 -0
- package/dist/cli/http-server-with-config.js +458 -0
- package/dist/cli/http-server-with-config.js.map +1 -0
- package/dist/cli/http-server.d.ts +74 -0
- package/dist/cli/http-server.d.ts.map +1 -0
- package/dist/cli/http-server.js +407 -0
- package/dist/cli/http-server.js.map +1 -0
- package/dist/cli/jwt-middleware.d.ts +36 -0
- package/dist/cli/jwt-middleware.d.ts.map +1 -0
- package/dist/cli/jwt-middleware.js +99 -0
- package/dist/cli/jwt-middleware.js.map +1 -0
- package/dist/cli/main-entry.d.ts +41 -0
- package/dist/cli/main-entry.d.ts.map +1 -0
- package/dist/cli/main-entry.js +80 -0
- package/dist/cli/main-entry.js.map +1 -0
- package/dist/cli/mcp-handler.d.ts +56 -0
- package/dist/cli/mcp-handler.d.ts.map +1 -0
- package/dist/cli/mcp-handler.js +2189 -0
- package/dist/cli/mcp-handler.js.map +1 -0
- package/dist/cli/parser.d.ts +43 -0
- package/dist/cli/parser.d.ts.map +1 -0
- package/dist/cli/parser.js +162 -0
- package/dist/cli/parser.js.map +1 -0
- package/dist/cli/remote-config-loader.d.ts +85 -0
- package/dist/cli/remote-config-loader.d.ts.map +1 -0
- package/dist/cli/remote-config-loader.js +129 -0
- package/dist/cli/remote-config-loader.js.map +1 -0
- package/dist/cli/secret-auth.d.ts +47 -0
- package/dist/cli/secret-auth.d.ts.map +1 -0
- package/dist/cli/secret-auth.js +165 -0
- package/dist/cli/secret-auth.js.map +1 -0
- package/dist/cli/sse-stream-handler.d.ts +45 -0
- package/dist/cli/sse-stream-handler.d.ts.map +1 -0
- package/dist/cli/sse-stream-handler.js +125 -0
- package/dist/cli/sse-stream-handler.js.map +1 -0
- package/dist/index.js +885 -209
- package/dist/index.js.map +1 -1
- package/dist/integrations/calendar-event-creator.d.ts +152 -0
- package/dist/integrations/calendar-event-creator.d.ts.map +1 -0
- package/dist/integrations/calendar-event-creator.js +507 -0
- package/dist/integrations/calendar-event-creator.js.map +1 -0
- package/dist/integrations/calendar-event-deleter.d.ts +137 -0
- package/dist/integrations/calendar-event-deleter.d.ts.map +1 -0
- package/dist/integrations/calendar-event-deleter.js +378 -0
- package/dist/integrations/calendar-event-deleter.js.map +1 -0
- package/dist/integrations/calendar-event-response.d.ts +213 -0
- package/dist/integrations/calendar-event-response.d.ts.map +1 -0
- package/dist/integrations/calendar-event-response.js +560 -0
- package/dist/integrations/calendar-event-response.js.map +1 -0
- package/dist/integrations/calendar-service.d.ts +85 -10
- package/dist/integrations/calendar-service.d.ts.map +1 -1
- package/dist/integrations/calendar-service.js +317 -35
- package/dist/integrations/calendar-service.js.map +1 -1
- package/dist/oauth/client-store.d.ts +36 -0
- package/dist/oauth/client-store.d.ts.map +1 -0
- package/dist/oauth/client-store.js +104 -0
- package/dist/oauth/client-store.js.map +1 -0
- package/dist/oauth/code-store.d.ts +48 -0
- package/dist/oauth/code-store.d.ts.map +1 -0
- package/dist/oauth/code-store.js +89 -0
- package/dist/oauth/code-store.js.map +1 -0
- package/dist/oauth/index.d.ts +13 -0
- package/dist/oauth/index.d.ts.map +1 -0
- package/dist/oauth/index.js +21 -0
- package/dist/oauth/index.js.map +1 -0
- package/dist/oauth/oauth-handler.d.ts +101 -0
- package/dist/oauth/oauth-handler.d.ts.map +1 -0
- package/dist/oauth/oauth-handler.js +577 -0
- package/dist/oauth/oauth-handler.js.map +1 -0
- package/dist/oauth/oauth-server.d.ts +165 -0
- package/dist/oauth/oauth-server.d.ts.map +1 -0
- package/dist/oauth/oauth-server.js +489 -0
- package/dist/oauth/oauth-server.js.map +1 -0
- package/dist/oauth/pkce.d.ts +48 -0
- package/dist/oauth/pkce.d.ts.map +1 -0
- package/dist/oauth/pkce.js +106 -0
- package/dist/oauth/pkce.js.map +1 -0
- package/dist/oauth/refresh-token-store.d.ts +45 -0
- package/dist/oauth/refresh-token-store.d.ts.map +1 -0
- package/dist/oauth/refresh-token-store.js +98 -0
- package/dist/oauth/refresh-token-store.js.map +1 -0
- package/dist/oauth/token-service.d.ts +46 -0
- package/dist/oauth/token-service.d.ts.map +1 -0
- package/dist/oauth/token-service.js +199 -0
- package/dist/oauth/token-service.js.map +1 -0
- package/dist/oauth/types.d.ts +264 -0
- package/dist/oauth/types.d.ts.map +1 -0
- package/dist/oauth/types.js +37 -0
- package/dist/oauth/types.js.map +1 -0
- package/dist/version.d.ts +9 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +11 -0
- package/dist/version.js.map +1 -0
- package/manifest.json +12 -20
- package/package.json +1 -1
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Calendar Service
|
|
3
|
-
* macOS
|
|
3
|
+
* macOS EventKit integration via AppleScriptObjC
|
|
4
4
|
* Requirements: 6.1-6.9
|
|
5
5
|
*
|
|
6
|
-
* 現行実装: macOS
|
|
6
|
+
* 現行実装: macOS EventKit経由(AppleScriptObjCを使用)
|
|
7
|
+
* - EventKitは繰り返しイベントを個々の発生(occurrence)に自動展開
|
|
8
|
+
* - Calendar.appのネイティブAppleScriptでは不可能な機能を提供
|
|
7
9
|
* 将来対応予定: iOS/iPadOS ネイティブ統合(Claude Skills APIがデバイスAPIへのアクセスを提供した時点)
|
|
8
10
|
*/
|
|
9
11
|
/**
|
|
@@ -16,9 +18,9 @@ export interface CalendarPlatformInfo {
|
|
|
16
18
|
requiresPermission: boolean;
|
|
17
19
|
hasNativeAccess: boolean;
|
|
18
20
|
}
|
|
19
|
-
export type CalendarMethod = 'native' | '
|
|
21
|
+
export type CalendarMethod = 'native' | 'eventkit' | 'caldav' | 'ical_url' | 'manual_input' | 'outlook';
|
|
20
22
|
/**
|
|
21
|
-
* Calendar event
|
|
23
|
+
* Calendar event (basic)
|
|
22
24
|
*/
|
|
23
25
|
export interface CalendarEvent {
|
|
24
26
|
id: string;
|
|
@@ -28,6 +30,35 @@ export interface CalendarEvent {
|
|
|
28
30
|
isAllDay: boolean;
|
|
29
31
|
source: string;
|
|
30
32
|
}
|
|
33
|
+
/**
|
|
34
|
+
* Calendar event with additional details
|
|
35
|
+
* Requirement: 16.10
|
|
36
|
+
*/
|
|
37
|
+
export interface CalendarEventDetailed extends CalendarEvent {
|
|
38
|
+
calendar: string;
|
|
39
|
+
location?: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Request for listing calendar events
|
|
43
|
+
* Requirement: 16.2, 16.3, 16.4
|
|
44
|
+
*/
|
|
45
|
+
export interface ListEventsRequest {
|
|
46
|
+
startDate: string;
|
|
47
|
+
endDate: string;
|
|
48
|
+
calendarName?: string;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Response for listing calendar events
|
|
52
|
+
* Requirement: 16.10
|
|
53
|
+
*/
|
|
54
|
+
export interface ListEventsResponse {
|
|
55
|
+
events: CalendarEventDetailed[];
|
|
56
|
+
period: {
|
|
57
|
+
start: string;
|
|
58
|
+
end: string;
|
|
59
|
+
};
|
|
60
|
+
totalEvents: number;
|
|
61
|
+
}
|
|
31
62
|
/**
|
|
32
63
|
* Slot request
|
|
33
64
|
*/
|
|
@@ -94,18 +125,26 @@ export declare class CalendarService {
|
|
|
94
125
|
*/
|
|
95
126
|
private fetchNativeEvents;
|
|
96
127
|
/**
|
|
97
|
-
* Fetch events via
|
|
128
|
+
* Fetch events via EventKit (macOS)
|
|
129
|
+
* Uses AppleScriptObjC to access EventKit framework
|
|
98
130
|
* Requirement: 6.3
|
|
99
131
|
*/
|
|
100
|
-
private
|
|
132
|
+
private fetchEventKitEvents;
|
|
133
|
+
/**
|
|
134
|
+
* Parse ISO 8601 date string into components
|
|
135
|
+
*/
|
|
136
|
+
private parseDateComponents;
|
|
101
137
|
/**
|
|
102
|
-
* Build
|
|
138
|
+
* Build AppleScriptObjC script for fetching events using EventKit
|
|
139
|
+
* Note: Uses EventKit framework to properly handle recurring events
|
|
140
|
+
* EventKit expands recurring events into individual occurrences, unlike Calendar.app's native AppleScript
|
|
103
141
|
*/
|
|
104
|
-
private
|
|
142
|
+
private buildEventKitScript;
|
|
105
143
|
/**
|
|
106
|
-
* Parse
|
|
144
|
+
* Parse EventKit result into events
|
|
145
|
+
* Format: title|start|end|id|isAllDay
|
|
107
146
|
*/
|
|
108
|
-
|
|
147
|
+
parseEventKitResult(output: string): CalendarEvent[];
|
|
109
148
|
/**
|
|
110
149
|
* Find available slots from events
|
|
111
150
|
* Requirement: 6.4, 6.7
|
|
@@ -121,6 +160,42 @@ export declare class CalendarService {
|
|
|
121
160
|
* Requirement: 6.9
|
|
122
161
|
*/
|
|
123
162
|
generateManualInputPrompt(startDate: string, endDate: string): string;
|
|
163
|
+
/**
|
|
164
|
+
* List calendar events for a specified period
|
|
165
|
+
* Requirement: 16.1
|
|
166
|
+
*/
|
|
167
|
+
listEvents(request: ListEventsRequest): Promise<ListEventsResponse>;
|
|
168
|
+
/**
|
|
169
|
+
* Validate ISO 8601 date format (YYYY-MM-DD)
|
|
170
|
+
*/
|
|
171
|
+
private isValidDateFormat;
|
|
172
|
+
/**
|
|
173
|
+
* Fetch events with detailed information (calendar, location)
|
|
174
|
+
* Requirement: 16.10, 16.11
|
|
175
|
+
*/
|
|
176
|
+
fetchEventsDetailed(startDate: string, endDate: string): Promise<CalendarEventDetailed[]>;
|
|
177
|
+
/**
|
|
178
|
+
* Fetch events via EventKit with detailed information
|
|
179
|
+
* Requirement: 16.10, 16.11
|
|
180
|
+
*/
|
|
181
|
+
private fetchEventKitEventsDetailed;
|
|
182
|
+
/**
|
|
183
|
+
* Build AppleScriptObjC script for fetching events with details
|
|
184
|
+
* Includes calendar name and location
|
|
185
|
+
* Requirement: 16.10
|
|
186
|
+
*/
|
|
187
|
+
buildEventKitScriptWithDetails(startDate: string, endDate: string): string;
|
|
188
|
+
/**
|
|
189
|
+
* Parse EventKit result with detailed information
|
|
190
|
+
* Format: title|start|end|id|isAllDay|calendar|location
|
|
191
|
+
* Requirement: 16.10
|
|
192
|
+
*/
|
|
193
|
+
parseEventKitResultWithDetails(output: string): CalendarEventDetailed[];
|
|
194
|
+
/**
|
|
195
|
+
* Format AppleScript date string to JST ISO 8601 format
|
|
196
|
+
* Requirement: 16.9
|
|
197
|
+
*/
|
|
198
|
+
private formatDateToJST;
|
|
124
199
|
}
|
|
125
200
|
export {};
|
|
126
201
|
//# sourceMappingURL=calendar-service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-service.d.ts","sourceRoot":"","sources":["../../src/integrations/calendar-service.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"calendar-service.d.ts","sourceRoot":"","sources":["../../src/integrations/calendar-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Calendar Service
|
|
3
|
-
* macOS
|
|
3
|
+
* macOS EventKit integration via AppleScriptObjC
|
|
4
4
|
* Requirements: 6.1-6.9
|
|
5
5
|
*
|
|
6
|
-
* 現行実装: macOS
|
|
6
|
+
* 現行実装: macOS EventKit経由(AppleScriptObjCを使用)
|
|
7
|
+
* - EventKitは繰り返しイベントを個々の発生(occurrence)に自動展開
|
|
8
|
+
* - Calendar.appのネイティブAppleScriptでは不可能な機能を提供
|
|
7
9
|
* 将来対応予定: iOS/iPadOS ネイティブ統合(Claude Skills APIがデバイスAPIへのアクセスを提供した時点)
|
|
8
10
|
*/
|
|
9
11
|
import { retryWithBackoff, isRetryableError } from '../utils/retry.js';
|
|
@@ -31,8 +33,8 @@ export class CalendarService {
|
|
|
31
33
|
if (typeof process !== 'undefined' && process.platform === 'darwin') {
|
|
32
34
|
return {
|
|
33
35
|
platform: 'macos',
|
|
34
|
-
availableMethods: ['
|
|
35
|
-
recommendedMethod: '
|
|
36
|
+
availableMethods: ['eventkit', 'caldav'],
|
|
37
|
+
recommendedMethod: 'eventkit',
|
|
36
38
|
requiresPermission: true,
|
|
37
39
|
hasNativeAccess: true,
|
|
38
40
|
};
|
|
@@ -91,8 +93,8 @@ export class CalendarService {
|
|
|
91
93
|
switch (platform.recommendedMethod) {
|
|
92
94
|
case 'native':
|
|
93
95
|
return this.fetchNativeEvents(startDate, endDate);
|
|
94
|
-
case '
|
|
95
|
-
return this.
|
|
96
|
+
case 'eventkit':
|
|
97
|
+
return this.fetchEventKitEvents(startDate, endDate);
|
|
96
98
|
case 'manual_input':
|
|
97
99
|
default:
|
|
98
100
|
return [];
|
|
@@ -111,58 +113,115 @@ export class CalendarService {
|
|
|
111
113
|
return [];
|
|
112
114
|
}
|
|
113
115
|
/**
|
|
114
|
-
* Fetch events via
|
|
116
|
+
* Fetch events via EventKit (macOS)
|
|
117
|
+
* Uses AppleScriptObjC to access EventKit framework
|
|
115
118
|
* Requirement: 6.3
|
|
116
119
|
*/
|
|
117
|
-
async
|
|
120
|
+
async fetchEventKitEvents(startDate, endDate) {
|
|
118
121
|
try {
|
|
119
|
-
// Lazy load run-applescript
|
|
122
|
+
// Lazy load run-applescript (used to execute AppleScriptObjC with EventKit)
|
|
120
123
|
if (!this.runAppleScript) {
|
|
121
124
|
const module = await import('run-applescript');
|
|
122
125
|
this.runAppleScript = module.runAppleScript;
|
|
123
126
|
}
|
|
124
|
-
const script = this.
|
|
125
|
-
// Use retry with exponential backoff for
|
|
127
|
+
const script = this.buildEventKitScript(startDate, endDate);
|
|
128
|
+
// Use retry with exponential backoff for EventKit execution
|
|
126
129
|
const result = await retryWithBackoff(async () => {
|
|
127
130
|
return await this.runAppleScript(script);
|
|
128
131
|
}, {
|
|
129
132
|
...RETRY_OPTIONS,
|
|
130
133
|
onRetry: (error, attempt) => {
|
|
131
|
-
console.error(`
|
|
134
|
+
console.error(`EventKit Calendar retry attempt ${attempt}: ${error.message}`);
|
|
132
135
|
},
|
|
133
136
|
});
|
|
134
|
-
return this.
|
|
137
|
+
return this.parseEventKitResult(result);
|
|
135
138
|
}
|
|
136
139
|
catch (error) {
|
|
137
|
-
console.error('
|
|
140
|
+
console.error('EventKit カレンダーエラー:', error);
|
|
138
141
|
return [];
|
|
139
142
|
}
|
|
140
143
|
}
|
|
141
144
|
/**
|
|
142
|
-
*
|
|
145
|
+
* Parse ISO 8601 date string into components
|
|
143
146
|
*/
|
|
144
|
-
|
|
147
|
+
parseDateComponents(dateStr) {
|
|
148
|
+
const date = new Date(dateStr);
|
|
149
|
+
return {
|
|
150
|
+
year: date.getFullYear(),
|
|
151
|
+
month: date.getMonth() + 1,
|
|
152
|
+
day: date.getDate(),
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Build AppleScriptObjC script for fetching events using EventKit
|
|
157
|
+
* Note: Uses EventKit framework to properly handle recurring events
|
|
158
|
+
* EventKit expands recurring events into individual occurrences, unlike Calendar.app's native AppleScript
|
|
159
|
+
*/
|
|
160
|
+
buildEventKitScript(startDate, endDate) {
|
|
161
|
+
const start = this.parseDateComponents(startDate);
|
|
162
|
+
const end = this.parseDateComponents(endDate);
|
|
145
163
|
return `
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
164
|
+
use AppleScript version "2.7"
|
|
165
|
+
use framework "Foundation"
|
|
166
|
+
use framework "EventKit"
|
|
167
|
+
use scripting additions
|
|
168
|
+
|
|
169
|
+
-- Build start date
|
|
170
|
+
set startDate to current date
|
|
171
|
+
set year of startDate to ${start.year}
|
|
172
|
+
set month of startDate to ${start.month}
|
|
173
|
+
set day of startDate to ${start.day}
|
|
174
|
+
set hours of startDate to 0
|
|
175
|
+
set minutes of startDate to 0
|
|
176
|
+
set seconds of startDate to 0
|
|
177
|
+
|
|
178
|
+
-- Build end date (end of day)
|
|
179
|
+
set endDate to current date
|
|
180
|
+
set year of endDate to ${end.year}
|
|
181
|
+
set month of endDate to ${end.month}
|
|
182
|
+
set day of endDate to ${end.day}
|
|
183
|
+
set hours of endDate to 23
|
|
184
|
+
set minutes of endDate to 59
|
|
185
|
+
set seconds of endDate to 59
|
|
186
|
+
|
|
187
|
+
-- Create EventKit store
|
|
188
|
+
set theStore to current application's EKEventStore's alloc()'s init()
|
|
189
|
+
|
|
190
|
+
-- Request calendar access (synchronously wait for completion)
|
|
191
|
+
set accessGranted to false
|
|
192
|
+
theStore's requestFullAccessToEventsWithCompletion:(missing value)
|
|
193
|
+
delay 0.5
|
|
194
|
+
|
|
195
|
+
-- Convert AppleScript dates to NSDate
|
|
196
|
+
set startNSDate to current application's NSDate's dateWithTimeIntervalSince1970:((startDate - (date "Thursday, January 1, 1970 at 9:00:00")) / 1)
|
|
197
|
+
set endNSDate to current application's NSDate's dateWithTimeIntervalSince1970:((endDate - (date "Thursday, January 1, 1970 at 9:00:00")) / 1)
|
|
198
|
+
|
|
199
|
+
-- Create predicate for events in date range (all calendars)
|
|
200
|
+
set thePredicate to theStore's predicateForEventsWithStartDate:startNSDate endDate:endNSDate calendars:(missing value)
|
|
201
|
+
|
|
202
|
+
-- Fetch events (EventKit automatically expands recurring events into occurrences)
|
|
203
|
+
set theEvents to theStore's eventsMatchingPredicate:thePredicate
|
|
150
204
|
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
205
|
+
-- Build result string
|
|
206
|
+
set eventList to ""
|
|
207
|
+
repeat with anEvent in theEvents
|
|
208
|
+
set eventTitle to (anEvent's title()) as text
|
|
209
|
+
set eventStart to (anEvent's startDate()) as date
|
|
210
|
+
set eventEnd to (anEvent's endDate()) as date
|
|
211
|
+
set eventId to (anEvent's eventIdentifier()) as text
|
|
212
|
+
set isAllDay to (anEvent's isAllDay()) as boolean
|
|
158
213
|
|
|
159
|
-
|
|
160
|
-
|
|
214
|
+
set eventInfo to eventTitle & "|" & (eventStart as string) & "|" & (eventEnd as string) & "|" & eventId & "|" & (isAllDay as string)
|
|
215
|
+
set eventList to eventList & eventInfo & linefeed
|
|
216
|
+
end repeat
|
|
217
|
+
|
|
218
|
+
return eventList`;
|
|
161
219
|
}
|
|
162
220
|
/**
|
|
163
|
-
* Parse
|
|
221
|
+
* Parse EventKit result into events
|
|
222
|
+
* Format: title|start|end|id|isAllDay
|
|
164
223
|
*/
|
|
165
|
-
|
|
224
|
+
parseEventKitResult(output) {
|
|
166
225
|
if (!output || output.trim() === '') {
|
|
167
226
|
return [];
|
|
168
227
|
}
|
|
@@ -176,8 +235,8 @@ end tell`;
|
|
|
176
235
|
title: parts[0],
|
|
177
236
|
start: parts[1],
|
|
178
237
|
end: parts[2],
|
|
179
|
-
isAllDay: false,
|
|
180
|
-
source: '
|
|
238
|
+
isAllDay: parts.length >= 5 ? parts[4].toLowerCase() === 'true' : false,
|
|
239
|
+
source: 'eventkit',
|
|
181
240
|
});
|
|
182
241
|
}
|
|
183
242
|
}
|
|
@@ -225,7 +284,7 @@ end tell`;
|
|
|
225
284
|
reason: `${Math.floor(gapMinutes)}分の空き時間`,
|
|
226
285
|
conflicts: [],
|
|
227
286
|
dayType: 'normal',
|
|
228
|
-
source: '
|
|
287
|
+
source: 'eventkit',
|
|
229
288
|
});
|
|
230
289
|
}
|
|
231
290
|
currentTime = event.end > currentTime ? event.end : currentTime;
|
|
@@ -241,7 +300,7 @@ end tell`;
|
|
|
241
300
|
reason: `${Math.floor(remainingMinutes)}分の空き時間`,
|
|
242
301
|
conflicts: [],
|
|
243
302
|
dayType: 'normal',
|
|
244
|
-
source: '
|
|
303
|
+
source: 'eventkit',
|
|
245
304
|
});
|
|
246
305
|
}
|
|
247
306
|
return slots;
|
|
@@ -291,5 +350,228 @@ end tell`;
|
|
|
291
350
|
|
|
292
351
|
これにより、空き時間を計算して最適なタスク実行時間を提案します。`;
|
|
293
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* List calendar events for a specified period
|
|
355
|
+
* Requirement: 16.1
|
|
356
|
+
*/
|
|
357
|
+
async listEvents(request) {
|
|
358
|
+
// Validate date format (ISO 8601)
|
|
359
|
+
if (!this.isValidDateFormat(request.startDate)) {
|
|
360
|
+
throw new Error(`無効な日付形式です: ${request.startDate}。ISO 8601形式(例: 2025-01-15)を使用してください。`);
|
|
361
|
+
}
|
|
362
|
+
if (!this.isValidDateFormat(request.endDate)) {
|
|
363
|
+
throw new Error(`無効な日付形式です: ${request.endDate}。ISO 8601形式(例: 2025-01-15)を使用してください。`);
|
|
364
|
+
}
|
|
365
|
+
// Validate date range
|
|
366
|
+
const startDate = new Date(request.startDate);
|
|
367
|
+
const endDate = new Date(request.endDate);
|
|
368
|
+
if (endDate < startDate) {
|
|
369
|
+
throw new Error('終了日は開始日より後である必要があります。');
|
|
370
|
+
}
|
|
371
|
+
// Check calendar availability
|
|
372
|
+
const isAvailable = await this.isAvailable();
|
|
373
|
+
if (!isAvailable) {
|
|
374
|
+
throw new Error('カレンダー統合がこのプラットフォームで利用できません。macOSで実行してください。');
|
|
375
|
+
}
|
|
376
|
+
// Fetch events with detailed information
|
|
377
|
+
const events = await this.fetchEventsDetailed(request.startDate, request.endDate);
|
|
378
|
+
// Filter by calendar name if specified
|
|
379
|
+
let filteredEvents = events;
|
|
380
|
+
if (request.calendarName) {
|
|
381
|
+
filteredEvents = events.filter(e => e.calendar === request.calendarName);
|
|
382
|
+
}
|
|
383
|
+
return {
|
|
384
|
+
events: filteredEvents,
|
|
385
|
+
period: {
|
|
386
|
+
start: request.startDate,
|
|
387
|
+
end: request.endDate,
|
|
388
|
+
},
|
|
389
|
+
totalEvents: filteredEvents.length,
|
|
390
|
+
};
|
|
391
|
+
}
|
|
392
|
+
/**
|
|
393
|
+
* Validate ISO 8601 date format (YYYY-MM-DD)
|
|
394
|
+
*/
|
|
395
|
+
isValidDateFormat(dateStr) {
|
|
396
|
+
const dateRegex = /^\d{4}-\d{2}-\d{2}$/;
|
|
397
|
+
if (!dateRegex.test(dateStr)) {
|
|
398
|
+
return false;
|
|
399
|
+
}
|
|
400
|
+
const date = new Date(dateStr);
|
|
401
|
+
return !isNaN(date.getTime());
|
|
402
|
+
}
|
|
403
|
+
/**
|
|
404
|
+
* Fetch events with detailed information (calendar, location)
|
|
405
|
+
* Requirement: 16.10, 16.11
|
|
406
|
+
*/
|
|
407
|
+
async fetchEventsDetailed(startDate, endDate) {
|
|
408
|
+
const platform = await this.detectPlatform();
|
|
409
|
+
switch (platform.recommendedMethod) {
|
|
410
|
+
case 'eventkit':
|
|
411
|
+
return this.fetchEventKitEventsDetailed(startDate, endDate);
|
|
412
|
+
case 'native':
|
|
413
|
+
case 'manual_input':
|
|
414
|
+
default:
|
|
415
|
+
return [];
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Fetch events via EventKit with detailed information
|
|
420
|
+
* Requirement: 16.10, 16.11
|
|
421
|
+
*/
|
|
422
|
+
async fetchEventKitEventsDetailed(startDate, endDate) {
|
|
423
|
+
try {
|
|
424
|
+
// Lazy load run-applescript
|
|
425
|
+
if (!this.runAppleScript) {
|
|
426
|
+
const module = await import('run-applescript');
|
|
427
|
+
this.runAppleScript = module.runAppleScript;
|
|
428
|
+
}
|
|
429
|
+
const script = this.buildEventKitScriptWithDetails(startDate, endDate);
|
|
430
|
+
// Use retry with exponential backoff for EventKit execution
|
|
431
|
+
const result = await retryWithBackoff(async () => {
|
|
432
|
+
return await this.runAppleScript(script);
|
|
433
|
+
}, {
|
|
434
|
+
...RETRY_OPTIONS,
|
|
435
|
+
onRetry: (error, attempt) => {
|
|
436
|
+
console.error(`EventKit Calendar retry attempt ${attempt}: ${error.message}`);
|
|
437
|
+
},
|
|
438
|
+
});
|
|
439
|
+
return this.parseEventKitResultWithDetails(result);
|
|
440
|
+
}
|
|
441
|
+
catch (error) {
|
|
442
|
+
console.error('EventKit カレンダーエラー:', error);
|
|
443
|
+
throw new Error(`カレンダーイベントの取得に失敗しました: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
444
|
+
}
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Build AppleScriptObjC script for fetching events with details
|
|
448
|
+
* Includes calendar name and location
|
|
449
|
+
* Requirement: 16.10
|
|
450
|
+
*/
|
|
451
|
+
buildEventKitScriptWithDetails(startDate, endDate) {
|
|
452
|
+
const start = this.parseDateComponents(startDate);
|
|
453
|
+
const end = this.parseDateComponents(endDate);
|
|
454
|
+
return `
|
|
455
|
+
use AppleScript version "2.7"
|
|
456
|
+
use framework "Foundation"
|
|
457
|
+
use framework "EventKit"
|
|
458
|
+
use scripting additions
|
|
459
|
+
|
|
460
|
+
-- Build start date
|
|
461
|
+
set startDate to current date
|
|
462
|
+
set year of startDate to ${start.year}
|
|
463
|
+
set month of startDate to ${start.month}
|
|
464
|
+
set day of startDate to ${start.day}
|
|
465
|
+
set hours of startDate to 0
|
|
466
|
+
set minutes of startDate to 0
|
|
467
|
+
set seconds of startDate to 0
|
|
468
|
+
|
|
469
|
+
-- Build end date (end of day)
|
|
470
|
+
set endDate to current date
|
|
471
|
+
set year of endDate to ${end.year}
|
|
472
|
+
set month of endDate to ${end.month}
|
|
473
|
+
set day of endDate to ${end.day}
|
|
474
|
+
set hours of endDate to 23
|
|
475
|
+
set minutes of endDate to 59
|
|
476
|
+
set seconds of endDate to 59
|
|
477
|
+
|
|
478
|
+
-- Create EventKit store
|
|
479
|
+
set theStore to current application's EKEventStore's alloc()'s init()
|
|
480
|
+
|
|
481
|
+
-- Request calendar access (synchronously wait for completion)
|
|
482
|
+
set accessGranted to false
|
|
483
|
+
theStore's requestFullAccessToEventsWithCompletion:(missing value)
|
|
484
|
+
delay 0.5
|
|
485
|
+
|
|
486
|
+
-- Convert AppleScript dates to NSDate
|
|
487
|
+
set startNSDate to current application's NSDate's dateWithTimeIntervalSince1970:((startDate - (date "Thursday, January 1, 1970 at 9:00:00")) / 1)
|
|
488
|
+
set endNSDate to current application's NSDate's dateWithTimeIntervalSince1970:((endDate - (date "Thursday, January 1, 1970 at 9:00:00")) / 1)
|
|
489
|
+
|
|
490
|
+
-- Create predicate for events in date range (all calendars)
|
|
491
|
+
set thePredicate to theStore's predicateForEventsWithStartDate:startNSDate endDate:endNSDate calendars:(missing value)
|
|
492
|
+
|
|
493
|
+
-- Fetch events (EventKit automatically expands recurring events into occurrences)
|
|
494
|
+
set theEvents to theStore's eventsMatchingPredicate:thePredicate
|
|
495
|
+
|
|
496
|
+
-- Build result string with calendar and location
|
|
497
|
+
set eventList to ""
|
|
498
|
+
repeat with anEvent in theEvents
|
|
499
|
+
set eventTitle to (anEvent's title()) as text
|
|
500
|
+
set eventStart to (anEvent's startDate()) as date
|
|
501
|
+
set eventEnd to (anEvent's endDate()) as date
|
|
502
|
+
set eventId to (anEvent's eventIdentifier()) as text
|
|
503
|
+
set isAllDay to (anEvent's isAllDay()) as boolean
|
|
504
|
+
|
|
505
|
+
-- Get calendar name
|
|
506
|
+
set eventCalendar to (anEvent's calendar()'s title()) as text
|
|
507
|
+
|
|
508
|
+
-- Get location (may be missing value)
|
|
509
|
+
set eventLocation to ""
|
|
510
|
+
try
|
|
511
|
+
set locationValue to anEvent's location()
|
|
512
|
+
if locationValue is not missing value then
|
|
513
|
+
set eventLocation to locationValue as text
|
|
514
|
+
end if
|
|
515
|
+
end try
|
|
516
|
+
|
|
517
|
+
set eventInfo to eventTitle & "|" & (eventStart as string) & "|" & (eventEnd as string) & "|" & eventId & "|" & (isAllDay as string) & "|" & eventCalendar & "|" & eventLocation
|
|
518
|
+
set eventList to eventList & eventInfo & linefeed
|
|
519
|
+
end repeat
|
|
520
|
+
|
|
521
|
+
return eventList`;
|
|
522
|
+
}
|
|
523
|
+
/**
|
|
524
|
+
* Parse EventKit result with detailed information
|
|
525
|
+
* Format: title|start|end|id|isAllDay|calendar|location
|
|
526
|
+
* Requirement: 16.10
|
|
527
|
+
*/
|
|
528
|
+
parseEventKitResultWithDetails(output) {
|
|
529
|
+
if (!output || output.trim() === '') {
|
|
530
|
+
return [];
|
|
531
|
+
}
|
|
532
|
+
const events = [];
|
|
533
|
+
const lines = output.trim().split('\n');
|
|
534
|
+
for (const line of lines) {
|
|
535
|
+
const parts = line.split('|');
|
|
536
|
+
if (parts.length >= 6) {
|
|
537
|
+
const location = parts.length >= 7 && parts[6].trim() !== '' ? parts[6] : undefined;
|
|
538
|
+
events.push({
|
|
539
|
+
id: parts[3],
|
|
540
|
+
title: parts[0],
|
|
541
|
+
start: this.formatDateToJST(parts[1]),
|
|
542
|
+
end: this.formatDateToJST(parts[2]),
|
|
543
|
+
isAllDay: parts[4].toLowerCase() === 'true',
|
|
544
|
+
source: 'eventkit',
|
|
545
|
+
calendar: parts[5],
|
|
546
|
+
location,
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
return events;
|
|
551
|
+
}
|
|
552
|
+
/**
|
|
553
|
+
* Format AppleScript date string to JST ISO 8601 format
|
|
554
|
+
* Requirement: 16.9
|
|
555
|
+
*/
|
|
556
|
+
formatDateToJST(appleScriptDate) {
|
|
557
|
+
try {
|
|
558
|
+
// Parse AppleScript date format and convert to JST ISO 8601
|
|
559
|
+
const date = new Date(appleScriptDate);
|
|
560
|
+
if (isNaN(date.getTime())) {
|
|
561
|
+
return appleScriptDate; // Return as-is if parsing fails
|
|
562
|
+
}
|
|
563
|
+
// Format with JST offset (+09:00)
|
|
564
|
+
const year = date.getFullYear();
|
|
565
|
+
const month = String(date.getMonth() + 1).padStart(2, '0');
|
|
566
|
+
const day = String(date.getDate()).padStart(2, '0');
|
|
567
|
+
const hours = String(date.getHours()).padStart(2, '0');
|
|
568
|
+
const minutes = String(date.getMinutes()).padStart(2, '0');
|
|
569
|
+
const seconds = String(date.getSeconds()).padStart(2, '0');
|
|
570
|
+
return `${year}-${month}-${day}T${hours}:${minutes}:${seconds}+09:00`;
|
|
571
|
+
}
|
|
572
|
+
catch {
|
|
573
|
+
return appleScriptDate;
|
|
574
|
+
}
|
|
575
|
+
}
|
|
294
576
|
}
|
|
295
577
|
//# sourceMappingURL=calendar-service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"calendar-service.js","sourceRoot":"","sources":["../../src/integrations/calendar-service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"calendar-service.js","sourceRoot":"","sources":["../../src/integrations/calendar-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OAuth Client Store
|
|
3
|
+
* Requirements: 24.1-24.8
|
|
4
|
+
*
|
|
5
|
+
* Manages OAuth client registration and storage for Dynamic Client Registration (RFC 7591).
|
|
6
|
+
*/
|
|
7
|
+
import { OAuthClient, ClientRegistrationRequest } from './types.js';
|
|
8
|
+
/**
|
|
9
|
+
* Client Store Configuration
|
|
10
|
+
*/
|
|
11
|
+
export interface ClientStoreConfig {
|
|
12
|
+
allowedRedirectUris: string[];
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Client Registration Result
|
|
16
|
+
*/
|
|
17
|
+
export interface ClientRegistrationResult {
|
|
18
|
+
success: boolean;
|
|
19
|
+
client?: OAuthClient;
|
|
20
|
+
error?: string;
|
|
21
|
+
errorDescription?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Client Store Interface
|
|
25
|
+
*/
|
|
26
|
+
export interface ClientStore {
|
|
27
|
+
registerClient(request: ClientRegistrationRequest): Promise<ClientRegistrationResult>;
|
|
28
|
+
getClient(clientId: string): Promise<OAuthClient | null>;
|
|
29
|
+
deleteClient(clientId: string): Promise<boolean>;
|
|
30
|
+
isValidRedirectUri(clientId: string, redirectUri: string): Promise<boolean>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Create a Client Store instance
|
|
34
|
+
*/
|
|
35
|
+
export declare function createClientStore(config: ClientStoreConfig): ClientStore;
|
|
36
|
+
//# sourceMappingURL=client-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client-store.d.ts","sourceRoot":"","sources":["../../src/oauth/client-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,WAAW,EACX,yBAAyB,EAE1B,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mBAAmB,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,cAAc,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACtF,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACzD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACjD,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC7E;AA8GD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,WAAW,CAExE"}
|