@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":"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"}
1
+ {"version":3,"file":"google-calendar-types.js","sourceRoot":"","sources":["../../src/types/google-calendar-types.ts"],"names":[],"mappings":"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"}
@@ -55,10 +55,24 @@ export interface Reminder {
55
55
  time: string;
56
56
  message?: string;
57
57
  }
58
+ /**
59
+ * Working location information for a time slot
60
+ * Requirement: 3.7 (google-calendar-event-types spec)
61
+ */
62
+ export interface WorkingLocationInfo {
63
+ type: 'homeOffice' | 'officeLocation' | 'customLocation' | 'unknown';
64
+ label?: string;
65
+ }
58
66
  export interface TimeSlot {
59
67
  start: string;
60
68
  end: string;
61
69
  durationMinutes: number;
70
+ /**
71
+ * Working location context for the time slot
72
+ * Populated when working location events are present for the slot's date
73
+ * Requirement: 3.7 (google-calendar-event-types spec)
74
+ */
75
+ workingLocation?: WorkingLocationInfo;
62
76
  }
63
77
  export interface AvailableSlot extends TimeSlot {
64
78
  suitability: 'excellent' | 'good' | 'acceptable';
@@ -1 +1 @@
1
- {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAEjF,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,OAAQ,SAAQ,IAAI;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,YAAY,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,GAAG,eAAe,GAAG,QAAQ,CAAC;CACnD"}
1
+ {"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../../src/types/task.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,UAAU,GAAG,aAAa,GAAG,aAAa,GAAG,SAAS,GAAG,WAAW,CAAC;AAEjF,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEjD,MAAM,WAAW,IAAI;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,OAAQ,SAAQ,IAAI;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,IAAI,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;CACjD;AAED,MAAM,WAAW,WAAW;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,IAAI,EAAE,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,YAAY,EAAE,cAAc,EAAE,CAAC;CAChC;AAED,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAC;IACxD,eAAe,CAAC,EAAE,OAAO,EAAE,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,IAAI,CAAC;IACf,QAAQ,EAAE,QAAQ,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB,EAAE,QAAQ,EAAE,CAAC;IAC/B,iBAAiB,CAAC,EAAE,QAAQ,CAAC;IAC7B,SAAS,EAAE,iBAAiB,CAAC;IAC7B,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,eAAe,EAAE,MAAM,CAAC;IACxB;;;;OAIG;IACH,eAAe,CAAC,EAAE,mBAAmB,CAAC;CACvC;AAED,MAAM,WAAW,aAAc,SAAQ,QAAQ;IAC7C,WAAW,EAAE,WAAW,GAAG,MAAM,GAAG,YAAY,CAAC;IACjD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,EAAE,WAAW,GAAG,eAAe,GAAG,QAAQ,CAAC;CACnD"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Logger Utility
3
+ * Provides structured logging with pino
4
+ */
5
+ import pino from 'pino';
6
+ /**
7
+ * Log level type
8
+ */
9
+ export type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal' | 'silent';
10
+ /**
11
+ * Default logger instance
12
+ * Uses pino-pretty in development, JSON in production
13
+ */
14
+ export declare const logger: pino.Logger<never, boolean>;
15
+ /**
16
+ * Create a child logger with a specific component name
17
+ * @param component - Component name for log context
18
+ */
19
+ export declare function createLogger(component: string): pino.Logger;
20
+ /**
21
+ * Pre-configured loggers for common components
22
+ */
23
+ export declare const oauthLogger: pino.Logger<never, boolean>;
24
+ export declare const calendarLogger: pino.Logger<never, boolean>;
25
+ export declare const mcpLogger: pino.Logger<never, boolean>;
26
+ export declare const cliLogger: pino.Logger<never, boolean>;
27
+ export declare const servicesLogger: pino.Logger<never, boolean>;
28
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAqC1F;;;GAGG;AACH,eAAO,MAAM,MAAM,6BAGjB,CAAC;AAEH;;;GAGG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC,MAAM,CAE3D;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,6BAAwB,CAAC;AACjD,eAAO,MAAM,cAAc,6BAA2B,CAAC;AACvD,eAAO,MAAM,SAAS,6BAAsB,CAAC;AAC7C,eAAO,MAAM,SAAS,6BAAsB,CAAC;AAC7C,eAAO,MAAM,cAAc,6BAA2B,CAAC"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Logger Utility
3
+ * Provides structured logging with pino
4
+ */
5
+ import pino from 'pino';
6
+ /**
7
+ * Get log level from environment variable
8
+ */
9
+ function getLogLevel() {
10
+ const level = process.env.LOG_LEVEL?.toLowerCase();
11
+ if (level && ['trace', 'debug', 'info', 'warn', 'error', 'fatal', 'silent'].includes(level)) {
12
+ return level;
13
+ }
14
+ return 'info';
15
+ }
16
+ /**
17
+ * Check if running in development mode
18
+ */
19
+ function isDevelopment() {
20
+ return process.env.NODE_ENV === 'development';
21
+ }
22
+ /**
23
+ * Create pino transport options for pretty printing in development
24
+ */
25
+ function getTransport() {
26
+ if (isDevelopment()) {
27
+ return {
28
+ target: 'pino-pretty',
29
+ options: {
30
+ colorize: true,
31
+ translateTime: 'SYS:standard',
32
+ ignore: 'pid,hostname',
33
+ },
34
+ };
35
+ }
36
+ return undefined;
37
+ }
38
+ /**
39
+ * Default logger instance
40
+ * Uses pino-pretty in development, JSON in production
41
+ */
42
+ export const logger = pino({
43
+ level: getLogLevel(),
44
+ transport: getTransport(),
45
+ });
46
+ /**
47
+ * Create a child logger with a specific component name
48
+ * @param component - Component name for log context
49
+ */
50
+ export function createLogger(component) {
51
+ return logger.child({ component });
52
+ }
53
+ /**
54
+ * Pre-configured loggers for common components
55
+ */
56
+ export const oauthLogger = createLogger('oauth');
57
+ export const calendarLogger = createLogger('calendar');
58
+ export const mcpLogger = createLogger('mcp');
59
+ export const cliLogger = createLogger('cli');
60
+ export const servicesLogger = createLogger('services');
61
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,IAAI,MAAM,MAAM,CAAC;AAOxB;;GAEG;AACH,SAAS,WAAW;IAClB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;IACnD,IAAI,KAAK,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5F,OAAO,KAAiB,CAAC;IAC3B,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,OAAO,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,CAAC;AAChD,CAAC;AAED;;GAEG;AACH,SAAS,YAAY;IACnB,IAAI,aAAa,EAAE,EAAE,CAAC;QACpB,OAAO;YACL,MAAM,EAAE,aAAa;YACrB,OAAO,EAAE;gBACP,QAAQ,EAAE,IAAI;gBACd,aAAa,EAAE,cAAc;gBAC7B,MAAM,EAAE,cAAc;aACvB;SACF,CAAC;IACJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,WAAW,EAAE;IACpB,SAAS,EAAE,YAAY,EAAE;CAC1B,CAAC,CAAC;AAEH;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,SAAiB;IAC5C,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;AACjD,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AACvD,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,SAAS,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC;AAC7C,MAAM,CAAC,MAAM,cAAc,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC"}
package/dist/version.js CHANGED
@@ -7,7 +7,7 @@
7
7
  import { readFileSync, existsSync } from 'fs';
8
8
  import { join } from 'path';
9
9
  // Fallback version - keep in sync with package.json
10
- const FALLBACK_VERSION = '0.8.7';
10
+ const FALLBACK_VERSION = '0.9.2';
11
11
  function getVersion() {
12
12
  // Try to find package.json from current working directory
13
13
  const pkgPath = join(process.cwd(), 'package.json');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shin1ohno/sage",
3
- "version": "0.8.8",
3
+ "version": "0.9.3",
4
4
  "description": "AI Task Management Assistant MCP Server for Claude Desktop and Claude Code",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -48,12 +48,15 @@
48
48
  "dependencies": {
49
49
  "@modelcontextprotocol/sdk": "^1.0.4",
50
50
  "googleapis": "^134.0.0",
51
+ "pino": "^10.1.0",
52
+ "pino-pretty": "^13.1.3",
51
53
  "run-applescript": "^7.1.0",
52
54
  "zod": "^3.23.8"
53
55
  },
54
56
  "devDependencies": {
55
57
  "@types/jest": "^29.0.0",
56
58
  "@types/node": "^20.0.0",
59
+ "@types/pino": "^7.0.4",
57
60
  "@typescript-eslint/eslint-plugin": "^7.0.0",
58
61
  "@typescript-eslint/parser": "^7.0.0",
59
62
  "eslint": "^8.0.0",