@shin1ohno/sage 0.8.8 → 0.9.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.
Files changed (110) hide show
  1. package/README.md +31 -0
  2. package/dist/cli/http-server-with-config.d.ts +2 -0
  3. package/dist/cli/http-server-with-config.d.ts.map +1 -1
  4. package/dist/cli/http-server-with-config.js +71 -0
  5. package/dist/cli/http-server-with-config.js.map +1 -1
  6. package/dist/cli/main-entry.d.ts.map +1 -1
  7. package/dist/cli/main-entry.js +1 -0
  8. package/dist/cli/main-entry.js.map +1 -1
  9. package/dist/cli/parser.d.ts +2 -0
  10. package/dist/cli/parser.d.ts.map +1 -1
  11. package/dist/cli/parser.js +7 -0
  12. package/dist/cli/parser.js.map +1 -1
  13. package/dist/config/validation.d.ts +721 -0
  14. package/dist/config/validation.d.ts.map +1 -1
  15. package/dist/config/validation.js +203 -0
  16. package/dist/config/validation.js.map +1 -1
  17. package/dist/index.js +11 -10
  18. package/dist/index.js.map +1 -1
  19. package/dist/integrations/apple-reminders.d.ts.map +1 -1
  20. package/dist/integrations/apple-reminders.js +6 -5
  21. package/dist/integrations/apple-reminders.js.map +1 -1
  22. package/dist/integrations/calendar-event-creator.d.ts.map +1 -1
  23. package/dist/integrations/calendar-event-creator.js +2 -1
  24. package/dist/integrations/calendar-event-creator.js.map +1 -1
  25. package/dist/integrations/calendar-event-deleter.d.ts.map +1 -1
  26. package/dist/integrations/calendar-event-deleter.js +2 -1
  27. package/dist/integrations/calendar-event-deleter.js.map +1 -1
  28. package/dist/integrations/calendar-event-response.d.ts.map +1 -1
  29. package/dist/integrations/calendar-event-response.js +4 -3
  30. package/dist/integrations/calendar-event-response.js.map +1 -1
  31. package/dist/integrations/calendar-service.d.ts +14 -0
  32. package/dist/integrations/calendar-service.d.ts.map +1 -1
  33. package/dist/integrations/calendar-service.js +6 -5
  34. package/dist/integrations/calendar-service.js.map +1 -1
  35. package/dist/integrations/calendar-source-manager.d.ts +86 -3
  36. package/dist/integrations/calendar-source-manager.d.ts.map +1 -1
  37. package/dist/integrations/calendar-source-manager.js +152 -20
  38. package/dist/integrations/calendar-source-manager.js.map +1 -1
  39. package/dist/integrations/google-calendar-service.d.ts +55 -3
  40. package/dist/integrations/google-calendar-service.d.ts.map +1 -1
  41. package/dist/integrations/google-calendar-service.js +215 -5
  42. package/dist/integrations/google-calendar-service.js.map +1 -1
  43. package/dist/integrations/notion-mcp.d.ts.map +1 -1
  44. package/dist/integrations/notion-mcp.js +5 -4
  45. package/dist/integrations/notion-mcp.js.map +1 -1
  46. package/dist/integrations/todo-list-manager.d.ts.map +1 -1
  47. package/dist/integrations/todo-list-manager.js +3 -2
  48. package/dist/integrations/todo-list-manager.js.map +1 -1
  49. package/dist/oauth/encryption-service.d.ts +104 -0
  50. package/dist/oauth/encryption-service.d.ts.map +1 -0
  51. package/dist/oauth/encryption-service.js +271 -0
  52. package/dist/oauth/encryption-service.js.map +1 -0
  53. package/dist/oauth/file-mutex.d.ts +68 -0
  54. package/dist/oauth/file-mutex.d.ts.map +1 -0
  55. package/dist/oauth/file-mutex.js +141 -0
  56. package/dist/oauth/file-mutex.js.map +1 -0
  57. package/dist/oauth/google-oauth-handler.d.ts +8 -9
  58. package/dist/oauth/google-oauth-handler.d.ts.map +1 -1
  59. package/dist/oauth/google-oauth-handler.js +30 -65
  60. package/dist/oauth/google-oauth-handler.js.map +1 -1
  61. package/dist/oauth/index.d.ts +1 -0
  62. package/dist/oauth/index.d.ts.map +1 -1
  63. package/dist/oauth/index.js +2 -0
  64. package/dist/oauth/index.js.map +1 -1
  65. package/dist/oauth/oauth-server.d.ts +61 -1
  66. package/dist/oauth/oauth-server.d.ts.map +1 -1
  67. package/dist/oauth/oauth-server.js +177 -40
  68. package/dist/oauth/oauth-server.js.map +1 -1
  69. package/dist/oauth/persistent-client-store.d.ts +58 -0
  70. package/dist/oauth/persistent-client-store.d.ts.map +1 -0
  71. package/dist/oauth/persistent-client-store.js +188 -0
  72. package/dist/oauth/persistent-client-store.js.map +1 -0
  73. package/dist/oauth/persistent-refresh-token-store.d.ts +77 -0
  74. package/dist/oauth/persistent-refresh-token-store.d.ts.map +1 -0
  75. package/dist/oauth/persistent-refresh-token-store.js +226 -0
  76. package/dist/oauth/persistent-refresh-token-store.js.map +1 -0
  77. package/dist/oauth/persistent-session-store.d.ts +69 -0
  78. package/dist/oauth/persistent-session-store.d.ts.map +1 -0
  79. package/dist/oauth/persistent-session-store.js +155 -0
  80. package/dist/oauth/persistent-session-store.js.map +1 -0
  81. package/dist/oauth/session-store.d.ts +31 -0
  82. package/dist/oauth/session-store.d.ts.map +1 -0
  83. package/dist/oauth/session-store.js +47 -0
  84. package/dist/oauth/session-store.js.map +1 -0
  85. package/dist/remote/cloud-config.d.ts.map +1 -1
  86. package/dist/remote/cloud-config.js +2 -1
  87. package/dist/remote/cloud-config.js.map +1 -1
  88. package/dist/services/container.d.ts.map +1 -1
  89. package/dist/services/container.js +3 -2
  90. package/dist/services/container.js.map +1 -1
  91. package/dist/services/working-cadence.d.ts +37 -1
  92. package/dist/services/working-cadence.d.ts.map +1 -1
  93. package/dist/services/working-cadence.js +152 -13
  94. package/dist/services/working-cadence.js.map +1 -1
  95. package/dist/tools/calendar/handlers.d.ts +82 -3
  96. package/dist/tools/calendar/handlers.d.ts.map +1 -1
  97. package/dist/tools/calendar/handlers.js +200 -16
  98. package/dist/tools/calendar/handlers.js.map +1 -1
  99. package/dist/types/google-calendar-types.d.ts +150 -3
  100. package/dist/types/google-calendar-types.d.ts.map +1 -1
  101. package/dist/types/google-calendar-types.js +79 -2
  102. package/dist/types/google-calendar-types.js.map +1 -1
  103. package/dist/types/task.d.ts +14 -0
  104. package/dist/types/task.d.ts.map +1 -1
  105. package/dist/utils/logger.d.ts +28 -0
  106. package/dist/utils/logger.d.ts.map +1 -0
  107. package/dist/utils/logger.js +61 -0
  108. package/dist/utils/logger.js.map +1 -0
  109. package/dist/version.js +1 -1
  110. package/package.json +4 -1
@@ -1 +1 @@
1
- {"version":3,"file":"cloud-config.js","sourceRoot":"","sources":["../../src/remote/cloud-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cloud-config.js","sourceRoot":"","sources":["../../src/remote/cloud-config.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,WAAW,EAAE,MAAM,CAAC,GACnB,MAAM,CAAC,GAAG,IAAI,CAgBhB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,GACrC,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,GAAG,IAAI,CAiBlC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAE3D"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAGpD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,cAAc,GAAG,OAAO,GAAG,OAAO,CAAC;AAEjF;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,aAAa,CAAC;IACtB,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,WAAW,EAAE,MAAM,CAAC,GACnB,MAAM,CAAC,GAAG,IAAI,CAgBhB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,EACvC,WAAW,EAAE,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,GACrC,CAAC,MAAM,EAAE,UAAU,KAAK,CAAC,GAAG,IAAI,CAiBlC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,IAAI,CAE3D"}
@@ -4,6 +4,7 @@
4
4
  * Manages service lifecycle and provides type-safe access to services.
5
5
  * Services are lazily initialized on first access after config is loaded.
6
6
  */
7
+ import { servicesLogger } from '../utils/logger.js';
7
8
  /**
8
9
  * Creates a service getter that lazily initializes the service
9
10
  *
@@ -25,7 +26,7 @@ export function createLazyService(initializer) {
25
26
  initialized = true;
26
27
  }
27
28
  catch (error) {
28
- console.error('Failed to initialize service:', error);
29
+ servicesLogger.error({ err: error }, 'Failed to initialize service');
29
30
  return null;
30
31
  }
31
32
  }
@@ -56,7 +57,7 @@ export function createConfiguredService(initializer) {
56
57
  initializedWithConfig = config;
57
58
  }
58
59
  catch (error) {
59
- console.error('Failed to initialize configured service:', error);
60
+ servicesLogger.error({ err: error }, 'Failed to initialize configured service');
60
61
  return null;
61
62
  }
62
63
  }
@@ -1 +1 @@
1
- {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAoBH;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAoB;IAEpB,IAAI,QAAQ,GAAa,IAAI,CAAC;IAC9B,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,OAAO,GAAG,EAAE;QACV,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,QAAQ,GAAG,WAAW,EAAE,CAAC;gBACzB,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;gBACtD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAsC;IAEtC,IAAI,QAAQ,GAAa,IAAI,CAAC;IAC9B,IAAI,qBAAqB,GAAsB,IAAI,CAAC;IAEpD,OAAO,CAAC,MAAkB,EAAE,EAAE;QAC5B,kCAAkC;QAClC,IAAI,CAAC,QAAQ,IAAI,qBAAqB,KAAK,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/B,qBAAqB,GAAG,MAAM,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,0CAA0C,EAAE,KAAK,CAAC,CAAC;gBACjE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAoB;IACnD,QAAQ,EAAE,CAAC;AACb,CAAC"}
1
+ {"version":3,"file":"container.js","sourceRoot":"","sources":["../../src/services/container.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAkBpD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAoB;IAEpB,IAAI,QAAQ,GAAa,IAAI,CAAC;IAC9B,IAAI,WAAW,GAAG,KAAK,CAAC;IAExB,OAAO,GAAG,EAAE;QACV,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC;gBACH,QAAQ,GAAG,WAAW,EAAE,CAAC;gBACzB,WAAW,GAAG,IAAI,CAAC;YACrB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,8BAA8B,CAAC,CAAC;gBACrE,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,uBAAuB,CACrC,WAAsC;IAEtC,IAAI,QAAQ,GAAa,IAAI,CAAC;IAC9B,IAAI,qBAAqB,GAAsB,IAAI,CAAC;IAEpD,OAAO,CAAC,MAAkB,EAAE,EAAE;QAC5B,kCAAkC;QAClC,IAAI,CAAC,QAAQ,IAAI,qBAAqB,KAAK,MAAM,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;gBAC/B,qBAAqB,GAAG,MAAM,CAAC;YACjC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,yCAAyC,CAAC,CAAC;gBAChF,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,QAAoB;IACnD,QAAQ,EAAE,CAAC;AACb,CAAC"}
@@ -8,6 +8,7 @@
8
8
  * - Scheduling recommendations
9
9
  */
10
10
  import type { CalendarConfig, DeepWorkBlock } from '../types/config.js';
11
+ import type { CalendarSourceManager } from '../integrations/calendar-source-manager.js';
11
12
  export interface GetWorkingCadenceRequest {
12
13
  /** Get info for a specific day of week */
13
14
  dayOfWeek?: 'Monday' | 'Tuesday' | 'Wednesday' | 'Thursday' | 'Friday' | 'Saturday' | 'Sunday';
@@ -55,6 +56,18 @@ export interface WorkingCadenceResult {
55
56
  recommendations: SchedulingRecommendation[];
56
57
  /** Generated summary message */
57
58
  summary: string;
59
+ /** Focus time statistics from calendar events (optional) */
60
+ focusTimeStats?: {
61
+ /** Total focus time blocks by day of week */
62
+ focusTimeBlocks: Array<{
63
+ day: string;
64
+ duration: number;
65
+ }>;
66
+ /** Days detected as deep work from focusTime events (>=4h) */
67
+ detectedDeepWorkDays: string[];
68
+ /** Whether deep work days were enhanced by focusTime analysis */
69
+ enhanced: boolean;
70
+ };
58
71
  }
59
72
  export interface DeepWorkBlockInfo {
60
73
  day: string;
@@ -73,6 +86,12 @@ export interface SchedulingRecommendation {
73
86
  reason: string;
74
87
  }
75
88
  export declare class WorkingCadenceService {
89
+ private calendarSourceManager?;
90
+ /**
91
+ * Constructor
92
+ * @param calendarSourceManager Optional CalendarSourceManager for focusTime analysis
93
+ */
94
+ constructor(calendarSourceManager?: CalendarSourceManager);
76
95
  /**
77
96
  * Get working cadence information
78
97
  */
@@ -87,8 +106,10 @@ export declare class WorkingCadenceService {
87
106
  getDayOfWeek(date: string): string;
88
107
  /**
89
108
  * Generate scheduling recommendations based on calendar config
109
+ * @param config Calendar configuration
110
+ * @param focusTimeStats Optional focus time statistics for enhanced recommendations
90
111
  */
91
- generateRecommendations(config: CalendarConfig): SchedulingRecommendation[];
112
+ generateRecommendations(config: CalendarConfig, focusTimeStats?: WorkingCadenceResult['focusTimeStats']): SchedulingRecommendation[];
92
113
  /**
93
114
  * Calculate working hours info from config
94
115
  */
@@ -115,5 +136,20 @@ export declare class WorkingCadenceService {
115
136
  private formatHour;
116
137
  private isValidDate;
117
138
  private errorResult;
139
+ /**
140
+ * Analyze focus time events from calendar
141
+ * Filters events with eventType='focusTime' and calculates total focus time per day
142
+ * @param events Calendar events to analyze
143
+ * @returns Object containing focus time blocks with day and duration
144
+ */
145
+ private analyzeFocusTimeEvents;
146
+ /**
147
+ * Enhance deep work detection by combining config settings with focus time analysis
148
+ * Days with >=4h (240 minutes) of focusTime events are considered deep work days
149
+ * @param configDeepWorkDays Deep work days from configuration
150
+ * @param focusTimeBlocks Focus time blocks from calendar analysis
151
+ * @returns Combined list of deep work days (unique values)
152
+ */
153
+ private enhanceDeepWorkDetection;
118
154
  }
119
155
  //# sourceMappingURL=working-cadence.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"working-cadence.d.ts","sourceRoot":"","sources":["../../src/services/working-cadence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"working-cadence.d.ts","sourceRoot":"","sources":["../../src/services/working-cadence.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@
8
8
  * - Scheduling recommendations
9
9
  */
10
10
  import { ConfigLoader } from '../config/loader.js';
11
+ import { servicesLogger } from '../utils/logger.js';
11
12
  const VALID_DAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
12
13
  const ALL_DAYS = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday'];
13
14
  const DAY_MAP = {
@@ -20,6 +21,14 @@ const DAY_MAP = {
20
21
  Sunday: '日',
21
22
  };
22
23
  export class WorkingCadenceService {
24
+ calendarSourceManager;
25
+ /**
26
+ * Constructor
27
+ * @param calendarSourceManager Optional CalendarSourceManager for focusTime analysis
28
+ */
29
+ constructor(calendarSourceManager) {
30
+ this.calendarSourceManager = calendarSourceManager;
31
+ }
23
32
  /**
24
33
  * Get working cadence information
25
34
  */
@@ -46,20 +55,56 @@ export class WorkingCadenceService {
46
55
  }
47
56
  // Calculate working hours
48
57
  const workingHours = this.calculateWorkingHours(config.calendar.workingHours);
49
- // Build weekly pattern
50
- const weeklyPattern = this.buildWeeklyPattern(config.calendar);
58
+ // Load calendar events and analyze focusTime (if CalendarSourceManager is available)
59
+ let focusTimeStats;
60
+ let enhancedDeepWorkDays = config.calendar.deepWorkDays;
61
+ if (this.calendarSourceManager) {
62
+ try {
63
+ // Get events from the past 4 weeks for better weekly pattern analysis
64
+ const now = new Date();
65
+ const startDate = new Date(now);
66
+ startDate.setDate(startDate.getDate() - 28);
67
+ const endDate = new Date(now);
68
+ endDate.setDate(endDate.getDate() + 7); // Include next week for upcoming focusTime
69
+ const events = await this.calendarSourceManager.getEvents(startDate.toISOString(), endDate.toISOString());
70
+ // Analyze focusTime events
71
+ const { focusTimeBlocks } = this.analyzeFocusTimeEvents(events);
72
+ // Enhance deep work detection with focusTime analysis
73
+ const detectedDeepWorkDays = focusTimeBlocks
74
+ .filter((block) => block.duration >= 240) // >=4 hours
75
+ .map((block) => block.day);
76
+ enhancedDeepWorkDays = this.enhanceDeepWorkDetection(config.calendar.deepWorkDays, focusTimeBlocks);
77
+ // Check if any new days were detected from focusTime
78
+ const enhanced = detectedDeepWorkDays.some((day) => !config.calendar.deepWorkDays.includes(day));
79
+ focusTimeStats = {
80
+ focusTimeBlocks,
81
+ detectedDeepWorkDays,
82
+ enhanced,
83
+ };
84
+ }
85
+ catch (error) {
86
+ // If calendar loading fails, continue without focusTime analysis
87
+ servicesLogger.error({ err: error }, 'Failed to load calendar events for focusTime analysis');
88
+ }
89
+ }
90
+ // Build weekly pattern with enhanced deep work days
91
+ const enhancedCalendarConfig = {
92
+ ...config.calendar,
93
+ deepWorkDays: enhancedDeepWorkDays,
94
+ };
95
+ const weeklyPattern = this.buildWeeklyPattern(enhancedCalendarConfig);
51
96
  // Transform deep work blocks
52
97
  const deepWorkBlocks = this.transformDeepWorkBlocks(config.calendar.deepWorkBlocks);
53
- // Generate recommendations
54
- const recommendations = this.generateRecommendations(config.calendar);
55
- // Build specific day info if requested
98
+ // Generate recommendations (with enhanced config for focusTime-aware recommendations)
99
+ const recommendations = this.generateRecommendations(enhancedCalendarConfig, focusTimeStats);
100
+ // Build specific day info if requested (using enhanced deep work days)
56
101
  let specificDay;
57
102
  if (request?.dayOfWeek || request?.date) {
58
103
  const dayOfWeek = request.dayOfWeek || this.getDayOfWeek(request.date);
59
- specificDay = this.buildSpecificDayInfo(dayOfWeek, request.date, config.calendar, deepWorkBlocks);
104
+ specificDay = this.buildSpecificDayInfo(dayOfWeek, request.date, enhancedCalendarConfig, deepWorkBlocks, focusTimeStats);
60
105
  }
61
- // Generate summary
62
- const summary = this.generateSummary(workingHours, weeklyPattern, config.reminders.weeklyReview);
106
+ // Generate summary (with focusTime info if available)
107
+ const summary = this.generateSummary(workingHours, weeklyPattern, config.reminders.weeklyReview, focusTimeStats);
63
108
  return {
64
109
  success: true,
65
110
  user: {
@@ -73,6 +118,7 @@ export class WorkingCadenceService {
73
118
  specificDay,
74
119
  recommendations,
75
120
  summary,
121
+ focusTimeStats,
76
122
  };
77
123
  }
78
124
  /**
@@ -97,15 +143,25 @@ export class WorkingCadenceService {
97
143
  }
98
144
  /**
99
145
  * Generate scheduling recommendations based on calendar config
146
+ * @param config Calendar configuration
147
+ * @param focusTimeStats Optional focus time statistics for enhanced recommendations
100
148
  */
101
- generateRecommendations(config) {
149
+ generateRecommendations(config, focusTimeStats) {
102
150
  const recommendations = [];
103
151
  if (config.deepWorkDays.length > 0) {
152
+ let reason = 'これらの日はDeep Work日として設定されており、集中作業に適しています';
153
+ // Enhance reason if days were detected from focusTime events
154
+ if (focusTimeStats?.enhanced && focusTimeStats.detectedDeepWorkDays.length > 0) {
155
+ const detectedDays = focusTimeStats.detectedDeepWorkDays.filter((day) => !config.deepWorkDays.includes(day));
156
+ if (detectedDays.length > 0) {
157
+ reason += ` (${this.formatDays(detectedDays)}はFocus Timeイベントから検出)`;
158
+ }
159
+ }
104
160
  recommendations.push({
105
161
  type: 'deep-work',
106
162
  recommendation: `複雑なタスクは${this.formatDays(config.deepWorkDays)}にスケジュールしてください`,
107
163
  bestDays: config.deepWorkDays,
108
- reason: 'これらの日はDeep Work日として設定されており、集中作業に適しています',
164
+ reason,
109
165
  });
110
166
  }
111
167
  if (config.meetingHeavyDays.length > 0) {
@@ -125,6 +181,17 @@ export class WorkingCadenceService {
125
181
  reason: 'ミーティング日の合間は短いタスクに適しています',
126
182
  });
127
183
  }
184
+ // Focus time recommendation if focusTime events exist
185
+ if (focusTimeStats && focusTimeStats.focusTimeBlocks.length > 0) {
186
+ const focusTimeDays = focusTimeStats.focusTimeBlocks.map((block) => block.day);
187
+ const uniqueFocusTimeDays = [...new Set(focusTimeDays)];
188
+ recommendations.push({
189
+ type: 'deep-work',
190
+ recommendation: `${this.formatDays(uniqueFocusTimeDays)}には既存のFocus Timeブロックがあります。この時間を活用してください`,
191
+ bestDays: uniqueFocusTimeDays,
192
+ reason: 'カレンダーにFocus Timeイベントが登録されています。集中作業に最適な時間です',
193
+ });
194
+ }
128
195
  return recommendations;
129
196
  }
130
197
  /**
@@ -171,7 +238,7 @@ export class WorkingCadenceService {
171
238
  normalDays,
172
239
  };
173
240
  }
174
- buildSpecificDayInfo(dayOfWeek, date, calendarConfig, allDeepWorkBlocks) {
241
+ buildSpecificDayInfo(dayOfWeek, date, calendarConfig, allDeepWorkBlocks, focusTimeStats) {
175
242
  const dayType = this.getDayType(dayOfWeek, calendarConfig);
176
243
  const dayBlocks = allDeepWorkBlocks.filter((block) => block.day === dayOfWeek);
177
244
  const recommendations = [];
@@ -181,12 +248,32 @@ export class WorkingCadenceService {
181
248
  const times = dayBlocks.map((b) => `${b.startTime}-${b.endTime}`).join(', ');
182
249
  recommendations.push(`Deep Workブロック: ${times}`);
183
250
  }
251
+ // Add focusTime info if detected from calendar events
252
+ if (focusTimeStats?.detectedDeepWorkDays.includes(dayOfWeek)) {
253
+ const focusTimeBlock = focusTimeStats.focusTimeBlocks.find((b) => b.day === dayOfWeek);
254
+ if (focusTimeBlock) {
255
+ const hours = Math.floor(focusTimeBlock.duration / 60);
256
+ const minutes = Math.round(focusTimeBlock.duration % 60);
257
+ const durationStr = minutes > 0 ? `${hours}時間${minutes}分` : `${hours}時間`;
258
+ recommendations.push(`Focus Timeイベント: 合計${durationStr}のFocus Timeが登録されています`);
259
+ }
260
+ }
184
261
  }
185
262
  else if (dayType === 'meeting-heavy') {
186
263
  recommendations.push('この日はミーティングが多い日です。ミーティングの合間に短いタスクを処理してください。');
187
264
  }
188
265
  else {
189
266
  recommendations.push('この日は特別な設定がありません。自由にスケジュールを組めます。');
267
+ // Check if there are focusTime blocks on this day
268
+ if (focusTimeStats) {
269
+ const focusTimeBlock = focusTimeStats.focusTimeBlocks.find((b) => b.day === dayOfWeek);
270
+ if (focusTimeBlock) {
271
+ const hours = Math.floor(focusTimeBlock.duration / 60);
272
+ const minutes = Math.round(focusTimeBlock.duration % 60);
273
+ const durationStr = minutes > 0 ? `${hours}時間${minutes}分` : `${hours}時間`;
274
+ recommendations.push(`Focus Timeイベント: 合計${durationStr}のFocus Timeが登録されています`);
275
+ }
276
+ }
190
277
  }
191
278
  return {
192
279
  date,
@@ -196,11 +283,16 @@ export class WorkingCadenceService {
196
283
  recommendations,
197
284
  };
198
285
  }
199
- generateSummary(workingHours, weeklyPattern, weeklyReview) {
286
+ generateSummary(workingHours, weeklyPattern, weeklyReview, focusTimeStats) {
200
287
  const lines = [];
201
288
  lines.push(`勤務時間: ${workingHours.start}-${workingHours.end} (${Math.floor(workingHours.totalMinutes / 60)}時間)`);
202
289
  if (weeklyPattern.deepWorkDays.length > 0) {
203
- lines.push(`Deep Work日: ${this.formatDays(weeklyPattern.deepWorkDays)}`);
290
+ let deepWorkLine = `Deep Work日: ${this.formatDays(weeklyPattern.deepWorkDays)}`;
291
+ // Add indicator if days were enhanced by focusTime analysis
292
+ if (focusTimeStats?.enhanced) {
293
+ deepWorkLine += ' (Focus Time分析により強化)';
294
+ }
295
+ lines.push(deepWorkLine);
204
296
  }
205
297
  if (weeklyPattern.meetingHeavyDays.length > 0) {
206
298
  lines.push(`ミーティング集中日: ${this.formatDays(weeklyPattern.meetingHeavyDays)}`);
@@ -208,6 +300,14 @@ export class WorkingCadenceService {
208
300
  if (weeklyReview?.enabled) {
209
301
  lines.push(`週次レビュー: ${DAY_MAP[weeklyReview.day] || weeklyReview.day}曜 ${weeklyReview.time}`);
210
302
  }
303
+ // Add focusTime summary if available
304
+ if (focusTimeStats && focusTimeStats.focusTimeBlocks.length > 0) {
305
+ const totalFocusMinutes = focusTimeStats.focusTimeBlocks.reduce((sum, block) => sum + block.duration, 0);
306
+ const hours = Math.floor(totalFocusMinutes / 60);
307
+ const minutes = Math.round(totalFocusMinutes % 60);
308
+ const durationStr = minutes > 0 ? `${hours}時間${minutes}分` : `${hours}時間`;
309
+ lines.push(`Focus Time: 週合計${durationStr}`);
310
+ }
211
311
  return lines.join('\n');
212
312
  }
213
313
  timeToMinutes(time) {
@@ -233,5 +333,44 @@ export class WorkingCadenceService {
233
333
  summary: '',
234
334
  };
235
335
  }
336
+ /**
337
+ * Analyze focus time events from calendar
338
+ * Filters events with eventType='focusTime' and calculates total focus time per day
339
+ * @param events Calendar events to analyze
340
+ * @returns Object containing focus time blocks with day and duration
341
+ */
342
+ analyzeFocusTimeEvents(events) {
343
+ // Filter events with eventType='focusTime'
344
+ const focusTimeEvents = events.filter((e) => e.eventType === 'focusTime');
345
+ // Calculate total focus time per day
346
+ const focusTimeByDay = new Map();
347
+ for (const event of focusTimeEvents) {
348
+ const day = new Date(event.start).toLocaleDateString('en-US', { weekday: 'long' });
349
+ const duration = (new Date(event.end).getTime() - new Date(event.start).getTime()) / (1000 * 60); // minutes
350
+ focusTimeByDay.set(day, (focusTimeByDay.get(day) || 0) + duration);
351
+ }
352
+ // Return focus time statistics
353
+ const focusTimeBlocks = Array.from(focusTimeByDay.entries()).map(([day, duration]) => ({
354
+ day,
355
+ duration,
356
+ }));
357
+ return { focusTimeBlocks };
358
+ }
359
+ /**
360
+ * Enhance deep work detection by combining config settings with focus time analysis
361
+ * Days with >=4h (240 minutes) of focusTime events are considered deep work days
362
+ * @param configDeepWorkDays Deep work days from configuration
363
+ * @param focusTimeBlocks Focus time blocks from calendar analysis
364
+ * @returns Combined list of deep work days (unique values)
365
+ */
366
+ enhanceDeepWorkDetection(configDeepWorkDays, focusTimeBlocks) {
367
+ // Days with >=4h (240 minutes) of focusTime events are considered deep work days
368
+ const focusTimeDays = focusTimeBlocks
369
+ .filter((block) => block.duration >= 240)
370
+ .map((block) => block.day);
371
+ // Combine config.deepWorkDays with focusTime analysis (remove duplicates)
372
+ const allDeepWorkDays = new Set([...configDeepWorkDays, ...focusTimeDays]);
373
+ return Array.from(allDeepWorkDays);
374
+ }
236
375
  }
237
376
  //# sourceMappingURL=working-cadence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"working-cadence.js","sourceRoot":"","sources":["../../src/services/working-cadence.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAgFnD,MAAM,UAAU,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAClG,MAAM,QAAQ,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAEhG,MAAM,OAAO,GAA2B;IACtC,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;IACZ,SAAS,EAAE,GAAG;IACd,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,GAAG;IACX,QAAQ,EAAE,GAAG;IACb,MAAM,EAAE,GAAG;CACZ,CAAC;AAEF,MAAM,OAAO,qBAAqB;IAChC;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAkC;QACxD,IAAI,MAAkB,CAAC;QAEvB,IAAI,CAAC;YACH,oCAAoC;YACpC,IAAI,OAAO,EAAE,SAAS,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;gBAClE,OAAO,IAAI,CAAC,WAAW,CAAC,kBAAkB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,OAAO,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,OAAO,IAAI,CAAC,WAAW,CAAC,cAAc,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YACxD,CAAC;YAED,8BAA8B;YAC9B,IAAI,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;gBAChC,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,EAAE,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,YAAY,CAAC,gBAAgB,EAAE,CAAC;QAC3C,CAAC;QAED,0BAA0B;QAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE9E,uBAAuB;QACvB,MAAM,aAAa,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAE/D,6BAA6B;QAC7B,MAAM,cAAc,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAEpF,2BAA2B;QAC3B,MAAM,eAAe,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAEtE,uCAAuC;QACvC,IAAI,WAAgD,CAAC;QACrD,IAAI,OAAO,EAAE,SAAS,IAAI,OAAO,EAAE,IAAI,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,IAAK,CAAC,CAAC;YACxE,WAAW,GAAG,IAAI,CAAC,oBAAoB,CACrC,SAAS,EACT,OAAO,CAAC,IAAI,EACZ,MAAM,CAAC,QAAQ,EACf,cAAc,CACf,CAAC;QACJ,CAAC;QAED,mBAAmB;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAClC,YAAY,EACZ,aAAa,EACb,MAAM,CAAC,SAAS,CAAC,YAAY,CAC9B,CAAC;QAEF,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE;gBACJ,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;gBACtB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ;aAC/B;YACD,YAAY;YACZ,aAAa;YACb,cAAc;YACd,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,YAAY;YAC3C,WAAW;YACX,eAAe;YACf,OAAO;SACR,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CACR,SAAiB,EACjB,cAA8B;QAE9B,IAAI,cAAc,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpD,OAAO,WAAW,CAAC;QACrB,CAAC;QACD,IAAI,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxD,OAAO,eAAe,CAAC;QACzB,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,IAAY;QACvB,MAAM,CAAC,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QACzB,MAAM,IAAI,GAAG,CAAC,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC5F,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,MAAsB;QAC5C,MAAM,eAAe,GAA+B,EAAE,CAAC;QAEvD,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACnC,eAAe,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,WAAW;gBACjB,cAAc,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe;gBAC7E,QAAQ,EAAE,MAAM,CAAC,YAAY;gBAC7B,MAAM,EAAE,wCAAwC;aACjD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,eAAe,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,SAAS;gBACf,cAAc,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,gBAAgB;gBAClF,QAAQ,EAAE,MAAM,CAAC,gBAAgB;gBACjC,MAAM,EAAE,4BAA4B;aACrC,CAAC,CAAC;QACL,CAAC;QAED,4BAA4B;QAC5B,IAAI,MAAM,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,eAAe,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,YAAY;gBAClB,cAAc,EAAE,UAAU,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC,kBAAkB;gBACpF,QAAQ,EAAE,MAAM,CAAC,gBAAgB;gBACjC,MAAM,EAAE,yBAAyB;aAClC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,eAAe,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,qBAAqB,CAAC,YAA4C;QAKhE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5D,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC,CAAC;QAE5D,OAAO;YACL,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,GAAG,EAAE,YAAY,CAAC,GAAG;YACrB,YAAY;SACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,uBAAuB,CAAC,MAAuB;QAC7C,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YAC5B,GAAG,EAAE,KAAK,CAAC,GAAG;YACd,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3C,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC;YACvC,eAAe,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;YACvD,WAAW,EAAE,KAAK,CAAC,WAAW;SAC/B,CAAC,CAAC,CAAC;IACN,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAc;QACvB,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QACjC,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpD,CAAC;IAED,yBAAyB;IAEjB,kBAAkB,CAAC,MAAsB;QAK/C,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAChC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC,GAAG,CAAC,CACtF,CAAC;QAEF,OAAO;YACL,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;YACzC,UAAU;SACX,CAAC;IACJ,CAAC;IAEO,oBAAoB,CAC1B,SAAiB,EACjB,IAAwB,EACxB,cAA8B,EAC9B,iBAAsC;QAEtC,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC3D,MAAM,SAAS,GAAG,iBAAiB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC;QAE/E,MAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;YAC5B,eAAe,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC7D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC7E,eAAe,CAAC,IAAI,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;aAAM,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;YACvC,eAAe,CAAC,IAAI,CAClB,4CAA4C,CAC7C,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,eAAe,CAAC,IAAI,CAAC,iCAAiC,CAAC,CAAC;QAC1D,CAAC;QAED,OAAO;YACL,IAAI;YACJ,SAAS;YACT,OAAO;YACP,cAAc,EAAE,SAAS;YACzB,eAAe;SAChB,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,YAAkE,EAClE,aAAqE,EACrE,YAA8D;QAE9D,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,SAAS,YAAY,CAAC,KAAK,IAAI,YAAY,CAAC,GAAG,KAAK,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,YAAY,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;QAEhH,IAAI,aAAa,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,aAAa,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,KAAK,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,IAAI,YAAY,EAAE,OAAO,EAAE,CAAC;YAC1B,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,YAAY,CAAC,GAAG,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/F,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEO,aAAa,CAAC,IAAY;QAChC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACrD,OAAO,KAAK,GAAG,EAAE,GAAG,OAAO,CAAC;IAC9B,CAAC;IAEO,UAAU,CAAC,IAAY;QAC7B,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC;IAClD,CAAC;IAEO,WAAW,CAAC,OAAe;QACjC,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;IAChC,CAAC;IAEO,WAAW,CAAC,KAAa;QAC/B,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK;YACL,IAAI,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE;YAChC,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,YAAY,EAAE,CAAC,EAAE;YACrD,aAAa,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,gBAAgB,EAAE,EAAE,EAAE,UAAU,EAAE,EAAE,EAAE;YACzE,cAAc,EAAE,EAAE;YAClB,eAAe,EAAE,EAAE;YACnB,OAAO,EAAE,EAAE;SACZ,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"working-cadence.js","sourceRoot":"","sources":["../../src/services/working-cadence.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,24 @@ export interface CalendarToolsContext {
24
24
  setWorkingCadenceService: (service: WorkingCadenceService) => void;
25
25
  initializeServices: (config: UserConfig) => void;
26
26
  }
27
+ /**
28
+ * Input for finding available time slots
29
+ *
30
+ * @property durationMinutes - Required duration in minutes
31
+ * @property startDate - Start date for search (ISO 8601 format)
32
+ * @property endDate - End date for search (ISO 8601 format)
33
+ * @property preferDeepWork - Prefer deep work time slots
34
+ * @property minDurationMinutes - Minimum slot duration in minutes
35
+ * @property maxDurationMinutes - Maximum slot duration in minutes
36
+ * @property preferredWorkingLocation - Filter slots by working location preference.
37
+ * Valid values: 'homeOffice', 'officeLocation', 'any' (default: 'any')
38
+ * Requirement: 3.7, 7.5 (google-calendar-event-types spec)
39
+ * @property respectBlockingEventTypes - Whether to respect blocking event types
40
+ * (outOfOffice, focusTime) when calculating availability.
41
+ * When true (default), these event types block the time slot.
42
+ * When false, only 'default' events are considered blocking.
43
+ * Requirement: 7.5 (google-calendar-event-types spec)
44
+ */
27
45
  export interface FindAvailableSlotsInput {
28
46
  durationMinutes: number;
29
47
  startDate?: string;
@@ -31,11 +49,27 @@ export interface FindAvailableSlotsInput {
31
49
  preferDeepWork?: boolean;
32
50
  minDurationMinutes?: number;
33
51
  maxDurationMinutes?: number;
52
+ /** Filter slots by working location preference. Default: 'any' */
53
+ preferredWorkingLocation?: 'homeOffice' | 'officeLocation' | 'any';
54
+ /** Whether to respect blocking event types (outOfOffice, focusTime). Default: true */
55
+ respectBlockingEventTypes?: boolean;
34
56
  }
57
+ /**
58
+ * Input for listing calendar events
59
+ *
60
+ * @property startDate - Start date in ISO 8601 format (e.g., 2025-01-15)
61
+ * @property endDate - End date in ISO 8601 format (e.g., 2025-01-20)
62
+ * @property calendarId - Optional calendar ID to filter events
63
+ * @property eventTypes - Optional array of event type names to filter results.
64
+ * Valid types: 'default', 'outOfOffice', 'focusTime', 'workingLocation', 'birthday', 'fromGmail'
65
+ * When specified, only events matching these types are returned.
66
+ * When omitted, all event types are returned.
67
+ */
35
68
  export interface ListCalendarEventsInput {
36
69
  startDate: string;
37
70
  endDate: string;
38
71
  calendarId?: string;
72
+ eventTypes?: string[];
39
73
  }
40
74
  export interface RespondToCalendarEventInput {
41
75
  eventId: string;
@@ -49,6 +83,32 @@ export interface RespondToCalendarEventsBatchInput {
49
83
  response: 'accept' | 'decline' | 'tentative';
50
84
  comment?: string;
51
85
  }
86
+ /**
87
+ * Input for creating a calendar event
88
+ *
89
+ * @property title - Event title/summary
90
+ * @property startDate - Start date/time in ISO 8601 format (e.g., 2025-01-15T10:00:00+09:00)
91
+ * @property endDate - End date/time in ISO 8601 format (e.g., 2025-01-15T11:00:00+09:00)
92
+ * @property location - Optional event location
93
+ * @property notes - Optional event notes/description
94
+ * @property calendarName - Optional calendar name to create the event in
95
+ * @property alarms - Optional array of alarm settings (e.g., ['-15m', '-1h'])
96
+ * @property preferredSource - Optional preferred calendar source ('eventkit' or 'google')
97
+ * @property eventType - Optional event type. Valid types:
98
+ * 'default' (regular event), 'outOfOffice', 'focusTime', 'workingLocation', 'birthday'.
99
+ * Note: 'fromGmail' cannot be created via API.
100
+ * When omitted, defaults to 'default'.
101
+ * @property autoDeclineMode - For outOfOffice/focusTime events: auto-decline behavior.
102
+ * Valid values: 'declineNone', 'declineAllConflictingInvitations', 'declineOnlyNewConflictingInvitations'
103
+ * @property declineMessage - For outOfOffice/focusTime events: custom decline message
104
+ * @property chatStatus - For focusTime events: chat status during focus time.
105
+ * Valid values: 'available', 'doNotDisturb'
106
+ * @property workingLocationType - For workingLocation events: type of working location.
107
+ * Valid values: 'homeOffice', 'officeLocation', 'customLocation'
108
+ * @property workingLocationLabel - For workingLocation events: optional label for the location
109
+ * @property birthdayType - For birthday events: type of birthday.
110
+ * Valid values: 'birthday', 'anniversary', 'other'
111
+ */
52
112
  export interface CreateCalendarEventInput {
53
113
  title: string;
54
114
  startDate: string;
@@ -58,6 +118,13 @@ export interface CreateCalendarEventInput {
58
118
  calendarName?: string;
59
119
  alarms?: string[];
60
120
  preferredSource?: 'eventkit' | 'google';
121
+ eventType?: string;
122
+ autoDeclineMode?: string;
123
+ declineMessage?: string;
124
+ chatStatus?: string;
125
+ workingLocationType?: string;
126
+ workingLocationLabel?: string;
127
+ birthdayType?: string;
61
128
  }
62
129
  export interface DeleteCalendarEventInput {
63
130
  eventId: string;
@@ -91,7 +158,8 @@ export declare function handleFindAvailableSlots(ctx: CalendarToolsContext, args
91
158
  * list_calendar_events handler
92
159
  *
93
160
  * List calendar events for a specified period.
94
- * Requirement: 16.1-16.12, Task 27
161
+ * Supports filtering by event types (default, outOfOffice, focusTime, workingLocation, birthday, fromGmail).
162
+ * Requirement: 16.1-16.12, Task 27, Task 18 (eventTypes filter)
95
163
  */
96
164
  export declare function handleListCalendarEvents(ctx: CalendarToolsContext, args: ListCalendarEventsInput): Promise<{
97
165
  content: {
@@ -126,8 +194,19 @@ export declare function handleRespondToCalendarEventsBatch(ctx: CalendarToolsCon
126
194
  /**
127
195
  * create_calendar_event handler
128
196
  *
129
- * Create a new calendar event.
130
- * Requirement: 18.1-18.11, Task 29
197
+ * Create a new calendar event with support for Google Calendar event types.
198
+ * Requirement: 18.1-18.11, Task 29, Task 19 (Event Type Support)
199
+ *
200
+ * Supports creating:
201
+ * - default: Standard calendar events
202
+ * - outOfOffice: Vacation/OOO blocks with auto-decline
203
+ * - focusTime: Deep work blocks with chat status
204
+ * - workingLocation: Home/office/custom location events
205
+ * - birthday: Birthday/anniversary events
206
+ *
207
+ * Note: 'fromGmail' events cannot be created via API (read-only).
208
+ * Note: EventKit only supports 'default' event type. Non-default event types
209
+ * are automatically routed to Google Calendar.
131
210
  */
132
211
  export declare function handleCreateCalendarEvent(ctx: CalendarToolsContext, args: CreateCalendarEventInput): Promise<{
133
212
  content: {
@@ -1 +1 @@
1
- {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/calendar/handlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../src/tools/calendar/handlers.ts"],"names":[],"mappings":"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"}