@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.
Files changed (96) hide show
  1. package/dist/cli/http-server-with-config.d.ts +38 -0
  2. package/dist/cli/http-server-with-config.d.ts.map +1 -0
  3. package/dist/cli/http-server-with-config.js +458 -0
  4. package/dist/cli/http-server-with-config.js.map +1 -0
  5. package/dist/cli/http-server.d.ts +74 -0
  6. package/dist/cli/http-server.d.ts.map +1 -0
  7. package/dist/cli/http-server.js +407 -0
  8. package/dist/cli/http-server.js.map +1 -0
  9. package/dist/cli/jwt-middleware.d.ts +36 -0
  10. package/dist/cli/jwt-middleware.d.ts.map +1 -0
  11. package/dist/cli/jwt-middleware.js +99 -0
  12. package/dist/cli/jwt-middleware.js.map +1 -0
  13. package/dist/cli/main-entry.d.ts +41 -0
  14. package/dist/cli/main-entry.d.ts.map +1 -0
  15. package/dist/cli/main-entry.js +80 -0
  16. package/dist/cli/main-entry.js.map +1 -0
  17. package/dist/cli/mcp-handler.d.ts +56 -0
  18. package/dist/cli/mcp-handler.d.ts.map +1 -0
  19. package/dist/cli/mcp-handler.js +2189 -0
  20. package/dist/cli/mcp-handler.js.map +1 -0
  21. package/dist/cli/parser.d.ts +43 -0
  22. package/dist/cli/parser.d.ts.map +1 -0
  23. package/dist/cli/parser.js +162 -0
  24. package/dist/cli/parser.js.map +1 -0
  25. package/dist/cli/remote-config-loader.d.ts +85 -0
  26. package/dist/cli/remote-config-loader.d.ts.map +1 -0
  27. package/dist/cli/remote-config-loader.js +129 -0
  28. package/dist/cli/remote-config-loader.js.map +1 -0
  29. package/dist/cli/secret-auth.d.ts +47 -0
  30. package/dist/cli/secret-auth.d.ts.map +1 -0
  31. package/dist/cli/secret-auth.js +165 -0
  32. package/dist/cli/secret-auth.js.map +1 -0
  33. package/dist/cli/sse-stream-handler.d.ts +45 -0
  34. package/dist/cli/sse-stream-handler.d.ts.map +1 -0
  35. package/dist/cli/sse-stream-handler.js +125 -0
  36. package/dist/cli/sse-stream-handler.js.map +1 -0
  37. package/dist/index.js +885 -209
  38. package/dist/index.js.map +1 -1
  39. package/dist/integrations/calendar-event-creator.d.ts +152 -0
  40. package/dist/integrations/calendar-event-creator.d.ts.map +1 -0
  41. package/dist/integrations/calendar-event-creator.js +507 -0
  42. package/dist/integrations/calendar-event-creator.js.map +1 -0
  43. package/dist/integrations/calendar-event-deleter.d.ts +137 -0
  44. package/dist/integrations/calendar-event-deleter.d.ts.map +1 -0
  45. package/dist/integrations/calendar-event-deleter.js +378 -0
  46. package/dist/integrations/calendar-event-deleter.js.map +1 -0
  47. package/dist/integrations/calendar-event-response.d.ts +213 -0
  48. package/dist/integrations/calendar-event-response.d.ts.map +1 -0
  49. package/dist/integrations/calendar-event-response.js +560 -0
  50. package/dist/integrations/calendar-event-response.js.map +1 -0
  51. package/dist/integrations/calendar-service.d.ts +85 -10
  52. package/dist/integrations/calendar-service.d.ts.map +1 -1
  53. package/dist/integrations/calendar-service.js +317 -35
  54. package/dist/integrations/calendar-service.js.map +1 -1
  55. package/dist/oauth/client-store.d.ts +36 -0
  56. package/dist/oauth/client-store.d.ts.map +1 -0
  57. package/dist/oauth/client-store.js +104 -0
  58. package/dist/oauth/client-store.js.map +1 -0
  59. package/dist/oauth/code-store.d.ts +48 -0
  60. package/dist/oauth/code-store.d.ts.map +1 -0
  61. package/dist/oauth/code-store.js +89 -0
  62. package/dist/oauth/code-store.js.map +1 -0
  63. package/dist/oauth/index.d.ts +13 -0
  64. package/dist/oauth/index.d.ts.map +1 -0
  65. package/dist/oauth/index.js +21 -0
  66. package/dist/oauth/index.js.map +1 -0
  67. package/dist/oauth/oauth-handler.d.ts +101 -0
  68. package/dist/oauth/oauth-handler.d.ts.map +1 -0
  69. package/dist/oauth/oauth-handler.js +577 -0
  70. package/dist/oauth/oauth-handler.js.map +1 -0
  71. package/dist/oauth/oauth-server.d.ts +165 -0
  72. package/dist/oauth/oauth-server.d.ts.map +1 -0
  73. package/dist/oauth/oauth-server.js +489 -0
  74. package/dist/oauth/oauth-server.js.map +1 -0
  75. package/dist/oauth/pkce.d.ts +48 -0
  76. package/dist/oauth/pkce.d.ts.map +1 -0
  77. package/dist/oauth/pkce.js +106 -0
  78. package/dist/oauth/pkce.js.map +1 -0
  79. package/dist/oauth/refresh-token-store.d.ts +45 -0
  80. package/dist/oauth/refresh-token-store.d.ts.map +1 -0
  81. package/dist/oauth/refresh-token-store.js +98 -0
  82. package/dist/oauth/refresh-token-store.js.map +1 -0
  83. package/dist/oauth/token-service.d.ts +46 -0
  84. package/dist/oauth/token-service.d.ts.map +1 -0
  85. package/dist/oauth/token-service.js +199 -0
  86. package/dist/oauth/token-service.js.map +1 -0
  87. package/dist/oauth/types.d.ts +264 -0
  88. package/dist/oauth/types.d.ts.map +1 -0
  89. package/dist/oauth/types.js +37 -0
  90. package/dist/oauth/types.js.map +1 -0
  91. package/dist/version.d.ts +9 -0
  92. package/dist/version.d.ts.map +1 -0
  93. package/dist/version.js +11 -0
  94. package/dist/version.js.map +1 -0
  95. package/manifest.json +12 -20
  96. package/package.json +1 -1
@@ -0,0 +1,264 @@
1
+ /**
2
+ * OAuth 2.1 Type Definitions
3
+ * Requirements: 21.1-21.6, 22.1-22.5, 23.1-23.9, 24.1-24.8, 25.1-25.10, 26.1-26.9
4
+ *
5
+ * Type definitions for OAuth 2.1 implementation based on:
6
+ * - OAuth 2.1 (draft-ietf-oauth-v2-1-13)
7
+ * - RFC 8414 (Authorization Server Metadata)
8
+ * - RFC 7591 (Dynamic Client Registration)
9
+ * - RFC 9728 (Protected Resource Metadata)
10
+ * - RFC 8707 (Resource Indicators)
11
+ * - RFC 7636 (PKCE)
12
+ */
13
+ /**
14
+ * Supported OAuth scopes
15
+ * Requirement 22.2
16
+ */
17
+ export type OAuthScope = 'mcp:read' | 'mcp:write' | 'mcp:admin';
18
+ /**
19
+ * Supported response types
20
+ * Requirement 23.6
21
+ */
22
+ export type ResponseType = 'code';
23
+ /**
24
+ * Supported grant types
25
+ * Requirement 23.7
26
+ */
27
+ export type GrantType = 'authorization_code' | 'refresh_token';
28
+ /**
29
+ * Supported code challenge methods
30
+ * Requirement 21.2, 23.8
31
+ */
32
+ export type CodeChallengeMethod = 'S256';
33
+ /**
34
+ * Supported token endpoint auth methods
35
+ * Requirement 23.9
36
+ */
37
+ export type TokenEndpointAuthMethod = 'none' | 'client_secret_post';
38
+ /**
39
+ * OAuth Client Registration Request (RFC 7591)
40
+ * Requirement 24.1-24.7
41
+ */
42
+ export interface ClientRegistrationRequest {
43
+ client_name: string;
44
+ redirect_uris: string[];
45
+ response_types?: ResponseType[];
46
+ grant_types?: GrantType[];
47
+ token_endpoint_auth_method?: TokenEndpointAuthMethod;
48
+ scope?: string;
49
+ contacts?: string[];
50
+ logo_uri?: string;
51
+ client_uri?: string;
52
+ policy_uri?: string;
53
+ tos_uri?: string;
54
+ }
55
+ /**
56
+ * OAuth Client Metadata (RFC 7591)
57
+ * Requirement 24.6
58
+ */
59
+ export interface OAuthClient {
60
+ client_id: string;
61
+ client_name: string;
62
+ redirect_uris: string[];
63
+ response_types: ResponseType[];
64
+ grant_types: GrantType[];
65
+ token_endpoint_auth_method: TokenEndpointAuthMethod;
66
+ client_id_issued_at: number;
67
+ client_secret?: string;
68
+ client_secret_expires_at?: number;
69
+ scope?: string;
70
+ }
71
+ /**
72
+ * Authorization Request Parameters
73
+ * Requirement 25.1-25.10
74
+ */
75
+ export interface AuthorizationRequest {
76
+ response_type: ResponseType;
77
+ client_id: string;
78
+ redirect_uri: string;
79
+ scope?: string;
80
+ state: string;
81
+ code_challenge: string;
82
+ code_challenge_method: CodeChallengeMethod;
83
+ resource?: string;
84
+ }
85
+ /**
86
+ * Authorization Code Data (internal)
87
+ * Requirement 25.9, 25.10
88
+ */
89
+ export interface AuthorizationCode {
90
+ code: string;
91
+ client_id: string;
92
+ redirect_uri: string;
93
+ scope: string;
94
+ code_challenge: string;
95
+ code_challenge_method: CodeChallengeMethod;
96
+ resource?: string;
97
+ user_id: string;
98
+ created_at: number;
99
+ expires_at: number;
100
+ used: boolean;
101
+ }
102
+ /**
103
+ * Token Request for authorization_code grant
104
+ * Requirement 26.1-26.5
105
+ */
106
+ export interface TokenRequestAuthorizationCode {
107
+ grant_type: 'authorization_code';
108
+ code: string;
109
+ client_id: string;
110
+ redirect_uri: string;
111
+ code_verifier: string;
112
+ resource?: string;
113
+ }
114
+ /**
115
+ * Token Request for refresh_token grant
116
+ * Requirement 26.3
117
+ */
118
+ export interface TokenRequestRefreshToken {
119
+ grant_type: 'refresh_token';
120
+ refresh_token: string;
121
+ client_id: string;
122
+ scope?: string;
123
+ }
124
+ /**
125
+ * Token Request (union type)
126
+ */
127
+ export type TokenRequest = TokenRequestAuthorizationCode | TokenRequestRefreshToken;
128
+ /**
129
+ * Token Response
130
+ * Requirement 26.7
131
+ */
132
+ export interface TokenResponse {
133
+ access_token: string;
134
+ token_type: 'Bearer';
135
+ expires_in: number;
136
+ refresh_token?: string;
137
+ scope?: string;
138
+ }
139
+ /**
140
+ * Access Token Claims (JWT payload)
141
+ * Requirement 26.6, 27.4
142
+ */
143
+ export interface AccessTokenClaims {
144
+ iss: string;
145
+ sub: string;
146
+ aud: string;
147
+ exp: number;
148
+ iat: number;
149
+ jti: string;
150
+ client_id: string;
151
+ scope: string;
152
+ }
153
+ /**
154
+ * Refresh Token Data (internal)
155
+ * Requirement 21.6, 26.8
156
+ */
157
+ export interface RefreshToken {
158
+ token: string;
159
+ client_id: string;
160
+ user_id: string;
161
+ scope: string;
162
+ created_at: number;
163
+ expires_at: number;
164
+ rotated: boolean;
165
+ }
166
+ /**
167
+ * Protected Resource Metadata (RFC 9728)
168
+ * Requirement 22.1-22.3
169
+ */
170
+ export interface ProtectedResourceMetadata {
171
+ resource: string;
172
+ authorization_servers: string[];
173
+ scopes_supported?: string[];
174
+ bearer_methods_supported?: string[];
175
+ }
176
+ /**
177
+ * Authorization Server Metadata (RFC 8414)
178
+ * Requirement 23.1-23.9
179
+ */
180
+ export interface AuthorizationServerMetadata {
181
+ issuer: string;
182
+ authorization_endpoint: string;
183
+ token_endpoint: string;
184
+ registration_endpoint?: string;
185
+ scopes_supported?: string[];
186
+ response_types_supported: ResponseType[];
187
+ response_modes_supported?: string[];
188
+ grant_types_supported: GrantType[];
189
+ token_endpoint_auth_methods_supported: TokenEndpointAuthMethod[];
190
+ code_challenge_methods_supported: CodeChallengeMethod[];
191
+ service_documentation?: string;
192
+ }
193
+ /**
194
+ * OAuth Error Response
195
+ */
196
+ export interface OAuthError {
197
+ error: string;
198
+ error_description?: string;
199
+ error_uri?: string;
200
+ state?: string;
201
+ }
202
+ /**
203
+ * OAuth Error Codes
204
+ */
205
+ export type OAuthErrorCode = 'invalid_request' | 'unauthorized_client' | 'access_denied' | 'unsupported_response_type' | 'invalid_scope' | 'server_error' | 'temporarily_unavailable' | 'invalid_client' | 'invalid_grant' | 'unsupported_grant_type' | 'invalid_token' | 'insufficient_scope';
206
+ /**
207
+ * User for authentication
208
+ * Requirement 29.1-29.4
209
+ */
210
+ export interface OAuthUser {
211
+ id: string;
212
+ username: string;
213
+ passwordHash: string;
214
+ createdAt: number;
215
+ }
216
+ /**
217
+ * User Session
218
+ */
219
+ export interface UserSession {
220
+ sessionId: string;
221
+ userId: string;
222
+ createdAt: number;
223
+ expiresAt: number;
224
+ }
225
+ /**
226
+ * OAuth Configuration
227
+ */
228
+ export interface OAuthConfig {
229
+ issuer: string;
230
+ accessTokenExpiry: string;
231
+ refreshTokenExpiry: string;
232
+ authorizationCodeExpiry: string;
233
+ allowedRedirectUris: string[];
234
+ scopes: Record<OAuthScope, string>;
235
+ users: OAuthUser[];
236
+ privateKey?: string;
237
+ publicKey?: string;
238
+ }
239
+ /**
240
+ * Scope definitions with descriptions
241
+ */
242
+ export declare const SCOPE_DEFINITIONS: Record<OAuthScope, string>;
243
+ /**
244
+ * Claude official callback URLs
245
+ * Requirement 24.4, 24.5, 31.1, 31.2
246
+ */
247
+ export declare const CLAUDE_CALLBACK_URLS: string[];
248
+ /**
249
+ * Default token expiry durations
250
+ */
251
+ export declare const DEFAULT_TOKEN_EXPIRY: {
252
+ accessToken: string;
253
+ refreshToken: string;
254
+ authorizationCode: string;
255
+ };
256
+ /**
257
+ * Verify Token Result
258
+ */
259
+ export interface VerifyTokenResult {
260
+ valid: boolean;
261
+ claims?: AccessTokenClaims;
262
+ error?: string;
263
+ }
264
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/oauth/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * OAuth 2.1 Type Definitions
3
+ * Requirements: 21.1-21.6, 22.1-22.5, 23.1-23.9, 24.1-24.8, 25.1-25.10, 26.1-26.9
4
+ *
5
+ * Type definitions for OAuth 2.1 implementation based on:
6
+ * - OAuth 2.1 (draft-ietf-oauth-v2-1-13)
7
+ * - RFC 8414 (Authorization Server Metadata)
8
+ * - RFC 7591 (Dynamic Client Registration)
9
+ * - RFC 9728 (Protected Resource Metadata)
10
+ * - RFC 8707 (Resource Indicators)
11
+ * - RFC 7636 (PKCE)
12
+ */
13
+ /**
14
+ * Scope definitions with descriptions
15
+ */
16
+ export const SCOPE_DEFINITIONS = {
17
+ 'mcp:read': '読み取り専用アクセス',
18
+ 'mcp:write': '読み書きアクセス',
19
+ 'mcp:admin': '管理者アクセス',
20
+ };
21
+ /**
22
+ * Claude official callback URLs
23
+ * Requirement 24.4, 24.5, 31.1, 31.2
24
+ */
25
+ export const CLAUDE_CALLBACK_URLS = [
26
+ 'https://claude.ai/api/mcp/auth_callback',
27
+ 'https://claude.com/api/mcp/auth_callback',
28
+ ];
29
+ /**
30
+ * Default token expiry durations
31
+ */
32
+ export const DEFAULT_TOKEN_EXPIRY = {
33
+ accessToken: '1h',
34
+ refreshToken: '30d',
35
+ authorizationCode: '10m',
36
+ };
37
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/oauth/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAsQH;;GAEG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAA+B;IAC3D,UAAU,EAAE,YAAY;IACxB,WAAW,EAAE,UAAU;IACvB,WAAW,EAAE,SAAS;CACvB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,yCAAyC;IACzC,0CAA0C;CAC3C,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,WAAW,EAAE,IAAI;IACjB,YAAY,EAAE,KAAK;IACnB,iBAAiB,EAAE,KAAK;CACzB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Version information for sage
3
+ *
4
+ * Single source of truth for version number.
5
+ * Import this instead of hardcoding version strings.
6
+ */
7
+ export declare const VERSION = "0.5.3";
8
+ export declare const SERVER_NAME = "sage";
9
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,eAAO,MAAM,OAAO,UAAU,CAAC;AAC/B,eAAO,MAAM,WAAW,SAAS,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Version information for sage
3
+ *
4
+ * Single source of truth for version number.
5
+ * Import this instead of hardcoding version strings.
6
+ */
7
+ // Version is updated by npm version command and build process
8
+ // Keep in sync with package.json
9
+ export const VERSION = '0.5.3';
10
+ export const SERVER_NAME = 'sage';
11
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,8DAA8D;AAC9D,iCAAiC;AACjC,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAC/B,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC"}
package/manifest.json CHANGED
@@ -1,26 +1,22 @@
1
1
  {
2
2
  "manifest_version": "0.2",
3
- "id": "@shin1ohno/sage",
4
- "name": "sage - AI Task Manager",
3
+ "name": "sage",
4
+ "display_name": "sage - AI Task Manager",
5
+ "version": "0.3.0",
5
6
  "description": "AI Task Management Assistant for Claude. Analyze tasks, set priorities, manage reminders, and integrate with Apple Reminders, Notion, and Calendar.",
6
- "version": "0.2.4",
7
7
  "author": {
8
- "name": "shin1ohno"
8
+ "name": "shin1ohno",
9
+ "url": "https://github.com/shin1ohno"
9
10
  },
10
- "website": "https://github.com/shin1ohno/sage",
11
11
  "server": {
12
12
  "type": "node",
13
- "entry_point": "dist/index.js"
14
- },
15
- "compatibility": {
16
- "os": ["darwin"],
17
- "arch": ["x64", "arm64"],
18
- "min_claude": "1.0.0"
13
+ "entry_point": "dist/index.js",
14
+ "mcp_config": {
15
+ "command": "node",
16
+ "args": ["${__dirname}/dist/index.js"],
17
+ "env": {}
18
+ }
19
19
  },
20
- "permissions": [
21
- "filesystem.read",
22
- "filesystem.write"
23
- ],
24
20
  "tools": [
25
21
  {
26
22
  "name": "check_setup_status",
@@ -66,9 +62,5 @@
66
62
  "name": "update_task_status",
67
63
  "description": "Update the status of a task and optionally sync across sources."
68
64
  }
69
- ],
70
- "update": {
71
- "type": "github_release",
72
- "repo": "shin1ohno/sage"
73
- }
65
+ ]
74
66
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@shin1ohno/sage",
3
- "version": "0.2.4",
3
+ "version": "0.5.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": {