@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.d.ts","sourceRoot":"","sources":["../../src/types/calendar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAE9E;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC;AAEtE;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAC9B,UAAU,GACV,UAAU,GACV,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,CAAC;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,sBAAsB;;;;CAIzB,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Calendar Service Common Types
3
+ *
4
+ * Shared type definitions for calendar event services
5
+ * (creator, deleter, response).
6
+ */
7
+ /**
8
+ * Default retry options for calendar operations
9
+ *
10
+ * Used by creator, deleter, and response services for
11
+ * consistent retry behavior with AppleScript/EventKit.
12
+ */
13
+ export const CALENDAR_RETRY_OPTIONS = {
14
+ maxAttempts: 3,
15
+ initialDelay: 500,
16
+ maxDelay: 5000,
17
+ };
18
+ //# sourceMappingURL=calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.js","sourceRoot":"","sources":["../../src/types/calendar.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAmCH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,WAAW,EAAE,CAAC;IACd,YAAY,EAAE,GAAG;IACjB,QAAQ,EAAE,IAAI;CACN,CAAC"}
@@ -30,6 +30,21 @@ export interface CalendarConfig {
30
30
  deepWorkDays: string[];
31
31
  deepWorkBlocks: DeepWorkBlock[];
32
32
  timeZone: string;
33
+ sources?: CalendarSources;
34
+ }
35
+ export interface CalendarSources {
36
+ eventkit: EventKitSourceConfig;
37
+ google: GoogleCalendarSourceConfig;
38
+ }
39
+ export interface EventKitSourceConfig {
40
+ enabled: boolean;
41
+ }
42
+ export interface GoogleCalendarSourceConfig {
43
+ enabled: boolean;
44
+ defaultCalendar: string;
45
+ excludedCalendars: string[];
46
+ syncInterval: number;
47
+ enableNotifications: boolean;
33
48
  }
34
49
  export interface DeepWorkBlock {
35
50
  day: string;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,26 @@
1
1
  /**
2
2
  * Configuration type definitions
3
3
  */
4
+ /**
5
+ * Get default calendar sources configuration based on platform
6
+ */
7
+ function getDefaultCalendarSources() {
8
+ const isMacOS = typeof process !== 'undefined' && process.platform === 'darwin';
9
+ return {
10
+ eventkit: {
11
+ enabled: isMacOS,
12
+ },
13
+ google: {
14
+ // On non-macOS platforms, enable Google Calendar by default
15
+ // to ensure at least one source is enabled
16
+ enabled: !isMacOS,
17
+ defaultCalendar: 'primary',
18
+ excludedCalendars: [],
19
+ syncInterval: 300,
20
+ enableNotifications: true,
21
+ },
22
+ };
23
+ }
4
24
  // Default configuration
5
25
  export const DEFAULT_CONFIG = {
6
26
  version: '1.0.0',
@@ -19,6 +39,7 @@ export const DEFAULT_CONFIG = {
19
39
  deepWorkDays: ['Monday', 'Wednesday', 'Friday'],
20
40
  deepWorkBlocks: [],
21
41
  timeZone: 'Asia/Tokyo',
42
+ sources: getDefaultCalendarSources(),
22
43
  },
23
44
  priorityRules: {
24
45
  p0Conditions: [
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,139 @@
1
+ /**
2
+ * Google Calendar API Type Definitions
3
+ * Requirement: 1, 2, 3, 4, 5, 6
4
+ * Design: .claude/specs/google-calendar-api/design.md (Data Models section)
5
+ */
6
+ /**
7
+ * Google Calendar Event (internal representation from Google Calendar API)
8
+ * Requirement: 2
9
+ */
10
+ export interface GoogleCalendarEvent {
11
+ id: string;
12
+ summary: string;
13
+ description?: string;
14
+ location?: string;
15
+ start: {
16
+ dateTime?: string;
17
+ date?: string;
18
+ timeZone?: string;
19
+ };
20
+ end: {
21
+ dateTime?: string;
22
+ date?: string;
23
+ timeZone?: string;
24
+ };
25
+ attendees?: Array<{
26
+ email: string;
27
+ responseStatus: 'needsAction' | 'declined' | 'tentative' | 'accepted';
28
+ }>;
29
+ reminders?: {
30
+ useDefault: boolean;
31
+ overrides?: Array<{
32
+ method: 'email' | 'popup';
33
+ minutes: number;
34
+ }>;
35
+ };
36
+ recurringEventId?: string;
37
+ iCalUID: string;
38
+ status?: 'confirmed' | 'tentative' | 'cancelled';
39
+ organizer?: {
40
+ email: string;
41
+ displayName?: string;
42
+ };
43
+ }
44
+ /**
45
+ * OAuth tokens for Google Calendar API
46
+ * Requirement: 1
47
+ */
48
+ export interface OAuthTokens {
49
+ accessToken: string;
50
+ refreshToken: string;
51
+ expiresAt: string;
52
+ scope: string[];
53
+ }
54
+ /**
55
+ * Calendar information from Google Calendar API
56
+ * Requirement: 2
57
+ */
58
+ export interface CalendarInfo {
59
+ id: string;
60
+ name: string;
61
+ source: 'eventkit' | 'google';
62
+ isPrimary: boolean;
63
+ color?: string;
64
+ accessRole?: 'owner' | 'writer' | 'reader';
65
+ }
66
+ /**
67
+ * Sync result between EventKit and Google Calendar
68
+ * Requirement: 8 (optional feature)
69
+ */
70
+ export interface SyncResult {
71
+ success: boolean;
72
+ eventsAdded: number;
73
+ eventsUpdated: number;
74
+ eventsDeleted: number;
75
+ conflicts: Array<{
76
+ eventId: string;
77
+ reason: string;
78
+ resolution: 'skipped' | 'merged' | 'duplicated';
79
+ }>;
80
+ errors: Array<{
81
+ source: 'eventkit' | 'google';
82
+ error: string;
83
+ }>;
84
+ timestamp: string;
85
+ }
86
+ /**
87
+ * Sync status between calendar sources
88
+ * Requirement: 8 (optional feature)
89
+ */
90
+ export interface SyncStatus {
91
+ lastSyncTime?: string;
92
+ nextSyncTime?: string;
93
+ isEnabled: boolean;
94
+ sources: {
95
+ eventkit: {
96
+ available: boolean;
97
+ lastError?: string;
98
+ };
99
+ google: {
100
+ available: boolean;
101
+ lastError?: string;
102
+ };
103
+ };
104
+ }
105
+ /**
106
+ * Extended Calendar Event with additional fields for Google Calendar integration
107
+ * Extends the base CalendarEvent from calendar-service.ts
108
+ * Requirement: 2, 3, 4, 5, 6
109
+ */
110
+ export interface CalendarEvent {
111
+ id: string;
112
+ title: string;
113
+ start: string;
114
+ end: string;
115
+ isAllDay: boolean;
116
+ source: 'eventkit' | 'google';
117
+ calendar?: string;
118
+ location?: string;
119
+ description?: string;
120
+ attendees?: string[];
121
+ status?: 'confirmed' | 'tentative' | 'cancelled';
122
+ iCalUID?: string;
123
+ }
124
+ /**
125
+ * Convert Google Calendar Event to unified CalendarEvent format
126
+ * Requirement: 2
127
+ * @param googleEvent Google Calendar API event object
128
+ * @returns Unified CalendarEvent object
129
+ */
130
+ export declare function convertGoogleToCalendarEvent(googleEvent: GoogleCalendarEvent): CalendarEvent;
131
+ /**
132
+ * Check if two events are duplicates based on iCalUID or title+time matching
133
+ * Requirement: 7 (deduplication)
134
+ * @param event1 First calendar event
135
+ * @param event2 Second calendar event
136
+ * @returns true if events are duplicates
137
+ */
138
+ export declare function areEventsDuplicate(event1: CalendarEvent, event2: CalendarEvent): boolean;
139
+ //# sourceMappingURL=google-calendar-types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-calendar-types.d.ts","sourceRoot":"","sources":["../../src/types/google-calendar-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Google Calendar API Type Definitions
3
+ * Requirement: 1, 2, 3, 4, 5, 6
4
+ * Design: .claude/specs/google-calendar-api/design.md (Data Models section)
5
+ */
6
+ /**
7
+ * Convert Google Calendar Event to unified CalendarEvent format
8
+ * Requirement: 2
9
+ * @param googleEvent Google Calendar API event object
10
+ * @returns Unified CalendarEvent object
11
+ */
12
+ export function convertGoogleToCalendarEvent(googleEvent) {
13
+ return {
14
+ id: googleEvent.id,
15
+ title: googleEvent.summary,
16
+ start: googleEvent.start.dateTime || googleEvent.start.date || '',
17
+ end: googleEvent.end.dateTime || googleEvent.end.date || '',
18
+ isAllDay: !!googleEvent.start.date,
19
+ source: 'google',
20
+ calendar: googleEvent.organizer?.email,
21
+ location: googleEvent.location,
22
+ description: googleEvent.description,
23
+ attendees: googleEvent.attendees?.map((a) => a.email),
24
+ status: googleEvent.status,
25
+ iCalUID: googleEvent.iCalUID,
26
+ };
27
+ }
28
+ /**
29
+ * Check if two events are duplicates based on iCalUID or title+time matching
30
+ * Requirement: 7 (deduplication)
31
+ * @param event1 First calendar event
32
+ * @param event2 Second calendar event
33
+ * @returns true if events are duplicates
34
+ */
35
+ export function areEventsDuplicate(event1, event2) {
36
+ // Method 1: iCalUID comparison (most reliable)
37
+ if (event1.iCalUID && event2.iCalUID && event1.iCalUID === event2.iCalUID) {
38
+ return true;
39
+ }
40
+ // Method 2: Title + start time + end time matching
41
+ const titleMatch = event1.title.toLowerCase() === event2.title.toLowerCase();
42
+ const startMatch = event1.start === event2.start;
43
+ const endMatch = event1.end === event2.end;
44
+ return titleMatch && startMatch && endMatch;
45
+ }
46
+ //# sourceMappingURL=google-calendar-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"google-calendar-types.js","sourceRoot":"","sources":["../../src/types/google-calendar-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwHH;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,WAAgC;IAC3E,OAAO;QACL,EAAE,EAAE,WAAW,CAAC,EAAE;QAClB,KAAK,EAAE,WAAW,CAAC,OAAO;QAC1B,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE;QACjE,GAAG,EAAE,WAAW,CAAC,GAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE;QAC3D,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI;QAClC,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,WAAW,CAAC,SAAS,EAAE,KAAK;QACtC,QAAQ,EAAE,WAAW,CAAC,QAAQ;QAC9B,WAAW,EAAE,WAAW,CAAC,WAAW;QACpC,SAAS,EAAE,WAAW,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QACrD,MAAM,EAAE,WAAW,CAAC,MAAM;QAC1B,OAAO,EAAE,WAAW,CAAC,OAAO;KAC7B,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAqB,EAAE,MAAqB;IAC7E,+CAA+C;IAC/C,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,CAAC,OAAO,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,mDAAmD;IACnD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7E,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC;IACjD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAG,CAAC;IAE3C,OAAO,UAAU,IAAI,UAAU,IAAI,QAAQ,CAAC;AAC9C,CAAC"}
@@ -4,4 +4,5 @@
4
4
  export * from './task.js';
5
5
  export * from './config.js';
6
6
  export * from './errors.js';
7
+ export * from './google-calendar-types.js';
7
8
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC"}
@@ -4,4 +4,5 @@
4
4
  export * from './task.js';
5
5
  export * from './config.js';
6
6
  export * from './errors.js';
7
+ export * from './google-calendar-types.js';
7
8
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,4BAA4B,CAAC"}
@@ -11,6 +11,40 @@ interface EstimationResult {
11
11
  matchedKeywords: string[];
12
12
  }
13
13
  export declare const DEFAULT_ESTIMATION_CONFIG: EstimationConfig;
14
+ /**
15
+ * TimeEstimator - Estimates task duration using keyword-based heuristics
16
+ *
17
+ * ## Estimation Algorithm
18
+ *
19
+ * The estimator combines multiple factors:
20
+ *
21
+ * 1. **Complexity Detection**: Scans for keywords indicating task complexity
22
+ * - project → 175 min base (system, architecture, framework)
23
+ * - complex → 75 min base (refactor, migrate, integrate)
24
+ * - medium → 50 min base (implement, fix, update)
25
+ * - simple → 25 min base (check, review, confirm)
26
+ *
27
+ * 2. **Length Modifier**: Adjusts based on description length
28
+ * - short (<30 chars): 0.75x
29
+ * - normal (30-100): 1.0x
30
+ * - long (100-250): 1.25x
31
+ * - veryLong (250+): 1.5x
32
+ *
33
+ * 3. **Special Modifiers**: Additional multipliers for specific contexts
34
+ * - meeting/debugging: 1.5x (high variance activities)
35
+ * - documentation/testing: 1.25x (often underestimated)
36
+ *
37
+ * 4. **Pomodoro Rounding**: Final estimate rounded to nearest 25 minutes
38
+ * for compatibility with Pomodoro technique scheduling.
39
+ *
40
+ * @example
41
+ * const result = TimeEstimator.estimateDuration({ title: 'システム設計' });
42
+ * // Returns: { estimatedMinutes: 175, complexity: 'project', ... }
43
+ *
44
+ * @example
45
+ * const result = TimeEstimator.estimateDuration({ title: 'メール確認' });
46
+ * // Returns: { estimatedMinutes: 25, complexity: 'simple', ... }
47
+ */
14
48
  export declare class TimeEstimator {
15
49
  /**
16
50
  * Estimate task duration
@@ -1 +1 @@
1
- {"version":3,"file":"estimation.d.ts","sourceRoot":"","sources":["../../src/utils/estimation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,UAAU,gBAAgB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAGD,eAAO,MAAM,yBAAyB,EAAE,gBAkFvC,CAAC;AAkBF,qBAAa,aAAa;IACxB;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,gBAA4C,GAAG,gBAAgB;IA4E3G;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAmB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAShC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAiB1B;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,gBAA4C,GACnD;QACD,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB;CAgBF"}
1
+ {"version":3,"file":"estimation.d.ts","sourceRoot":"","sources":["../../src/utils/estimation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEhE,UAAU,gBAAgB;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAGD,eAAO,MAAM,yBAAyB,EAAE,gBAkFvC,CAAC;AAqBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AACH,qBAAa,aAAa;IACxB;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,gBAA4C,GAAG,gBAAgB;IA4E3G;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAInC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,cAAc;IAmB7B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAShC;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAiB1B;;OAEG;IACH,MAAM,CAAC,eAAe,CACpB,IAAI,EAAE,MAAM,EACZ,MAAM,GAAE,gBAA4C,GACnD;QACD,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;QAClB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB;CAgBF"}
@@ -94,13 +94,50 @@ const LENGTH_MODIFIERS = {
94
94
  long: 1.25, // Long description with details
95
95
  veryLong: 1.5, // Very detailed with multiple components
96
96
  };
97
- // Special modifiers
97
+ /**
98
+ * Special modifiers for specific task types.
99
+ * Applied multiplicatively after base complexity estimation.
100
+ */
98
101
  const SPECIAL_MODIFIERS = {
99
102
  meeting: { keywords: ['meeting', 'ミーティング', '会議', 'sync', 'call', '通話'], multiplier: 1.5 },
100
103
  documentation: { keywords: ['document', 'ドキュメント', '文書', 'doc', 'docs'], multiplier: 1.25 },
101
104
  debugging: { keywords: ['debug', 'デバッグ', 'bug', 'バグ', 'issue', '問題'], multiplier: 1.5 },
102
105
  testing: { keywords: ['test', 'テスト', 'qa', 'verify', '検証'], multiplier: 1.25 },
103
106
  };
107
+ /**
108
+ * TimeEstimator - Estimates task duration using keyword-based heuristics
109
+ *
110
+ * ## Estimation Algorithm
111
+ *
112
+ * The estimator combines multiple factors:
113
+ *
114
+ * 1. **Complexity Detection**: Scans for keywords indicating task complexity
115
+ * - project → 175 min base (system, architecture, framework)
116
+ * - complex → 75 min base (refactor, migrate, integrate)
117
+ * - medium → 50 min base (implement, fix, update)
118
+ * - simple → 25 min base (check, review, confirm)
119
+ *
120
+ * 2. **Length Modifier**: Adjusts based on description length
121
+ * - short (<30 chars): 0.75x
122
+ * - normal (30-100): 1.0x
123
+ * - long (100-250): 1.25x
124
+ * - veryLong (250+): 1.5x
125
+ *
126
+ * 3. **Special Modifiers**: Additional multipliers for specific contexts
127
+ * - meeting/debugging: 1.5x (high variance activities)
128
+ * - documentation/testing: 1.25x (often underestimated)
129
+ *
130
+ * 4. **Pomodoro Rounding**: Final estimate rounded to nearest 25 minutes
131
+ * for compatibility with Pomodoro technique scheduling.
132
+ *
133
+ * @example
134
+ * const result = TimeEstimator.estimateDuration({ title: 'システム設計' });
135
+ * // Returns: { estimatedMinutes: 175, complexity: 'project', ... }
136
+ *
137
+ * @example
138
+ * const result = TimeEstimator.estimateDuration({ title: 'メール確認' });
139
+ * // Returns: { estimatedMinutes: 25, complexity: 'simple', ... }
140
+ */
104
141
  export class TimeEstimator {
105
142
  /**
106
143
  * Estimate task duration
@@ -1 +1 @@
1
- {"version":3,"file":"estimation.js","sourceRoot":"","sources":["../../src/utils/estimation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"estimation.js","sourceRoot":"","sources":["../../src/utils/estimation.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * MCP Tool Response Utilities
3
+ *
4
+ * Provides standardized response formatting for MCP tools.
5
+ * Reduces boilerplate and ensures consistent response structure.
6
+ */
7
+ /**
8
+ * Creates a standardized MCP tool response
9
+ *
10
+ * @param data - Response data to serialize
11
+ * @returns MCP tool response object
12
+ *
13
+ * @example
14
+ * return createResponse({ status: 'ok', items: [] });
15
+ */
16
+ export declare function createResponse(data: unknown): {
17
+ content: {
18
+ type: "text";
19
+ text: string;
20
+ }[];
21
+ };
22
+ /**
23
+ * Creates an error response for MCP tools
24
+ *
25
+ * @param message - Error message to display
26
+ * @param additionalData - Optional additional data to include
27
+ * @returns MCP tool response with error flag
28
+ *
29
+ * @example
30
+ * return createErrorResponse('Configuration not found');
31
+ *
32
+ * @example
33
+ * return createErrorResponse('Validation failed', { field: 'email', code: 'INVALID' });
34
+ */
35
+ export declare function createErrorResponse(message: string, additionalData?: Record<string, unknown>): {
36
+ content: {
37
+ type: "text";
38
+ text: string;
39
+ }[];
40
+ };
41
+ /**
42
+ * Creates a success response for MCP tools
43
+ *
44
+ * @param data - Response data
45
+ * @returns MCP tool response
46
+ *
47
+ * @example
48
+ * return createSuccessResponse({ tasks: [], count: 0 });
49
+ */
50
+ export declare function createSuccessResponse(data: Record<string, unknown>): {
51
+ content: {
52
+ type: "text";
53
+ text: string;
54
+ }[];
55
+ };
56
+ /**
57
+ * Extracts error message from unknown error type
58
+ *
59
+ * @param error - Error object or unknown value
60
+ * @returns Error message string
61
+ *
62
+ * @example
63
+ * catch (error) {
64
+ * return createErrorResponse(`Operation failed: ${getErrorMessage(error)}`);
65
+ * }
66
+ */
67
+ export declare function getErrorMessage(error: unknown): string;
68
+ /**
69
+ * Creates an error response from a caught error
70
+ *
71
+ * Convenience function that combines getErrorMessage and createErrorResponse.
72
+ *
73
+ * @param prefix - Message prefix (e.g., "Failed to save config")
74
+ * @param error - Caught error
75
+ * @param additionalData - Optional additional data
76
+ * @returns MCP tool response with error
77
+ *
78
+ * @example
79
+ * catch (error) {
80
+ * return createErrorFromCatch('Failed to analyze task', error);
81
+ * }
82
+ */
83
+ export declare function createErrorFromCatch(prefix: string, error: unknown, additionalData?: Record<string, unknown>): {
84
+ content: {
85
+ type: "text";
86
+ text: string;
87
+ }[];
88
+ };
89
+ //# sourceMappingURL=mcp-response.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-response.d.ts","sourceRoot":"","sources":["../../src/utils/mcp-response.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AASH;;;;;;;;GAQG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO;;;;;EAS3C;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;EAOzC;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;EAElE;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAQtD;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,OAAO,EACd,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;;;;;EAIzC"}